[英]difference between css/javascript selectors
div#name和#name有什么区别? 还是使用class或id定位某个元素有区别吗? 谢谢
例如,如果您有多个适用的规则,则第一个更为具体,在本示例中,第一种情况为“获胜”,因为它更为具体。
div#kuku {color:red}
#kuku {color:blue}
一个很好的阅读来源: http : //www.smashingmagazine.com/2007/07/27/css-specificity-things-you-should-know/
您对在文档中一次出现的元素使用ID。 您为页面中的多个元素使用类。
div#name和#name有什么区别?
div#name
仅指代ID为“ name”的 div
而#name表示ID为“ name”的任何元素
类选择器可以应用于许多标签,而ID与单个标签唯一关联。 因此,我想说一个类选择器将返回多个元素,而一个id选择器将返回一个元素。
div#name
将选择器限制为仅具有ID的DIV。
#name
苹果到具有该ID的任何元素。
正如@naivists指出的那样,如果两个规则之间并发,则更明确的一个(div#name)将获胜。
ID在页面上是唯一的,并且具有更多的特异性。 换句话说,如果您有
<div id="foo" class="bar">
然后
#foo{
background: green;
}
div#foo{
background: red;
}
.bar{
background: purple;
}
将为红色。 http://www.stuffandnonsense.co.uk/archives/css_specificity_wars.html使用Darth Vader和《星球大战 》对此有很好的“ 特异性战争”解释。
图片在这里: http : //www.stuffandnonsense.co.uk/archives/images/specificitywars-05v2.jpg
简而言之, ID #胜过任何数量的类 (。),后者又胜过任何数量的标签选择器。 例如:
# *beats* . . . . *beats* body div div ol li p
div#name将匹配
<div id="name">foo</div>
但不是
<span id="name">foo</span>
#name将两者都匹配,但是在同一文档中不能同时使用两者,因为ID在文档中是唯一的,并且类可以是多个。
至于定位,通常会有许多具有给定类名的元素,但是id特定于单个元素。 通常,您不希望同时放置多个元素,除非仅用于1个轴。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.