您的XHTML / CSS标记的语义是多少?

时间:2008-11-15 21:41:15

标签: css xhtml

我觉得我很擅长在我的网页上使用语义标记,但我仍然有一些像这样的类:

/**** Aligns ****/
.right_align  { text-align: right; }
.left_align   { text-align: left; }
.center_align { text-align: center; }

从技术上讲,这是禁忌。但是当你只是想在表格中放置一些文本时,我对语义标记有多疯狂?

6 个答案:

答案 0 :(得分:13)

为什么要对齐文本?

问题的答案是您需要为选择器设置的ID或类的名称。你想要正确对齐它,因为这是一个价格吗?

table .price {
  text-align: right
}

只要问问自己为什么你想要应用某种风格,一切都会变得清晰。

我可能过度了,但我的上一个工作项目非常接近100%语义 - 我需要的任何不是语义的东西(比如说,我不能没有布局要求的填充div),我使用jQuery动态添加

答案 1 :(得分:2)

如果要在表格单元格和对齐之间进行紧密耦合,则可以直接在标记上分配属性style="text-align:right"。如果不使用它进行抽象级别,没有理由在类中使用额外的间接级别。

答案 2 :(得分:2)

我试着考虑为什么我希望在表格中对齐一列。例如,如果列包含货币金额,那么我将使用名为currency的样式而不是right_align。

答案 3 :(得分:1)

语义标记是一个令人钦佩的目标,但在现实世界中,您有时必须做出妥协。在某些情况下,做某事的唯一合理方法是打破语义,然后抛出right_align

编辑:人们似乎误解了我的观点。您应该尽可能使用语义标记。但是,在某些情况下,它实际上只是一种风格选择,并且您可以使用任何固有的数据来描述或分类它。对于大部分表格数据,这通常是正确的,特别是如果它是动态生成的。

我遇到过客户希望能够动态控制数据网格中哪些列出现的情况。没有办法提前知道他们将选择显示哪种类型的数据。如果他们想要一种中心或右对齐动态生成列的方法,最好让中心和右对齐类可供他们使用,而不是让他们在任何地方都粘贴style个属性。

答案 4 :(得分:0)

100%的语义标记是一个愚蠢的目标。你的平面设计师会说,“让我们正确对齐”,原因将是“因为它看起来很好”。你应该做什么,为div添加一类“lookgoodthatway”?恰到好处地对齐并继续你的生活! :)

答案 5 :(得分:-3)

根据经验,出于可用性原因,您应该尽可能多地保留令牌。

我使用以下符号

matcher,¶
matcher¶
{¶
··attribute:·property;¶
}¶

你为什么这么问?这解决了许多碰撞问题,因为它减少了2个不同位置同时发生的不相关变化(导致碰撞),当碰撞发生时,更容易看看是什么导致了它并选择了正确的解决方案

这是因为SCM的DIFF是面向行的,如果你的所有内容都在1行,你可以得到2个选择,软管一套,或软管另一个。

此外,我发现的特定样式(如果遵守)可以很容易地编写检测CSS错误的lint检查代码。

对于insance,发现错别字:

matcher 
matcher, 
{
    attribute property 
  attribute
}

在这种情况下,只检查空格和分隔符一致性的代码也会检测编码错误!