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
ul
в#top
- така че докато каквото и да е друго в#top
не се преоразмерява, всичко е наред - person josch   schedule 22.05.2013