Div突出显示问题
我在容器内有两个堆叠在一起的div。 这是我想要的行为:当你将鼠标移到顶部div时,没有任何反应。当你老鼠 在底部div上,顶部div背景改变颜色,底部div改变背景 改变不同的颜色。在我尝试的示例代码中,将鼠标放在容器div上 顶部转绿色,底部转绿色。我想在底部使用鼠标悬停 这种行为,但我希望鼠标悬停在顶部什么都不做。我觉得我能得到这个 使用父选择器或其他东西在jQuery中完成,但似乎我应该能够 在纯CSS中执行此操作。谢谢!
这是我尝试过的,当然不起作用,但是我想知道我要做什么。
<html>
<head>
<style>
div
{
display:inline;
border:1px dotted black;
font-family:Courier;
background:white;
}
div#outer{
display:inline-block;
border:2px solid red;
}
div#outer:hover #top{
background:green;
}
div#outer:hover #bottom{
background:blueviolet;
}
div#top:hover, div#bottom:hover{
background:white;
}
</style>
</head>
<body>
<div id=outer>
<div id=top>
top
</div>
<br>
<div id=bottom>
bottom
</div>
</div>
</body>
</html>
答案 0 :(得分:1)
this您要找的是什么?
div#outer:hover div#top:hover, div#bottom:hover{
background:white;
}
或者,您也可以使用!important
:
div#top:hover {
background: white !important;
}
答案 1 :(得分:1)
我改变了你的CSS。基本上是为了让它更大。
这里的订单很重要。
由于外边界的边界,这并不完美。
<style>
div {
border:1px dotted black;
font-family:Courier;
background:white;
}
div#top, div#bottom {
height: 200px;
width: 200px;
}
div#outer:hover #bottom:hover {
background:blueviolet;
}
div#outer:hover #top {
background:green;
}
div#outer #top:hover{
background:white;
}
div#outer{
display:inline-block;
border:2px solid red;
}
</style>
答案 2 :(得分:0)
我不认为你能做到这一点...... CSS选择仅适用于一种方式,从父级到子级或级联....所以你只能在另一个div下面改变div的CSS。
例如,查看this jsFiddle:正如您所看到的,只有底部div的样式可以更改。
此代码
div#fourth:hover ~ #first{
background:green;
}
不起作用,因为“第一个”div高于“第四个”div ...
无论如何,如果你想将top div的背景设置为白色,你会看到延迟翻转。
PS:抱歉我的英语不好。