【发布时间】:2014-03-02 22:17:13
【问题描述】:
<div class="parent">
<div class="child">child1</div>
<div class="child">child2</div>
<div class="child">child3</div>
<div class="child">child4</div>
<div class="special">specialChild</div>
</div>
当悬停在.child 元素之一上时,我想给.parent 的所有子元素提供另一种背景颜色。将鼠标悬停在 .special 元素上时不应发生这种情况。
到目前为止我尝试了什么:
.child {
background-color: rgb(255,0,0);
}
.parent:not(.special):hover .child {
background-color: rgb(0, 0, 255);
}
但是当悬停在 .special 元素上时,背景颜色会发生变化(忽略 not() 选择器)
我错过了什么?
JSFIDDLE:Link
编辑:jQuery 可以用作解决方案。
【问题讨论】:
-
很确定你不能用 CSS 做到这一点。 JQuery 会是更好的选择。
-
您错过了这样一个事实,即使用 CSS 将鼠标悬停在
.special元素上时,您无法控制.parent的 css 规则。所以就像@Paulie_D 提到的那样,jQuery 会更好