HTML:
<div id="header">
<div id="one">
<ul class="menu">
<li>one text</li>
</ul>
</div>
<div id="two">
<ul class="menu">
<li>one text</li>
</ul>
</div>
</div>
这个 css 不起作用
#header ul.menu{
background-color: red;
text-align: left;
}
#two ul{ /*this line*/
background-color: blue;
text-align: right;
}
这个 CSS 工作
#header ul.menu{
background-color: red;
text-align: left;
}
#two ul.menu{ /*this line*/
background-color: blue;
text-align: right;
}
为什么会这样?
更新
根据关于 css 特异性#header ul.menu
的答案比#two ul
. 我仔细了解了 ul.menu 比 ul 更具体。
ul.menu{...}
#two ul{...} /* works exactly, yes #two is more specific than ul.menu */
好的,换个顺序
订单 1:
#header ul.menu{
background-color: red;
text-align: left;
}
#two ul.menu{ /* this selector works as per the specificity */
background-color: blue;
text-align: right;
}
为什么#two ul.menu
比 更具体#header ul.menu
?(此演示不需要演示,因为第一个演示显示了这一点)
订单 2:
#two ul.menu{
background-color: blue;
text-align: right;
}
#header ul.menu{ /* this selector works as per the specificity */
background-color: red;
text-align: left;
}
为什么#header ul.menu
比 更具体#two ul.menu
?演示