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

mri*_*dul 43 html css hover siblings css3

在我的脚本中有三个div.class="ab"当我将鼠标悬停在第一行并显示div时class="abc",我想显示div ,当悬停在第二行时.否则我想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;
}
Run Code Online (Sandbox Code Playgroud)
<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>
Run Code Online (Sandbox Code Playgroud)

这是我的问题JSFiddle:JSFiddle Link

mul*_*orm 43

要隐藏元素,请使用:

display: none;
visibility: hidden;
Run Code Online (Sandbox Code Playgroud)

要显示元素,请使用:

display: block;
visibility: visible;
Run Code Online (Sandbox Code Playgroud)

不同之处是:

可见性处理标记的可见性,它display处理页面上占用的句柄空间.

如果设置visibility并且不更改display,即使没有看到标签,它仍然占用空间.

  • 为什么不会只使用`display:none;`? (6认同)
  • 当你设置“display:none”时,“visibility”规则确实是多余的。请注意,切换“显示”可能会导致周围元素因空间重新分配而移动。如果不希望出现这种“跳跃”效果,则可能需要使用“可见性”*代替*。 (3认同)

Gab*_*oli 40

你需要

.abc,.ab {
    display: none;
}

#f:hover ~ .ab {
    display: block;
}

#s:hover ~ .abc {
    display: block;
}

#s:hover ~ .a,
#f:hover ~ .a{
    display: none;
}
Run Code Online (Sandbox Code Playgroud)

更新了 http://jsfiddle.net/gaby/n5fzB/2/的演示


原始CSS中的问题是,in css选择器启动了一个全新的选择器.它没有结合..所以#f:hover ~ .abc,.a手段#f:hover ~ .abc.a.您将其设置为,display:none因此始终将其设置为对所有.a元素都隐藏.


Aam*_*zad 10

您可以使用以下五种方式中的任何一种来隐藏元素,具体取决于您的要求.

不透明度

.hide {
  opacity: 0;
}
Run Code Online (Sandbox Code Playgroud)

能见度

.hide {
   visibility: hidden;
}
Run Code Online (Sandbox Code Playgroud)

显示

.hide {
   display: none;
}
Run Code Online (Sandbox Code Playgroud)

位置

.hide {
   position: absolute;
   top: -9999px;
   left: -9999px;
}
Run Code Online (Sandbox Code Playgroud)

夹路径

.hide {
  clip-path: polygon(0px 0px,0px 0px,0px 0px,0px 0px);
}
Run Code Online (Sandbox Code Playgroud)

要显示以下任何一项: 不透明度:1; 能见度:可见; 显示:块;

资料来源:https://www.sitepoint.com/five-ways-to-hide-elements-in-css/