例如,假设我有这个HTML:
<ul id="nav">
<li>one</li>
<li id="my_item">two</li>
<li>three</li>
<li>four</li>
</ul>
然后是CSS:
#nav li {
margin-bottom:10px;
}
#nav #my_item {
margin-bottom:30px;
}
为什么我不能只使用#my_item
作为最后一个选择器?
答案 0 :(得分:5)
因为CSS使用一个名为specificity的概念来确定哪些规则适用于哪些元素。
在检查哪个规则获得优先权时,请在此处列出列表并停在适用的第一个上:
答案 1 :(得分:0)
由于specificity:第一个规则的特异性为101,而#my_item
的特异性仅为100.使用!important
关键字或(如您所做)增加您想要使用的选择器的特异性。如果两个规则具有相同的特异性,则“最新”规则将获胜。
答案 2 :(得分:0)
Scince你问:“为什么我不能只使用#my_item用于最后一个选择器?”你得到了专家的答案(关于特异性),但你也可以按照以下方式做到这一点
#my_item {
margin-bottom:30px !important;
}