今天遇到问题后,我有一个关于CSS类优先级的问题。情况如下:
我有一个无序的列表,它有一个与之关联的类。 LI标签也有一些样式定义。我想在点击之后更改LIs的样式(通过添加的“所选”类),但是添加的类的样式永远不会被应用。这是正常行为还是应该这个代码工作?
CSS:
.dynamicList { list-style: none; } .dynamicList li { display: block; width: 400px; height: 55px; padding: 10px 10px 10px 10px; border: 1px solid #000; background-color: #ff0000; } .selectedItem { background-color: #0000ff; }
HTML:
<ul class="dynamicList"> <li>First Item</li> <li class="selectedItem">Second (Selected) Item</li> </ul>
“选择”列表项目的背景颜色不变。如果我不将样式应用于LI元素,但是创建另一个类并将其应用于所有列表项,则它也是如此。
<li class="listitem selectedItem">xxxx</li>
解决方法
这听起来像是一个
CSS specificity的问题。尝试将.selectedItem规则集更改为:
.dynamicList li.selectedItem { background-color: #0000ff; }