【发布时间】:2012-04-08 15:41:18
【问题描述】:
根据 CSS 原则,当我们想要实现样式的可重用性时,我们应该使用 class 属性,当我们知道整个 DOM 结构中有一个唯一元素时,我们应该对该元素使用 id 属性,然后指定一个风格。
但是在这个 Web 应用时代,DOM 结构可能过于复杂,存在重复id 的可能性。最好的例子是#title。它的名称可以出现在文档的任何位置。现在最好的部分是如果我在定义样式时使用#title 或.title(假设它们出现了不止一次并且具有不同的父级),CSS 生成的输出是相同的。这个 jsfiddle 将帮助你理解我的意思 http://jsfiddle.net/dewbot/LGAQD/
我的印象是,就像 JS Renderer 一样,CSS Parser 在发现第一个 #title 时会停止迭代,但它不会发生,它会一直迭代直到它达到 EOF,就像 class 一样。所以这就产生了一个问题,为什么我们应该使用多个class而不是id?
【问题讨论】:
标签: html css dom css-selectors dom-traversal