如何为此关闭悬停<li>?

  • 本文关键字:li 悬停 html css hover
  • 更新时间 :
  • 英文 :


我正在尝试关闭导航菜单中当前页面的悬停。

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:hoverli.current:hover更具体。钉住一个.nav就可以了。

.nav li.current:hover {
  background-color: inherit;
}

只是使活动/当前 li 背景颜色很重要

li.current {
    background-color: #424242 !important;
}

最新更新