Fui perguntado em uma entrevista que "qual é a diferença entre o css height:100%
e height:auto
?"
Alguém pode explicar?
height: 100%
fornece ao elemento 100% de altura de seu contêiner pai.
height: auto
significa que a altura do elemento dependerá da altura de seus filhos.
Considere estes exemplos:
altura: 100%
<div style="height: 50px">
<div id="innerDiv" style="height: 100%">
</div>
</div>
#innerDiv
terá height: 50px
height: auto
<div style="height: 50px">
<div id="innerDiv" style="height: auto">
<div id="evenInner" style="height: 10px">
</div>
</div>
</div>
#innerDiv
terá height: 10px
10px + the size it needs for its own content
- veja este jsfiddlesetting the height of the child element or the container element
. Você pode fazer o que for necessário para alcançar seu design, desde que siga certa consistência, evitando duplicação, reduzindo o retrabalho e agrupando layouts comuns. Em suma, deve haver um sistema / padrão para o seu trabalho, de modo que é fácil de ler e alterar, e, claro, o fato de que SHD trabalhoauto
faz com que o elemento cresça para acomodar AMO seu conteúdo E o conteúdo de seu filho. Por outro lado, um valor de altura fixa não aumenta (ou mostra) conteúdo que não pode caber na altura declarada. jsfiddle.net/m3f8y6xr/1 Esta resposta, creio, não é suficientemente redigida para torná-lo ovbious que o elemento crescerá para incluir todo o conteúdo, se é seu próprio texto, ou o conteúdo de uma criança. Obviamente, pode-se argumentar que seu próprio texto também é uma criança. Isso fornece confirmação visual do comportamento.Uma altura de 100% para é, presumivelmente, a altura da janela interna do seu navegador , porque essa é a altura do pai , a página. Uma
auto
altura será a altura mínima do necessário para conter .fonte
O padrão é
height: auto
no navegador, masheight: X%
Define a altura em porcentagem do bloco que o contém.fonte
height: 100% funciona se o contêiner pai tiver uma propriedade height especificada, não funcionará
fonte