display:none
将完全隐藏一个元素,就好像它现在的宽度和高度为零visibility:hidden
另一方面,将隐藏一个元素,但在文档中保留元素原始宽度和高度的矩形。
有没有办法通过纯 CSS 来隐藏一个元素,使其占用零高度但其原始宽度?将其高度设置为零不起作用,因为一旦我想再次显示它,我不知道将元素设置为哪个高度。
具体来说,我想实现以下目标:
#top ul {take up zero height but original width}
#top:hover ul {restore original dimensions}
编辑:解决了!这个想法是设置height:auto
恢复原来的高度。
有关完整版本,请参见此处http://jsfiddle.net/yP59s/或此处的 css:
ul {margin:0px}
#top {border:1px solid}
#top ul {height:0px;overflow:hidden}
#top:hover ul {height:auto;}
和html:
<div id="top">
<h1>foobar</h1>
<ul>
<li>foo</li>
<li>bar</li>
</ul>
</div>
blubber