我有一个CSS问题。我想在悬停在另一个元素上时更改元素。它可以工作,但不完美。我的代码:
<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
在被悬停元素之前时,它就不能起作用。例如:当“联系人”是 .active
时,它可以工作,但是当主页是 .active
时,它就不能工作。如何让它起作用呢?
li:not(.active) > a:hover ~ .active
只会查找具有活动类的悬停锚元素的同级元素,并且无法查找具有活动类的父级元素的同级元素。 - Terrya:hover ~ .active
无法工作,因为活动元素和链接不是兄弟节点。 - Fabrizio Calderan~
运算符。请参考我的回答。 - Jose Rui Santos