我想知道是否有办法降低所有’li’的不透明度(悬停),除了我实际上正在徘徊的那个?类似于这张图片的东西:
.main-navigation { margin: 0; padding: 20px 0px 25px; list-style: none; background-color: #ffffff; text-align: center; display:block; font-size:1.1em; } .main-navigation li.hvr a.lvl1:link,.main-navigation li.hvr a.lvl1:visited { display: block; padding: 5px 2px 5px 3px; color: #000; text-decoration: none; text-align:center; } .main-navigation li.hvr a.lvl1.active { background: #eeeeee; color:#000000; } .main-navigation li.hvr a.lvl1:hover { background-color: #E6E6E6; color:#666666; } .main-navigation li.hvr { float: left; position: relative; width:191px; margin:0; font-family: 'Open Sans',sans-serif; } .main-navigation li.hvr:hover { background-color: #E6E6E6; } .main-navigation ul { display: none; position: absolute; top:100%; left: 0; z-index: 9999; background-color: #777; margin: 0; padding: 0; min-width:100%; text-align:left; } .main-navigation li.hvr:hover ul { display: block; } .main-navigation li.hvr ul li { margin: 0; padding: 0; list-style: none; } .main-navigation li.hvr ul li a:link,.main-navigation li.hvr ul li a:visited { display: block; padding: 5px 20px; color: #fff; text-align: center; } .main-navigation li.hvr ul li a:hover,.main-navigation li.hvr ul li a:active { display: block; padding: 5px 20px; color: #fff; background-color:#cccccc; }
<ul class="main-navigation clearfix"> <li class="hvr "> <a class="lvl1 active" href="">Title 1</a> <ul> <li><a href="">Sub title 1</a></li> <li><a href="">Sub title 2</a></li> <li><a href="">Sub title 3</a></li> </ul> </li> <li class="hvr "> <a class="lvl1" href="">Title 2</a> <ul> <li><a href="">Sub title 1</a></li> <li><a href="">Sub title 2</a></li> <li><a href="">Sub title 3</a></li> </ul> </li> <li class="hvr "> <a class="lvl1" href="">Title 3</a> <ul> <li><a href="">Sub title 1</a></li> <li><a href="">Sub title 2</a></li> <li><a href="">Sub title 3</a></li> </ul> </li> <li class="hvr "> <a class="lvl1" href="">Title 4</a> <ul> <li><a href="">Sub title 1</a></li> <li><a href="">Sub title 2</a></li> <li><a href="">Sub title 3</a></li> </ul> </li> </ul>
解决方法
使用CSS降低所有剩余物品的不透明度.
关键是要降低所有< li>的不透明度.父元素(ul)悬停时的元素,并将悬停的li元素上的不透明度重置为1,如下所示:
ul:hover li { opacity:0.5; } ul li:hover { opacity:1; }
这是一个简单的演示:
li{ float:left; width:33.33%; line-height:50px; background:grey; list-style-type:none; } ul:hover li{ opacity:0.5; } ul li:hover{ opacity:1; }
<ul> <li>item</li> <li>item</li> <li>item</li> </ul>