gpt4 book ai didi

html - CSS悬停子div背景颜色变化

转载 作者:太空宇宙 更新时间:2023-11-04 14:18:42 25 4
gpt4 key购买 nike

我有这个Fiddle ,而我想要做的是,当您将鼠标悬停在每个 div 部分上时,它只会更改该部分的背景。有什么办法可以在不改变所有背景的情况下做到这一点?当我将鼠标悬停在 .two 上时,.one:hover 被触发。当我将鼠标悬停在 .two 上时,如何让它触发 .two 而不是 .one

CSS:

div.one:hover, div.two:hover, div.three:hover{
background-color: #69aeea;
}

HTML:

<div class="one">
Text 1
<div class="two">
Text 2
<div class="three">Text 3</div>
<div class="three">Text 3</div>
<div class="three">Text 3</div>
</div>
<div class="two">
Text 2
<div class="three">Text 3</div>
<div class="three">Text 3</div>
<div class="three">Text 3</div>
</div>
</div>

最佳答案

:hover一直被触发到根父级(通常是 <body> ),所以当你有 :hover 时你不能只在子级上触发它 parent 的状态。

您需要做的是隔离您实际想要显示悬停状态的部分,在本例中,我通过将文本包装在 <span> 中来完成。 .这将保留 :hover与该 parent 的其他 child 隔离的状态。

<div class="one">
<span>Text 1</span>
<div class="two">
<span>Text 2</span>
<div class="three"><span>Text 3</span></div>
...

然后在 CSS 中专门定位:(> 字符选择父的直系后代)

div > span:hover {
background-color: #69aeea;
}

然后您可以根据级别使用不同的颜色,如下所示:

div.one > span:hover {
background-color: #69aeea;
}
div.two > span:hover {
background-color: #ae69ea;
}
div.three > span:hover {
background-color: #aeea69;
}

演示: http://jsfiddle.net/shshaw/8uetm/

关于html - CSS悬停子div背景颜色变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20108293/

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