我想使用CSS在我懸停在div id='a '上時顯示div id='b ',但是我不知道如何做,因為div 'a '在另一個div中,而div 'b '不在其中。
<div id='content'>
<div id='a'>
Hover me
</div>
</div>
<div id='b'>
Show me
</div>
我們可以像這樣懸停時顯示相同的標簽div
<style>
#b {
display: none;
}
#content:hover~#b{
display: block;
}
</style>
使用下面的代碼確實是可能的
<div href="#" id='a'>
Hover me
</div>
<div id='b'>
Show me
</div>
和css
#a {
display: block;
}
#a:hover + #b {
display:block;
}
#b {
display:none;
}
現在將鼠標懸停在元素#a上會顯示元素#b。
為此,您可以使用斧子選擇器。
有兩種方法:
1.直接父軸選擇器(& lt)
#a:hover < #content + #b
這個axe樣式規則將選擇#b,它是#content的直接兄弟,它是具有:hover狀態的#a的直接父。
div {
display: inline-block;
margin: 30px;
font-weight: bold;
}
#content {
width: 160px;
height: 160px;
background-color: rgb(255, 0, 0);
}
#a, #b {
width: 100px;
height: 100px;
line-height: 100px;
text-align: center;
}
#a {
color: rgb(255, 0, 0);
background-color: rgb(255, 255, 0);
cursor: pointer;
}
#b {
display: none;
color: rgb(255, 255, 255);
background-color: rgb(0, 0, 255);
}
#a:hover < #content + #b {
display: inline-block;
}
<div id="content">
<div id="a">Hover me</div>
</div>
<div id="b">Show me</div>
<script src="https://rouninmedia.github.io/axe/axe.js"></script>
使用相鄰的兄弟組合符+匹配下一個兄弟。 那么類可以用于多個獨立的懸停:
<div class='a'>
Hover me 1
</div>
<div class='b'>
Show me 1
</div>
<div class='a'>
Hover me 2
</div>
<div class='b'>
Show me 2
</div>
.b {
display: none;
}
.a:hover + .b {
display: block;
}
如果有人在使用position:absolute,你可能會遇到上述方法的問題。 確保您也處理絕對元素的懸停。
<div class='content'>
Hover me 1
</div>
<div class='hover'>
Show me 1
</div>
.hover {
position: absolute;
visibility: hidden;
}
.content:hover + .hover {
visibility: visible !important;
}
.hover:hover {
visibility: visible !important;
}