很好的时间。我有几个标签与正确的类,我想应用的风格,我想其余的正确的类时,我悬停在至少一个这些div。(记住,我不能改变html文件,只是css文件。)这里看到的图片。
body {
margin: 0;
}
#container {
position: relative;
background-color: #d5d8dc;
margin-top: 100px;
margin-left: 100px;
width: 400px;
height: 400px;
}
.right {
background-color: #2ecc71;
position: absolute;
width: 320px;
height: 40px;
}
.right:nth-child(1) {
left: 20%;
}
.right:nth-child(2) {
transform: rotate(90deg);
right: -140px;
top: 140px;
}
.right:nth-child(3) {
left: 20%;
bottom: 20%;
}
.right:nth-child(4) {
transform: rotate(90deg);
right: +140px;
top: 140px;
z-index: 2;
}
.left {
background-color: #e74c3c;
position: absolute;
width: 320px;
height: 40px;
}
.left:nth-child(5) {
left: 0;
top: 20%;
}
.left:nth-child(6) {
transform: rotate(90deg);
right: -60px;
top: 220px;
}
.left:nth-child(7) {
left: 0;
bottom: 0;
}
.left:nth-child(8) {
transform: rotate(90deg);
left: -140px;
top: 220px;
}
.left:hover {
z-index: 3;
}
.right:hover {
z-index: 3;
}
<div id="container">
<div class="right"></div>
<div class="right"></div>
<div class="right"></div>
<div class="right"></div>
<div class="left"></div>
<div class="left"></div>
<div class="left"></div>
<div class="left"></div>
</div>
2条答案
按热度按时间s4n0splo1#
您可以在容器上执行此操作,如下所示:
x一个一个一个一个x一个一个二个x
(Codepen)
或者,如果您只想悬停在. right div上,那么使用CSS实现这一点的唯一方法是使用
:has()
等现代选择器,如下所示(Codepen)
但是
:has()
选择器还没有登陆Firefox,希望很快就能登陆。aiqt4smr2#
除了Glenn Flannagananswer之外,如果你想让绿色方块(
.right
)只在悬停时出现在前面(而不是在容器悬停时),你不需要使用has
,你可以使用~
兄弟选择器修改left
z-index
。请注意,如果您想更改
.right
样式,在某些情况下,您需要选择以前的元素(不太受支持)