一尘不染

如何使用CSS显示和隐藏div?

css

在我的脚本中有三个div。我想class="ab"在第一行悬停时显示div
class="abc",而在第二行悬停时显示。否则,我想class="a"默认显示div 。

但它永远不会显示带有的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>

阅读 310

收藏
2020-05-16

共1个答案

一尘不染

你需要

.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元素都隐藏。

2020-05-16