我有两个div,Div A和Div B。如果Div A被悬停,我需要显示Div B。这能否只使用纯CSS实现?或者如果我使用jQuery,如何在不能使用id的情况下处理这个问题?
谢谢。
谢谢。
假设这两个 div
元素被包含在一个 div
中:
#container > div {
display: none
}
#container > div:first-child {
display: block
}
#container > div:hover + div {
display: block
}
<div id="container">
<div>A</div>
<div>B</div>
</div>
:first-child
是为了解决你设置的这个限制而存在的:
基于我们不能使用id来表示这两个div元素的假设。
如果你想在悬停时保持第二个 div
可见,请尝试这样做:
#container > div {
display: none
}
#container > div:first-child {
display: block
}
#container:hover > div {
display: block
}
id
来标识使用的特定元素。您可以使用几乎任何其他CSS选择器代替id
,重要的是所选元素之间的关系;在第一个示例中,我使用了相邻兄弟选择器,而在后者中使用了后代选择器。#divB {
display: none;
}
#divA:hover + #divB {
display: block;
}
<div id="divA">
Some content in 'divA'
</div>
<div id="divB">
Some content in 'divB'
</div>
JS Fiddle演示。或:
#divB {
display: none;
}
#divA:hover #divB {
display: block;
}
<div id="divA">
Some content in 'divA'
<div id="divB">
Some content in 'divB'
</div>
</div>
。<style>
/* Only for testing */
.a, .b {
border: 1px solid black;
}
/* Hide the B div */
.b {
display:none;
}
/* Show the B div when hover on A (the container include only A when B is not displayed */
.container:hover .b {
display: block;
}
</style>
<div class="container">
<div class="a">A</div>
<div class="b">B</div>
</div>