Block vs Inline vs Inline-Block
Compreenda as diferenças entre os comportamentos de exibição block, inline e inline-block.
Block vs Inline vs Inline-Block é uma aula grátis de CSS Academy no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de CSS Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de CSS Academy inclui 4 aulas no total.
A propriedade display
A propriedade display é uma das mais fundamentais do CSS. Ela determina como um elemento participa do fluxo do layout: se cria uma caixa de nível de bloco, uma caixa em linha ou algo intermediário.
Elementos de bloco
Elementos de bloco começam em uma nova linha e se expandem para preencher toda a largura do contêiner. Você pode definir largura, altura, margem e preenchimento em todos os lados.
Elementos de bloco padrão: div, p, h1-h6, section, article.
<div>I'm a block element — full width, centered.</div>
Elementos em linha
Elementos em linha fluem dentro do texto. Eles não começam uma nova linha. Definir width ou height não produz efeito. A margem superior e inferior é ignorada; as margens e o preenchimento horizontais funcionam.
Elementos em linha padrão: span, a, strong, em, img.
<p>This is <span>an inline span</span> inside a paragraph.</p>
Elementos em linha-bloco
display: inline-block é um híbrido. Os elementos fluem em linha, sem quebra de linha forçada, mas aceitam largura, altura e todas as propriedades do modelo de caixa, como os elementos de bloco.
<a class="btn" href="#">Click Me</a>
Inline-block para navegação
Antes do Flexbox, inline-block era usado para barras de navegação horizontais. Uma desvantagem é que os espaços em branco no código-fonte HTML criam pequenos intervalos entre os itens.
<ul><li>Home</li><li>About</li><li>Contact</li></ul>
Removendo o intervalo entre elementos em linha
O intervalo causado pelos espaços em branco entre elementos inline-block pode ser removido definindo font-size: 0 no elemento pai e restaurando o valor nos elementos filhos, ou eliminando os espaços em branco no HTML.
<ul><li>One</li><li>Two</li><li>Three</li></ul>
Substituindo inline-block por Flex
No CSS moderno, display: flex no elemento pai é a maneira preferida de criar layouts horizontais sem problemas causados por espaços em branco. inline-block ainda é útil para dimensionar um único elemento.
Alterando display
O tipo de display de qualquer elemento pode ser alterado com CSS. Isso é usado com frequência para dar formato de botão a links ou para tornar os itens de uma lista horizontais.
<a class="button" href="#">Button</a>
<ul><li>Item 1</li><li>Item 2</li></ul>
Valores de display para tabelas
O CSS fornece display: table, display: table-row, display: table-cell etc. para aplicar o layout de tabela a elementos que não são tabelas. Hoje são raramente necessários, mas são úteis para centralização vertical em contextos antigos.
Raiz do fluxo: display: flow-root
display: flow-root cria um novo contexto de formatação de bloco sem os efeitos colaterais de overflow: hidden. Ele limpa elementos flutuantes e impede que o colapso de margens escape de um contêiner.
<div class="clearfix">Contains floated children without collapsing.</div>
Caixas anônimas
Quando elementos de bloco e em linha são misturados como irmãos, o navegador envolve o conteúdo em linha sem elemento pai em caixas de bloco anônimas. Esse comportamento é invisível, mas explica deslocamentos inesperados no layout.
Verificação rápida
Qual valor de display permite definir width mantendo o elemento no fluxo em linha?
Recapitulação
Os elementos de bloco ocupam toda a largura e começam uma nova linha. Os elementos em linha fluem com o texto e ignoram width e height. O inline-block combina os dois: flui em linha, mas aceita width e height. Os layouts modernos preferem Flexbox e Grid a grades de inline-block.
Perguntas Frequentes
A aula “Block vs Inline vs Inline-Block” é grátis?
Sim — o texto completo de “Block vs Inline vs Inline-Block” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de CSS Academy, atualize para CoddyKit PRO. O curso de CSS Academy inclui 4 aulas no total.
O que vou aprender em “Block vs Inline vs Inline-Block”?
Compreenda as diferenças entre os comportamentos de exibição block, inline e inline-block. Você pratica CSS Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar CSS Academy?
Nenhuma experiência prévia é necessária. CSS Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.
Quanto tempo leva a aula “Block vs Inline vs Inline-Block”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de CSS Academy?
Sim. Cada aula de CSS Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Block vs Inline vs Inline-Block
- Visibility vs Display None
- Overflow: Scroll, Clip e Auto
- Reset e Normalização do CSS