Html 触发器悬停在多个元素上 #红色,#蓝色{ 位置:绝对位置; 宽度:100px; 高度:100px; } div:悬停{ 背景色:黄色!重要; } #红色的{ 背景色:红色; } #蓝色的{ 背景颜色:蓝色; 顶部:50px; 左:50px; }

Html 触发器悬停在多个元素上 #红色,#蓝色{ 位置:绝对位置; 宽度:100px; 高度:100px; } div:悬停{ 背景色:黄色!重要; } #红色的{ 背景色:红色; } #蓝色的{ 背景颜色:蓝色; 顶部:50px; 左:50px; },html,css,hover,overlay,Html,Css,Hover,Overlay,是否可以在不使用javascript的情况下在游标下的多个元素上触发悬停事件?如何使这两个方块都变为黄色?因为您希望能够选择前面的元素,所以不能单独使用CSS。CSS级联在树上,而不是树上。不过,你可以用JS来实现这一点 使用CSS: $('div').hover(function() { $('div').addClass('yellow'); }); $('div').mouseleave(function() { $('div').removeClass('yellow

是否可以在不使用javascript的情况下在游标下的多个元素上触发悬停事件?如何使这两个方块都变为黄色?

因为您希望能够选择前面的元素,所以不能单独使用CSS。CSS级联在树上,而不是树上。不过,你可以用JS来实现这一点

使用CSS:

$('div').hover(function() {
    $('div').addClass('yellow');
});

$('div').mouseleave(function() {
    $('div').removeClass('yellow');
});

因为您希望能够选择前面的元素,所以不能仅使用CSS来实现这一点。CSS级联在树上,而不是树上。不过,你可以用JS来实现这一点

使用CSS:

$('div').hover(function() {
    $('div').addClass('yellow');
});

$('div').mouseleave(function() {
    $('div').removeClass('yellow');
});
你可以像我一样

div:hover, 
.yellow {
    background-color: yellow !important;
}

你可以像我一样

div:hover, 
.yellow {
    background-color: yellow !important;
}

嗯,所有这些答案都太棒了,所以我把我的答案扔进去只是为了好玩

把它们包在毯子里。悬停在毯子上,两个都变为黄色

HTML 嗯,所有这些答案都太棒了,所以我把我的答案扔进去只是为了好玩

把它们包在毯子里。悬停在毯子上,两个都变为黄色

HTML
哇,我的答案是唯一有效的,我投了反对票。我说的是实话:CSS不能选择前面的元素。OP问如果没有JS是否可能:答案是否定的。哇,我的答案是唯一有效的,我投了反对票。我说的是实话:CSS不能选择前面的元素。OP问如果没有JS是否可能:答案是否定的。我只是回答了类似的问题(我想你打了我一顿),但我意识到
#blue:hover+#red
不能与给定的标记一起工作,因为蓝色不在红色之前。不幸的是,没有纯粹的css修复程序。@Faust你是对的。我也错过了,谢谢你指出我的错误。我只是回答了类似的问题(我想你比我差一点),但我意识到
#blue:hover+#red
对给定的标记不起作用,因为蓝色不在红色之前。不幸的是,没有纯粹的css修复程序。@Faust你是对的。我也错过了,谢谢你指出我的错误。
#red:hover + #blue // triggers hover for another element
<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;
}