Entendendo a Diferença entre Display Inline e Display Block
Durante a implementação de um design recente, percebi que poderia ilustrar de forma perfeita a diferença entre `display: inline` e `display: block` no CSS.
Resolvi compartilhar essa experiência para ajudar vocês a compreenderem essa diferença fundamental e também para demonstrar como resolver alguns problemas comuns que podem surgir.
Demonstrando a Diferença
No design que estava implementando, havia um título seguido por uma pequena bola com um fundo gradiente. Para criar essa bola, pensei em usar um elemento
span
com as seguintes propriedades no Tailwind CSS:
<span class="rounded-full w-3 h-3 bg-gradient-to-tr from-[#4158D0] via-[#C850C0] via-46% to-[#FFCC70]" />
No entanto, quando executei o código, não aconteceu nada. A bola não apareceu. E por quê? Porque span
é um elemento inline por padrão no CSS, o que significa que ele não pode receber altura (height
) e largura (width
).
Então, mudei o display
para block
. Agora, a bola apareceu! Mas criou outro problema - a bola ocupou uma linha inteira no layout, fazendo o título pular para a próxima linha.
<span class="block rounded-full w-3 h-3 bg-gradient-to-tr from-[#4158D0] via-[#C850C0] via-46% to-[#FFCC70]" />
A solução para esse problema é usar display: inline-block
. Isso faz com que o elemento se comporte como um elemento de bloco (aceitando altura e largura), mas permanece na linha, como um elemento inline. Veja como fica o código:
<span class="inline-block rounded-full w-3 h-3 bg-gradient-to-tr from-[#4158D0] via-[#C850C0] via-46% to-[#FFCC70]" />
Pra quem gosta de vídeo
Se você é uma pessoa que aprende melhor visualmente, confira este vídeo onde demonstro essa diferença entre display: inline
e display: block
:
Referências
Para se aprofundar mais nesse assunto, aqui estão algumas referências que podem ser úteis:
Espero que isso ajude a esclarecer a diferença entre display: inline
e display: block
no CSS. Lembre-se, entender as nuances do CSS é crucial para dominar o design da Web!