[译]CSS没有类

原文:http://tantek.com/2012/353/b1/why-html-classes-css-class-selectors


如果在网上搜索"CSS类",你会发现有很多原本出于好意的参考和教程中都使用了这个词,根据这个词出现的上下文不同,作者对该词的使用可以分为两种情况,较好的情况可以说是作者的表述不准确,最差的情况就是这种表述完全是错误的,是会误导读者的.因为根本就没有"CSS类"这种东西.作者这里想表达的可能是HTML类,CSS类选择器,甚至是CSS伪类,但绝对不会是"CSS类".

术语汇总表

如果你想知道应该怎么称呼那些出现在CSS和HTML中的每种"类",这里有一个表格,包含了多种情况下的例子以及对应术语的叫法.

例子术语叫法
class="h-card vcard" class属性,HTML class属性
h-card vcard 类,类名,HTML类(名),class属性值
h-card 类,类名,HTML类(名)
.h-card 类选择器,CSS类选择器
:active 伪类,伪类选择器,CSS伪类(选择器) - 除了:first-letter, :first-line, :before, :after
::first-letter 伪元素,伪元素选择器,CSS伪元素(选择器)

为什么说"CSS类"是不准确的或者是不正确的

CSS中,根本没有"类"这个东西.上面提到的较好的误用情况就是:说"CSS类"的人是把这个词当成了"CSS类选择器"的简称.但从我在一些文章或一些对话中看到和听到的来看,通常不是这样的.他们都是把类名,比如上面表中给出的"h-card"当成了CSS中的"类"本身.

"h-card"和"vcard"两者指的都仅仅是"类"或"类名"(同时也是h-card / hCard 微格式中的根类名).如果你想更精确的表述你想表达的这个web技术名词,你可以给它们加上前缀"HTML",也就成了"HTML类"和"HTML类名".

早在2009年,Roger Johansson就写过一篇文章It’s "class", not "CSS class"指出了这个问题.

为什么说用"CSS类"这个词是不好的

这并非是一种迂腐的做法.而是,使用短语"CSS类"或者"CSS类名"不仅仅是你自己表述不准确或者不正确的问题,你同时还鼓励了别人犯同样的错误.

为什么说用"HTML类"是好的

在交流,讨论,尤其是在讲座中,我们最好都统一把它称做"HTML类",因为这个叫法能更精确的指出它们对网页结构和语义的影响.在这个结构和语义之上,我们才能够写出任意的CSS规则来实现我们想要的设计表现(比起底层的语言标记/HTML类名,CSS规则的更新要频繁许多许多).

posted @ 2012-12-29 10:43  紫云飞  阅读(851)  评论(4编辑  收藏  举报