在我的脚本中有三个div。我想class="ab"在第一行悬停时显示div class="abc",而在第二行悬停时显示。否则,我想class="a"默认显示div 。
class="ab"
class="abc"
class="a"
但它永远不会显示带有的div class="a"。
.abc,.ab { display: none; } #f:hover ~ .ab { display: block; } #f:hover ~ .abc,.a { display: none; } #s:hover ~ .abc { display: block; } #s:hover ~ .ab,.a { display: none; } <a id="f">Show First content!</a> <br/> <a id="s">Show Second content!!</a> <div class="a">Default Content</div> <div class="ab">First content</div> <div class="abc">Second content</div>
你需要
.abc,.ab { display: none; } #f:hover ~ .ab { display: block; } #s:hover ~ .abc { display: block; } #s:hover ~ .a, #f:hover ~ .a{ display: none; }
原始CSS中的问题是,in css选择器启动了一个全新的选择器。它没有结合..所以#f:hover ~ .abc,.a意味着#f:hover ~ .abc和.a。您将display:none其设置为始终对所有.a元素都隐藏。
,
#f:hover ~ .abc,.a
#f:hover ~ .abc
.a
display:none