【发布时间】:2011-05-04 14:12:08
【问题描述】:
我想知道div.class 和.class 作为CSS 选择器是否有任何区别,如果只有一个标签(DIV)具有该属性。 ID 也一样:div#ID 和 #ID。
知道有什么区别吗?对我来说,我在这些情况下使用类或 ID;但只是因为它打字更快。
【问题讨论】:
标签: html css css-selectors
我想知道div.class 和.class 作为CSS 选择器是否有任何区别,如果只有一个标签(DIV)具有该属性。 ID 也一样:div#ID 和 #ID。
知道有什么区别吗?对我来说,我在这些情况下使用类或 ID;但只是因为它打字更快。
【问题讨论】:
标签: html css css-selectors
在特异性上只有非常微小的差异。
p#id is (0,1,0,1)
和
#id is (0,1,0,0)
换句话说,与 ID 相比,标签本身并没有太多的特异性,根据我的经验,几乎不需要依靠这种微小的特异性来推翻事物。
更重要的是,NOT 标记限定选择器对于浏览器的渲染效率更高。
通常,一旦大部分 CSS 已经完成,那些较长的选择器就会派上用场。有时你想在这里和那里调整一些小东西——比如说——区分p.error和div.error。因此,您无需添加另一个类(因此必须接触 HTML),而是只需将元素名称添加到您的选择器,以获得更细粒度的控制。
【讨论】:
div.foo 的特异性为 11,而 .foo 的特异性为 10。【讨论】:
如您所做的那样,只使用一个类或 id,这意味着如果将 HTML 标记更改为不同的标记,您的 CSS 仍将适用。
大多数时候,这可能正是您想要的——类允许您在 HTML 之上添加自定义的含义层。
一般来说,您的选择器应该是表达您的意思所需的最低要求。
【讨论】:
不,如果您只有特定类或 ID 的 DIV 标记,则没有区别。
【讨论】: