2016-05-04 6 views
0

isはdisplay:noneと同じ効果を得るために高さ0を設定する有効な/法的なCSSです。CSS:高さを0に設定すると有効ですか?

.item { 
    height: 0; 
    overflow: hidden; 
} 

フィドル:https://jsfiddle.net/L0o1spko/

+0

有効です。はい、有効です。これを見て:http://stackoverflow.com/questions/950829/div-height0px-does-not-work – VikingBlooded

+0

なぜですか?それはあなたのために働くのですか?違いがあることに注意してください。https://jsfiddle.net/L0o1spko/2/ –

+0

まだ幅がありません。境界線を作成するだけです:1px solid black;あなたが幅0を設定しなければならないのを見て、ここを参照してくださいhttps://jsfiddle.net/2gw56egw/2/ – CY5

答えて

1

それが有効だが、同じではありません。あなたが(例えば)固定要素を持っている場合、それはまだあなたがdisplay:noneとしてその親を設定しない限り表示され、その内側:

https://jsfiddle.net/L0o1spko/1/

.item1 { 
    height: 0; 
    overflow: hidden; 
} 

.fixed { position:fixed;} 

.item2 { 
    display: none; 
} 

<div class="item1"> 
    This content has a height of 0. 
    <div class="fixed"> 
     sdfsdffsfsdf 
    </div> 
</div> 

<div class="item2"> 
    This content has a display of none. 
    <div class="fixed"> 
     sdfsdffsfsdf 
    </div> 
</div> 
1

0に高さを設定するために完全に有効であり、使用することができますあなたのコンテンツが何も入っていないアニメーションのような多くのものに対して 概念に間違いはありません。あなたはそれをかなり頻繁に必要とするかもしれません。

しかし、もし私があなただったら、なぜディスプレイなしの代わりにそれを使用するのか疑問に思うでしょうか?アイテムを隠すだけの場合は、セマンティックな方法で実際には間違っています。できれば、これを避けるべきです。 一方、私の前の説明に似た正当な理由があるなら、それに行きなさい、何も間違っていません。

1

これは正当ですが、position: absolutevisibility: hiddenもスペースを占有したり、子供やコンテンツが画面に表示されないように設定することもできます。

関連する問題