qual e diferença entre o inline, block, inline-block
qual e diferença entre o inline, block, inline-block
-------------------------------------------------------------------------------------------------------
display: block
: qualquer tag que tenha essa propriedade ocupará uma linha inteira dentro da sua tag pai.
Tag pai: é a primeira tag externa. É a tag que engloba a tag atual. Ex:
<div>
<a>a1</a>
<a>a2</a>
<footer>f1</footer>
</div>
Ambas as tags <a>
e <footer>
tem como tag pai a <div>
.
Então, ao colocar a propriedade display: block
nas tags <a>
, cada uma ocupará uma linha inteira dentro da tag <div>
. O resultado disso é que elas serão empilhadas como caixas ou blocos se preferir:
.
( Observe que a largura das tags <a>
virou na verdade a largura das linhas da <div>
. É isso que faz elas ocuparem uma linha inteira.)
-------------------------------------------------------------------------------------------------------
display: inline
: Na maioria das vezes, qualquer tag que tenha essa propriedade não ocupará uma linha inteira da sua tag pai. Ou seja, essa tag se comportará como um elemento em linha. Utilizando o mesmo exemplo do display: block
, agora vou colocar display: inline
nas tags <a>
:
.
( Observe que as tags <a>
estão numa mesma linha. Além disso, o tamanho delas "diminuiu". Isso acontece porque quando elas eram blocks, a sua largura era 100%, ou seja, 100% da largura da linha da tag pai. Agora que elas são inline, sua largura é praticamente a largura do texto dentro delas, que é a largura real dessa tag.)
-------------------------------------------------------------------------------------------------------
display: inline-block
: essa propriedade fará com que a tag se comporte como um bloco em linha. A diferença em relação à propriedade display: inline
é que os blocos podem ter suas alturas reajustadas!!! Utilizando o mesmo exemplo do display: inline
, agora vou colocar display: inline-block
e vou aumentar a altura das tags <a>
:
.
( É possível perceber também que com o display: inline-block
as tags <a>
se encaixaram corretamente na altura da primeira linha da <div>
)
-------------------------------------------------------------------------------------------------------
Qualquer dúvida que tiver me avise por favor.