4 回答
TA贡献1836条经验 获得超13个赞
如果立方体直接位于容器内:
#container:hover > #cube { background-color: yellow; }
如果cube位于(容器关闭标记之后)容器旁边:
#container:hover + #cube { background-color: yellow; }
如果多维数据集位于容器内的某个位置:
#container:hover #cube { background-color: yellow; }
如果多维数据集是容器的兄弟:
#container:hover ~ #cube { background-color: yellow; }
TA贡献1851条经验 获得超4个赞
在此特定示例中,您可以使用:
#container:hover #cube { background-color: yellow; }
这只是因为cube
是孩子的container
。对于更复杂的场景,您需要使用javascript。
TA贡献1797条经验 获得超6个赞
使用兄弟选择是将鼠标悬停在一个给定的造型时,其他元素的通用的解决方案,但它的工作原理只有在其他元素都遵循DOM中给定的一个。当其他元素实际上应该在徘徊之前,我们能做什么?假设我们想要实现信号栏评级小部件,如下所示:
这实际上可以通过设置flex-direction
为使用CSS flexbox模型轻松完成reverse
,以便元素以与它们在DOM中的元素相反的顺序显示。上面的截图来自这样的小部件,用纯CSS实现。
95%的现代浏览器都非常支持Flexbox。
.rating {
display: flex;
flex-direction: row-reverse;
width: 9rem;
}
.rating div {
flex: 1;
align-self: flex-end;
background-color: black;
border: 0.1rem solid white;
}
.rating div:hover {
background-color: lightblue;
}
.rating div[data-rating="1"] {
height: 5rem;
}
.rating div[data-rating="2"] {
height: 4rem;
}
.rating div[data-rating="3"] {
height: 3rem;
}
.rating div[data-rating="4"] {
height: 2rem;
}
.rating div[data-rating="5"] {
height: 1rem;
}
.rating div:hover ~ div {
background-color: lightblue;
}
<div class="rating">
<div data-rating="1"></div>
<div data-rating="2"></div>
<div data-rating="3"></div>
<div data-rating="4"></div>
<div data-rating="5"></div>
</div>
- 4 回答
- 0 关注
- 985 浏览
相关问题推荐
添加回答
举报