2016-05-04 2 views
0

Is is valid/legal css, чтобы установить высоту 0 для достижения того же эффекта, что и отображение: нет?CSS: Действительно, чтобы установить высоту в 0?

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

Fiddle: https://jsfiddle.net/L0o1spko/

+0

Действительно, да, работает, не так много. Взгляните на это: http://stackoverflow.com/questions/950829/div-height0px-does-not-work – VikingBlooded

+0

почему бы и нет? Работает ли это для вас ? но обратите внимание, что есть разница: https://jsfiddle.net/L0o1spko/2/ –

+0

нет нет ширина все еще существует только для того, чтобы сделать границу: 1px сплошной черный; и посмотрите, тогда вы должны установить ширину 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: absolute, а также visibility: hidden, чтобы он не занимал ни места, ни какие-либо его дети или содержимое не появилось на экране.