0Pricing
Frontend Academy · Aula

Noções básicas de display: block, inline, flex e grid

Alterne entre valores de display e veja como block, inline, flex e grid organizam o conteúdo de maneiras diferentes.

Noções básicas de display: block, inline, flex e grid é uma aula grátis de Frontend Academy no CoddyKit. Esta é a aula 3 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 Frontend Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Frontend Academy inclui 4 aulas no total.

A propriedade display

A propriedade display é a propriedade de CSS mais importante para o layout. Ela controla como um elemento participa do fluxo do layout e como seus filhos são organizados. Os valores mais usados são: block, inline, inline-block, flex, grid e none.

display: block

Elementos de bloco ocupam a largura total do contêiner e começam em uma nova linha. Exemplos: <div>, <p>, <h1>. Você pode definir largura, altura, margem e preenchimento em elementos de bloco.

.card {
  display: block;
  width: 100%;
  margin-bottom: 24px;
}

display: inline

Elementos inline fluem dentro do texto — não começam em uma nova linha. Exemplos: <span>, <a>, <strong>. Largura, altura e margens verticais não têm efeito sobre elementos inline.

span { display: inline; color: blue; }
/* Setting width: 200px on a span does nothing */

display: inline-block

inline-block combina os dois: o elemento flui em linha, como o texto, mas aceita largura, altura e margem vertical, como um bloco. É útil para botões e distintivos que devem ficar em uma linha de texto.

.badge {
  display: inline-block;
  padding: 4px 8px;
  background: #e2e8f0;
  border-radius: 4px;
  font-size: 0.75rem;
}

display: none

display: none remove completamente o elemento do layout — ele não ocupa espaço. Use visibility: hidden para ocultá-lo preservando o espaço que ocupava.

Flexbox — layout unidimensional

display: flex transforma um elemento em um contêiner flexível. Seus filhos diretos se tornam itens flexíveis que se organizam em uma linha, por padrão, ou em uma coluna. O Flexbox é excelente para distribuir espaço e alinhar itens.

.nav {
  display: flex;
  justify-content: space-between; /* horizontal */
  align-items: center;            /* vertical */
  gap: 16px;
}

Principais propriedades do Flexbox

flex-direction: row | column. justify-content: space-between | center | flex-end. align-items: center | flex-start | flex-end | stretch. gap: espaçamento entre itens sem usar margin.

.container {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: 24px;
}

CSS Grid — layout bidimensional

display: grid transforma um elemento em um contêiner de grade. Você define linhas e colunas com grid-template-columns e grid-template-rows. O Grid é ideal para layouts de páginas e grades de cartões.

.grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

A unidade fr

A unidade fr (fração) distribui o espaço disponível. grid-template-columns: 1fr 2fr 1fr cria três colunas, sendo que a do meio recebe o dobro do espaço das outras.

.layout {
  display: grid;
  grid-template-columns: 240px 1fr; /* sidebar + main */
  gap: 32px;
}

Escolhendo entre Flexbox e Grid

Use Flexbox para layouts unidimensionais (uma linha de botões, uma pilha de cartões). Use Grid para layouts bidimensionais (a estrutura de uma página, uma galeria de fotos com linhas e colunas explícitas). Ambos podem coexistir na mesma página.

display: none vs visibility: hidden

display: none: remove do layout e não fica acessível para leitores de tela. visibility: hidden: fica invisível, mas continua ocupando espaço e na árvore de acessibilidade. opacity: 0: fica invisível, mas ocupa espaço e permanece acessível.

Verificação rápida

Você precisa organizar uma grade responsiva de cartões com várias linhas e colunas. Qual valor de display é o melhor ponto de partida?

Recapitulação: valores de display

block ocupa a largura total. inline flui com o texto. inline-block combina os dois. flex organiza filhos em uma dimensão. grid organiza filhos em duas dimensões. none remove o elemento do layout. Domine esses valores e você controlará todos os layouts na Web.

Perguntas Frequentes

A aula “Noções básicas de display: block, inline, flex e grid” é grátis?

Sim — o texto completo de “Noções básicas de display: block, inline, flex e grid” é 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 Frontend Academy, atualize para CoddyKit PRO. O curso de Frontend Academy inclui 4 aulas no total.

O que vou aprender em “Noções básicas de display: block, inline, flex e grid”?

Alterne entre valores de display e veja como block, inline, flex e grid organizam o conteúdo de maneiras diferentes. Você pratica Frontend 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 Frontend Academy?

Nenhuma experiência prévia é necessária. Frontend 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 3 de 4.

Quanto tempo leva a aula “Noções básicas de display: block, inline, flex e grid”?

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 Frontend Academy?

Sim. Cada aula de Frontend 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

  1. Seletores e a cascata
  2. Cores, tipografia e modelo de caixa
  3. Noções básicas de display: block, inline, flex e grid
  4. Posicionamento: relative, absolute, fixed e sticky
← Voltar para Frontend Academy