[英]hover over an embedded div and change another one
这是我的HTML:
<div id="menu">
<div class="arrows">
<div class="arrow-down"></div>
</div>
<div class="buttons">
<button class="home">Home</button>
<button class="about">About</button>
</div>
</div>
<div class="titleHome">
<p1>Home</p1>
<div id="bubble"></div>
<div id="tri"></div>
</div>
请注意.home
嵌入在2个div中; .menu
然后.buttons
。 .titleHome
的显示为none
。 我想在使用纯css将.titleHome
悬停在.home
时将显示更改为block
.titleHome
。 问题是我不知道这样做的规则。
我知道如果#b
在HTML中的#a
之后,那么我们可以使用+
。
我也知道如果中间有元素我们可以用~
。
但这些规则是否适用于.home
因为它嵌入在其他div中。 我试过用~
但没有成功。
有人可以给我一个如何做到这一点的样本吗?
目前,CSS中只有3个连接选择器: +
用于下一个兄弟姐妹, ~
用于任何下一个兄弟姐妹, >
用于孩子。 您无法使用纯CSS访问父元素。 因此,你无法升级到下一个元素。
您可以使用JavaScript来实现您的要求,而无需更改HTML。 您还可以调整HTML并使用元素,该元素需要在与hovered元素相同的级别上(和之后)具有其他样式。
对于信息 ,但在这里根本没用,指针 - 邻居上的无事件和子节点上的自动事件可以在这里做到这一点:
#menu { pointer-events: none; padding: 1em; } .buttons button.home { pointer-events: auto; cursor: pointer; margin: 1em; } .titleHome { display: none; } #menu:hover + .titleHome { display: block; }
<div id="menu"> <div class="arrows"> <div class="arrow-down"></div> </div> <div class="buttons"> <button class="home">Home</button> <button class="about">About</button> </div> </div> <div class="titleHome"> <p1>Home</p1> <div id="bubble"></div> <div id="tri"></div> </div>
对于单一的交互和基本样式,它可以小心使用。
对于演示或快速测试(在编写脚本之前)它也可以帮助...只是不要忘记删除或评论规则。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.