css – 更改除了悬停的元素之外的所有元素的不透明度

前端之家收集整理的这篇文章主要介绍了css – 更改除了悬停的元素之外的所有元素的不透明度前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想知道是否有办法降低所有’li’的不透明度(悬停),除了我实际上正在徘徊的那个?类似于这张图片的东西:
  1. .main-navigation {
  2. margin: 0;
  3. padding: 20px 0px 25px;
  4. list-style: none;
  5. background-color: #ffffff;
  6. text-align: center;
  7. display:block;
  8. font-size:1.1em;
  9. }
  10. .main-navigation li.hvr a.lvl1:link,.main-navigation li.hvr a.lvl1:visited
  11. {
  12. display: block;
  13. padding: 5px 2px 5px 3px;
  14. color: #000;
  15. text-decoration: none;
  16. text-align:center;
  17. }
  18. .main-navigation li.hvr a.lvl1.active {
  19. background: #eeeeee;
  20. color:#000000;
  21. }
  22. .main-navigation li.hvr a.lvl1:hover
  23. {
  24. background-color: #E6E6E6;
  25. color:#666666;
  26. }
  27. .main-navigation li.hvr {
  28. float: left;
  29. position: relative;
  30. width:191px;
  31. margin:0;
  32. font-family: 'Open Sans',sans-serif;
  33. }
  34. .main-navigation li.hvr:hover {
  35. background-color: #E6E6E6;
  36. }
  37. .main-navigation ul {
  38. display: none;
  39. position: absolute;
  40. top:100%;
  41. left: 0;
  42. z-index: 9999;
  43. background-color: #777;
  44. margin: 0;
  45. padding: 0;
  46. min-width:100%;
  47. text-align:left;
  48. }
  49. .main-navigation li.hvr:hover ul { display: block; }
  50. .main-navigation li.hvr ul li {
  51. margin: 0;
  52. padding: 0;
  53. list-style: none;
  54. }
  55. .main-navigation li.hvr ul li a:link,.main-navigation li.hvr ul li a:visited
  56. {
  57. display: block;
  58. padding: 5px 20px;
  59. color: #fff;
  60. text-align: center;
  61. }
  62. .main-navigation li.hvr ul li a:hover,.main-navigation li.hvr ul li a:active
  63. {
  64. display: block;
  65. padding: 5px 20px;
  66. color: #fff;
  67. background-color:#cccccc;
  68. }
  1. <ul class="main-navigation clearfix">
  2. <li class="hvr ">
  3. <a class="lvl1 active" href="">Title 1</a>
  4. <ul>
  5. <li><a href="">Sub title 1</a></li>
  6. <li><a href="">Sub title 2</a></li>
  7. <li><a href="">Sub title 3</a></li>
  8. </ul>
  9. </li>
  10. <li class="hvr ">
  11. <a class="lvl1" href="">Title 2</a>
  12. <ul>
  13. <li><a href="">Sub title 1</a></li>
  14. <li><a href="">Sub title 2</a></li>
  15. <li><a href="">Sub title 3</a></li>
  16. </ul>
  17. </li>
  18. <li class="hvr ">
  19. <a class="lvl1" href="">Title 3</a>
  20. <ul>
  21. <li><a href="">Sub title 1</a></li>
  22. <li><a href="">Sub title 2</a></li>
  23. <li><a href="">Sub title 3</a></li>
  24. </ul>
  25. </li>
  26. <li class="hvr ">
  27. <a class="lvl1" href="">Title 4</a>
  28. <ul>
  29. <li><a href="">Sub title 1</a></li>
  30. <li><a href="">Sub title 2</a></li>
  31. <li><a href="">Sub title 3</a></li>
  32. </ul>
  33. </li>
  34. </ul>

解决方法

使用CSS降低所有剩余物品的不透明度.

关键是要降低所有< li>的不透明度.父元素(ul)悬停时的元素,并将悬停的li元素上的不透明度重置为1,如下所示:

  1. ul:hover li { opacity:0.5; }
  2. ul li:hover { opacity:1; }

这是一个简单的演示:

  1. li{
  2. float:left;
  3. width:33.33%;
  4. line-height:50px;
  5. background:grey;
  6. list-style-type:none;
  7. }
  8. ul:hover li{
  9. opacity:0.5;
  10. }
  11. ul li:hover{
  12. opacity:1;
  13. }
  1. <ul>
  2. <li>item</li>
  3. <li>item</li>
  4. <li>item</li>
  5. </ul>

猜你在找的CSS相关文章