不能将<a>元素与列表分开设置

Jas*_*enX 1 html css css-selectors css-specificity

我有一个ul:

<ul class="myListClass">
    <li><a class="theSelected" href="#">one</a></li>
    <li><a href="#">two</a></li>
    <li><a href="#">three</a></li>
</ul>
Run Code Online (Sandbox Code Playgroud)

文本的颜色通过样式应用:

.myListClass li a
{
    color: red;
}
Run Code Online (Sandbox Code Playgroud)

我希望这个类theSelected有不同的颜色,但这对样式没有影响:

.theSelected 
{
   color: white;
}
Run Code Online (Sandbox Code Playgroud)

知道为什么吗?

Jos*_*ier 5

这是因为选择.myListClass li a更具体的.theSelected.

一个办法是增加特异性.theSelected喜欢的东西:

这里的例子

.myListClass li a.theSelected {
    color: white;
}
Run Code Online (Sandbox Code Playgroud)

您也可以降低前一个选择器的特异性.


对于它的价值,这里是每个选择器的特异性计算:

  • .myListClass li a - 12
  • .myListClass li a.theSelected - 22
  • .theSelected - 10

这是一个自动计算这些值的有用链接.