Tornando Elementos div Inline: Uma Solução CSS para HTML
Resposta Rápida
Se você quer organizar elementos div
horizontalmente, atribua a eles a propriedade display: inline;
. Isso fará com que eles se tornem elementos em linha. Alternativamente, você pode usar display: inline-block;
, que mantém as características de bloco dos elementos enquanto os alinha em uma linha.
Para inline
: Altura e largura não são controláveis.
Para inline-block
: Altura e largura são gerenciáveis.
.div-inline { display: inline; /* "Mais leve que um bloco!" */ }
.div-inline-block { display: inline-block; /* "Bloco em um mundo inline!" */ }
<div class="div-inline">Este é um div inline.</div>
<div class="div-inline-block">Este é um div inline-block.</div>
Considere usar display: flex;
para um layout horizontal mais flexível e moderno.
Alternativas a display: inline e inline-block
Usando <span>
para Elementos Inline
<span>
é um elemento em linha por padrão. É ótimo para formatar pequenos trechos de texto.
<p>Bloco de texto com um <span>elemento inline</span> dentro.</p>
Aplicando a Propriedade Auxiliar float: left;
Se display: inline;
não for adequado, float: left;
pode ajudar a organizar os elementos em uma linha horizontal.
.div-float { float: left; /* " flutuou à esquerda e ficou lá!" */ }
Importante: Sempre use clear: both;
após esses elementos para evitar sobreposições.
Problema com Espaços ao Usar inline-block
Para eliminar espaços em HTML entre elementos inline-block, você pode remover os próprios espaços ou aplicar a propriedade font-size: 0;
ao elemento pai.
Flexbox para Maior Controle do Layout
Flexbox proporciona controle preciso sobre o alinhamento, a ordem e o dimensionamento dos elementos — um verdadeiro salvador no mundo dos layouts.
.container { display: flex; /* "Valorizamos a flexibilidade!" */ }
Visualização
Antes da aplicação: 🚃🚃
🚃🚃
Por padrão, os elementos div
ocupam sua linha, como trens em suas trilhas.
div {
display: inline-block; /* "Agora todos os trens estão em uma linha" */
}
Depois da aplicação: 🚃🚃🚃🚃
Ao usar display: inline-block;
, todos os trens se alinham em uma única fila.
Melhorando o Trabalho (inline | inline-block)
Visualizando Bordas e Margens
Crie bordas ao redor dos elementos div. Isso ajudará durante o design e a depuração dos layouts.
Uso Cuidadoso de <br/>
para Quebras de Linha
Se quebras de linha forem necessárias em um layout horizontal, use <br/>
para uma separação limpa do conteúdo.
Aplicando <pre>
para Preservar Formatação
O elemento <pre>
ajuda a reter espaços em branco e recuos do conteúdo, que pode ser útil em certos casos.
Controle Preciso do Alinhamento Vertical
Com vertical-align
, você pode definir o alinhamento vertical desejado dos elementos em linha e restaurar a ordem em seu posicionamento.
Recursos Úteis
- Guia Completo de Flexbox | CSS-Tricks — Uma imersão abrangente no mundo do Flexbox.
- display - CSS | MDN — Visão geral de
display: inline
comparado adisplay: inline-block
no MDN. - Qual é a Diferença Entre display: inline e display: inline-block? - Stack Overflow — Discussão sobre as propriedades
display: inline
edisplay: inline-block
na comunidade Stack Overflow. - Criando Gráficos de Pizza Simples com CSS — Smashing Magazine — Um método eficaz para construir layouts com CSS e SVG.
- float - CSS | MDN — Um guia para layout usando elementos flutuantes.
- Posso usar... Flexbox — Um site para verificar a compatibilidade do Flexbox entre diferentes versões de navegadores.