为什么有这么多人使用类来实现永远不会有多个实例的元素?例如所有典型的布局元素,页眉,页脚,侧边栏等。
除了限制ID必须唯一地标识页面上的元素之外,它们不是以各种方式比类更好,例如更快的渲染,JavaScript,更高的特异性等?我觉得我必须遗漏一些东西,但我无法理解。
答案 0 :(得分:2)
因为类表示元素的类型,而id应表示单个元素, 因此,如果您在一个以上的位置使用一个元素表示一种列标题或水平规则,或者可以想象在多个页面上使用该元素,请使用一个类,因为它们不是同一个元素。
它们渲染速度不快或更好,它只是一个更好的范例。 DRY。
答案 1 :(得分:2)
更多地依赖于调用的复杂性,然后依赖于id与选择器,请参阅google docs。
当浏览器解析HTML时,它会构造一个内部文档树 表示要显示的所有元素。然后匹配 根据各种样式表中指定的样式的元素 标准CSS级联,继承和排序规则。在Mozilla中 对于每个元素,实现(以及可能还有其他的) CSS引擎搜索样式规则以查找匹配项。引擎 从最右边开始,从右到左评估每条规则 选择器(称为“键”)并移动每个选择器直到它 找到匹配项或丢弃规则。 (“选择器”是文档 规则应适用的元素。)
所以它不需要搜索DOM来应用样式,反过来实际发生。在构建DOM时,正在搜索样式表以查找匹配项。如果上述情况属实,则一个类的渲染速度与id相同。