html - CSS On hover 改变另一个元素

标签 html css twitter-bootstrap

我的 CSS 有问题。当我将鼠标悬停在另一个元素上时,我想更改元素。它有效,但并不完美。我的代码: HTML

<ul class="nav navbar-nav navbar-right">
    <li class="active"><a href="#">Home</a></li>
    <li><a href="#">About</a></li>
    <li><a href="#">Portfolio</a></li>
    <li><a href="#">Services</a></li>
    <li><a href="#">Contact</a></li>
</ul>

CSS:

.navbar-inverse .navbar-nav > .active > a {
    color:#fff;
}

.navbar-inverse .navbar-nav > li > a:hover {
    color:#fff;
}

.navbar-inverse .navbar-nav > li:not(.active):hover ~ .active > a {
    color:#D4D4D4;
}

正如我所说,它可以工作,但如果在悬停元素之前 .active 则它不起作用。示例:“Contact”为.active 时有效,但Home 为.active 时无效。如何让它发挥作用?

最佳答案

这是一个纯 CSS 的解决方案。

.navbar-inverse {
    background-color: black;
}

.navbar-inverse .navbar-nav > .active > a,
.navbar-inverse .navbar-nav > li > a:hover {
    color:#fff;
}

.navbar-inverse .navbar-nav:hover > li.active > a {
    color:#D4D4D4;
}
<div class="navbar-inverse">
  <ul class="nav navbar-nav navbar-right">
    <li><a href="#">Home</a></li>
    <li><a href="#">About</a></li>
    <li class="active"><a href="#">Portfolio</a></li>
    <li><a href="#">Services</a></li>
    <li><a href="#">Contact</a></li>
  </ul>
</div>

关于html - CSS On hover 改变另一个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33689863/

相关文章:

javascript - Bootstrap 4 导航栏切换按钮无法正常工作

php - 有条件地加载css文件

javascript - 向 Dropzone.js 中的每个文件添加表单字段

html - 控制旋转加载图标的大小

css - https ://angular-ui. github.io/bootstrap/#/pagination 类 ="pagination pagination-lg"在 bootstrap 4 中不工作

cordova - Bootstrap 或 JQuery 移动设备

html - 如何使屏幕截图图像易于访问?

html - Wordpress 文字环绕图像

javascript - Bootstrap 导航栏宽度问题

jquery - IE 和 Chrome 中的 Twitter Typeahead 和 bootstrap-tagsinput 样式不正确