我有一个以下代码段,并且我在悬停在跨度上时遇到了问题。等级display
的div在悬停跨度时不显示。这是标记:
<span class="get">get</span>
<div class="display"></div>
相应的css:
.get:hover .display {
display:block;
}
.display {
height: 100px;
width:100px;
background-color: #ccc;
display: none;
}
答案 0 :(得分:1)
答案 1 :(得分:0)
您应该阅读CSS选择器及其工作原理。有很多很好的资源,虽然有点干,但我仍然建议仔细阅读the W3 selectors table及其解释。以下是您正在使用的选择器的摘录:
E F
=&gt;F
元素的E
元素后代
E:hover
=&gt;某些用户操作期间的E元素
E.warning
=&gt;一个E
元素,其类为“warning
”
要注意的主要事实是 空间实际上是一个选择器:descendant selector。所以你的选择器:
.get:hover .display
将从从右到左:
display
”的所有元素...... hover
ed ... get
”类您遇到的问题是,div
不是悬停span
的后代。有很多方法可以解决这个问题,包括@dowomenfart's suggestion使用adjecent选择器,以及更改DOM嵌套。