为什么我使用类而不是ID读取99%的CSS布局代码?

时间:2011-12-13 15:51:01

标签: css

为什么有这么多人使用类来实现永远不会有多个实例的元素?例如所有典型的布局元素,页眉,页脚,侧边栏等。

除了限制ID必须唯一地标识页面上的元素之外,它们不是以各种方式比类更好,例如更快的渲染,JavaScript,更高的特异性等?我觉得我必须遗漏一些东西,但我无法理解。

2 个答案:

答案 0 :(得分:2)

因为类表示元素的类型,而id应表示单个元素, 因此,如果您在一个以上的位置使用一个元素表示一种列标题或水平规则,或者可以想象在多个页面上使用该元素,请使用一个类,因为它们不是同一个元素。

它们渲染速度不快或更好,它只是一个更好的范例。 DRY。

答案 1 :(得分:2)

更多地依赖于调用的复杂性,然后依赖于id与选择器,请参阅google docs

  

当浏览器解析HTML时,它会构造一个内部文档树   表示要显示的所有元素。然后匹配   根据各种样式表中指定的样式的元素   标准CSS级联,继承和排序规则。在Mozilla中   对于每个元素,实现(以及可能还有其他的)   CSS引擎搜索样式规则以查找匹配项。引擎   从最右边开始,从右到左评估每条规则   选择器(称为“键”)并移动每个选择器直到它   找到匹配项或丢弃规则。 (“选择器”是文档   规则应适用的元素。)

所以它不需要搜索DOM来应用样式,反过来实际发生。在构建DOM时,正在搜索样式表以查找匹配项。如果上述情况属实,则一个类的渲染速度与id相同。