gpt4 book ai didi

css - 如何申请子:hover but not parent:hover

转载 作者:行者123 更新时间:2023-11-27 23:17:03 26 4
gpt4 key购买 nike

使用以下 html,当我将鼠标悬停在子对象上时,父对象的背景为绿色。我怎样才能阻止这种情况发生?如果我悬停在子元素之外,我确实需要绿色背景。

CSS3 很好。

.parent {
padding: 100px;
width: 400px;
height: 400px;
}

.parent:hover {
background-color: green;
}

.child {
padding: 100px;
width: 200px;
height: 200px;
}

.child:hover {
background-color: blue;
}
<div class="parent">
<div class="child">Child</div>
</div>

最佳答案

所以这真的很难看,但它(有点)有效。我基本上是在创建 parent 的副本作为 child 的 sibling 。 parent-overwrite 默认隐藏,然后显示在 child 的悬停上。除非您使用 + 选择器而不是 ~ 选择器,否则 Chrome 不喜欢它。这不是很可扩展,但它可能会起作用。

正如其他人所说,javascript 可能是更好的解决方案。

 <style>
.parent { padding: 100px; width: 400px; height:400px; position: relative; z-index: 998; }
.parent:hover { background-color: green; }
.child { padding: 100px; width: 200px; height:200px; position: relative; z-index: 1000; }
.child:hover { background-color: blue; }
.parent-overwrite { padding: inherit; width: inherit; height: inherit; position: absolute; top: 0; left: 0; z-index: 999; background-color: #FFF; display: none; }
.child:hover ~ .parent-overwrite { display: block; }
</style>

<div class="parent">
<div class="child">Child</div>
<div class="parent-overwrite"></div>
</div>

关于css - 如何申请子:hover but not parent:hover,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58221173/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com