#red, #blue {
position: absolute;
width: 100px;
height: 100px;
}
div:hover {
background-color: yellow !important;
}
#red {
background-color: red;
}
#blue {
background-color: blue;
top: 50px;
left: 50px;
}
<div id="red"></div>
<div id="blue"></div>
是否可以在不使用javascript的情况下在光标下的多个元素上触发悬停事件?如何在this simple example中将两个方块都变成黄色?
答案 0 :(得分:4)
所有这些答案都只是 SWELL 所以我只是因为踢得很傻笑而把我扔掉了。
将它们包裹在毯子里。将毯子悬停在毯子上,你将两者都改为黄色。
<div id="wrap">
<div id="red"></div>
<div id="blue"></div>
</div>
#red, #blue {
position: absolute;
width: 100px;
height: 100px;
}
#red {
background-color: red;
}
#blue {
background-color: blue;
top: 50px;
left: 50px;
}
#wrap:hover > div {
background-color: yellow !important;
}
答案 1 :(得分:1)
你可以这样做
#red:hover {
background-color: yellow !important;
}
#red:hover + #blue {
background-color: yellow !important;
}
#blue:hover + #red {
background-color: yellow !important;
}
#red:hover + #blue // triggers hover for another element
答案 2 :(得分:-1)
因为您希望能够选择前面的元素,所以不能单独使用CSS。 CSS在树上向下,而不是在树上。你可以用JS做到这一点。
$('div').hover(function() {
$('div').addClass('yellow');
});
$('div').mouseleave(function() {
$('div').removeClass('yellow');
});
使用CSS:
div:hover,
.yellow {
background-color: yellow !important;
}