(译者注:你是否还在用”layout-985″”redBg”的类名?你是否很纠结定义什么类名? Chris Coyier提出了”描述而非定义”。他举例了一些常用的类名,是否语义化,给出了自己的判断和理由。但是在某些场景,如大公司,考虑到简洁和方便维护,语义化要做一些牺牲。)
语义总是个火热的话题。有些人时时刻刻在追求语义化,有些人教条地执着于它,而有一些人不知道这究竟是什么。
我认为语义像标签、类、ID、属性(描述而不是定义内容)一样和HTML密切相关。我们用典型的例子来描述。
糟糕的语义:<;/article>;如果我们有个投票,让大家选哪个更加语义化,我打赌,一定是第一个赢了。它实践了这个理念:描述而非定义。第二个的类名定义了蓝色背景等样式。让我们假设Theoretical Redesign Future™不是理论上的而是实际的。设计Movie Reviews的样式变成了绿色背景。那么类名blueBg显得不适宜了。然而movie-review是完全没有问题,你只需要对它的样式进行属性或属性值的修改就行。
但是这也并不代表第一个总是对的,要看实际情况。假设这个蓝色应用在网站的很多地方,可能是页脚或者侧栏的样式,那么你会这样写选择器:
}这样CSS文件会比较有组织(不同的内容部分对应不同的样式区块),但是前提是重复声明的代价。在CSS Summit上,Nicole Sullivan的一个演讲中,她提出大公司声明同样的颜色有上千次,但是没人用blueBg之类的类名。或者,你可以使用mainBrandColor或者secondaryFont来定义。我理解的是,这就是OOCSS。牺牲了语义化,为了更大的好处(代码更加简洁)。
希望看听到你们的观点。对于语义或不语义,是否重要,你们一定有很多的不同例子和不同的看法。
原文:What Makes For a Semantic Class Name?作者是Chris Coyier
新闻热点
疑难解答