我正在尝试关闭导航菜单中当前页面的悬停。
div.nav {
width: 100%;
padding: 6px;
height: 40px;
}
.nav li {
color: #FFFFFF;
display: inline;
list-style-type: none;
text-align: center;
text-transform: uppercase;
padding: 20px;
margin: 0px;
height: 40px;
}
li.current {
background-color: #424242
}
li.current:hover {
background-color: inherit;
}
.nav li:hover {
background-color: #737373;
<div class="nav">
<ul>
<li class="current">Home</li>
<li><a href="null">About</a>
</li>
<li><a href="null">Contact</a>
</li>
<li><a href="null">Gallery</a>
</li>
</ul>
</div>
这是jsfiddle:https://jsfiddle.net/swordams/jk6z5aqj/
我希望家里的li
保持黑暗,不要在悬停时改变。我尝试将悬停背景颜色设置为"继承",但这不起作用。
谢谢!
您可以使用 CSS :not() 伪类:
.nav li:hover:not(.current) {
background-color: #737373;
}
js小提琴示例
您可以使用
j08691的解决方案,但最终,css的问题在于.nav li:hover
比li.current:hover
更具体。钉住一个.nav
就可以了。
.nav li.current:hover {
background-color: inherit;
}
只是使活动/当前 li 背景颜色很重要
li.current {
background-color: #424242 !important;
}