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
答案 0 :(得分:4)
#top { width: 300px; height:0px; max-height:0px; }
#top:hover {height: auto; width: 300px; }
答案 1 :(得分:0)
使用css
<a href="#box1">Show Box 1</a>|<a href="#box2">Show Box 2</a>|<a href="#hidebox">Hide All</a>
<div id="box1" class="box"> Contents of Box 1 </div>
<div id="box2" class="box"> Contents of Box 2 </div>
和css
.box{
border: 2px solid #ccc;
padding:20px;
margin:20px 0 0;
max-height:150px;
max-width:300px;
display:none; }
.box:target{
display:block;
}
我在几个月前发现了这个小提琴,可能会有所帮助: http://jsfiddle.net/DbXQs/