CSS Selector <tag name =“”>#<id>模式 - 任何Siginifance?</id> </tag>

时间:2012-07-23 22:43:48

标签: css

当处理一个“不太好”的代码库的Web项目时,我常常在JS / CSS选择器中看到像

那样的
div#myID

这似乎不对......

http://jsfiddle.net/bobber205/yeJRQ/

上面的例子。这意味着,如果由于某种原因,你改变了id所属的标签,你可能会有很多css要改变....

人们这样做是怎么回事?它更快吗?速度提升值得吗?好奇。 :P

2 个答案:

答案 0 :(得分:5)

这是真的糟糕的做法。根据定义,ID选择器是唯一的。包含标记或类限定符只会添加需要不必要地评估的冗余信息。所以它根本没有速度提升 - 这是一个无用的减速。

答案 1 :(得分:4)

可能有一个用例。 例如,如果你有内联元素span#myID或者块元素div#myID(当然是在不同的页面中),并且想要应用不同的样式。

但正如@Zoltan Toth所注意到的那样,通常会出现“将标签名称放在以防万一”的行为,这些人对CSS选择器基础知识不够熟悉。

在99%的情况下,如果您选择带ID的东西,您应该只使用ID。它是独一无二的。