CSS更改列表项目背景颜色与类

前端之家收集整理的这篇文章主要介绍了CSS更改列表项目背景颜色与类前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我尝试更改一个列表项的背景颜色,而另一个列表项的另一个背景颜色.

这是我有的:

  1. <style type="text/css">
  2.  
  3. ul.nav li
  4. {
  5. display:inline;
  6. padding:1em;
  7. margin:1em;
  8. background-color:blue;
  9. }
  10.  
  11.  
  12. .selected
  13. {
  14. background-color:red;
  15. }
  16.  
  17. </style>
  18.  
  19.  
  20. <ul class="nav">
  21. <li>Category 1</li>
  22. <li>Category 2</li>
  23. <li class="selected">Category 3</li>
  24. <li>Category 4</li>
  25. </ul>

所产生的是具有蓝色背景的所有列表项(从“nav”类),就好像没有“selected”类.但是,当我从“nav”类中取出背景颜色时,我将获得带有“selected”类的列表项的红色背景.

我想为页面上的其他项目(即其他列表项,div等)使用“所选”类.

我该如何解决这个问题?

先谢谢你.

解决方法

这是一个 selector specificity的问题(选择器.selected比ul.nav li更具体)

解决,在最初的规则中使用与原文一样多的特异性:

  1. ul.nav li {
  2. background-color:blue;
  3. }
  4. ul.nav li.selected {
  5. background-color:red;
  6. }

你也可以考虑修改ul,除非有其他的.navs.所以:

  1. .nav li {
  2. background-color:blue;
  3. }
  4. .nav li.selected {
  5. background-color:red;
  6. }

这更干净,打字少,位少.

猜你在找的CSS相关文章