Desenvolvimento Web 26/08/2026

Box Model no CSS: o que é e como funciona

Aprenda o que é o Box Model no CSS e como content, padding, border, margin e box-sizing controlam o tamanho e o espaçamento dos elementos.

  • #box model
  • #css
  • #box model css
  • #padding
  • #margin
  • #border
  • #box-sizing
  • #desenvolvimento web
  • #front-end
  • #css para iniciantes
Box Model no CSS: o que é e como funciona

Box Model no CSS: o que é e como funciona

Se você está começando no desenvolvimento web, entender o Box Model do CSS é essencial para aprender a construir layouts de forma previsível. Ele explica como o navegador calcula o tamanho dos elementos, de onde vêm os espaços internos e externos e por que uma simples alteração de padding ou border pode fazer uma caixa ficar maior do que você esperava.

Neste guia, você vai aprender como funciona o modelo de caixa do CSS, entender a diferença entre content, padding, border e margin e descobrir como a propriedade box-sizing muda o cálculo do tamanho dos elementos. A ideia é que, ao terminar a leitura, você consiga olhar para qualquer elemento de uma página e entender exatamente como o navegador está calculando seu tamanho e seus espaçamentos.

O que é o Box Model no CSS?

O Box Model, ou modelo de caixa, é a forma como o CSS representa e calcula os elementos de uma página. Para o navegador, um parágrafo, botão, imagem, formulário ou div não é apenas um conteúdo na tela: cada elemento ocupa uma área retangular composta por diferentes camadas.

Essas camadas determinam quanto espaço o elemento ocupa e qual distância existe entre seu conteúdo, sua borda e os outros elementos da página. Para dominar layouts em CSS, você precisa entender principalmente quatro partes: content, padding, border e margin.

  • Content: é a área onde fica o conteúdo do elemento, como texto ou imagem.
  • Padding: é o espaço interno entre o conteúdo e a borda.
  • Border: é a borda que envolve o conteúdo e o padding.
  • Margin: é o espaço externo que separa o elemento dos elementos ao redor.
View Model
As quatro camadas do Box Model: content, padding, border e margin

Content: a área do conteúdo

O content é a parte central da caixa. É onde o conteúdo realmente aparece, seja um texto, uma imagem, um botão ou outro elemento HTML. Quando você define propriedades como width e height, é importante saber que o comportamento delas depende do valor de box-sizing utilizado.

No comportamento padrão do CSS, chamado content-box, uma largura de 200px representa apenas a área de conteúdo. Se você adicionar padding e border, eles serão somados ao tamanho final da caixa.

.caixa {
 width: 200px;
 height: 100px;
}

Padding: criando espaço dentro do elemento

O padding cria espaço entre o conteúdo e a borda do elemento. Ele é muito utilizado para melhorar a aparência e a legibilidade de componentes como botões, cards, campos de formulário e menus. Se um texto estiver muito próximo da borda de uma caixa, por exemplo, normalmente o padding é o que você precisa ajustar.

.caixa {
 padding: 20px;
}

Você também pode controlar cada lado individualmente ou utilizar a forma abreviada para definir valores diferentes:

.caixa {
 padding: 10px 20px;
}

Nesse exemplo, são aplicados 10px de espaço na parte superior e inferior e 20px nas laterais. Aprender a trabalhar com essas variações é importante para criar espaçamentos consistentes sem precisar escrever várias propriedades.

Padding na prática
O padding cria espaço interno entre o conteúdo e a borda

Border: adicionando uma borda ao elemento

A border fica ao redor do conteúdo e do padding. Além de ser usada para criar efeitos visuais, ela também é importante para entender por que determinados elementos acabam ocupando mais espaço do que o esperado.

.caixa {
 border: 2px solid #333;
}

Por padrão, a borda faz parte do tamanho externo da caixa. Imagine um elemento com width: 200px e uma borda de 2px em cada lado. Com box-sizing: content-box, a largura total será de 204px, porque os 2px da esquerda e os 2px da direita são adicionados aos 200px do conteúdo.

Margin: criando espaço entre elementos

A margin representa o espaço externo de um elemento. Enquanto o padding cria espaço dentro da caixa, a margin cria distância entre ela e os elementos ao redor. Essa diferença parece simples, mas é uma das primeiras coisas que você precisa dominar para controlar espaçamentos em CSS.

.caixa {
 margin: 20px;
}

A margem não faz parte do conteúdo da caixa e também não recebe o background do elemento. Ela simplesmente cria uma área de separação ao redor do elemento. Você pode definir valores diferentes para cada lado ou utilizar propriedades como margin-top, margin-right, margin-bottom e margin-left.

Margin na prática
A margin cria espaço externo entre elementos

Box-sizing: entenda como o tamanho é calculado

Depois de entender as quatro partes do Box Model, chega um dos conceitos mais importantes: a propriedade box-sizing. Ela determina como o navegador deve calcular a largura e a altura de um elemento.

O valor padrão é content-box. Nesse modelo, quando você define width: 200px, esses 200px representam somente o conteúdo. Padding e border são adicionados ao tamanho final.

.caixa {
 box-sizing: content-box;
 width: 200px;
 padding: 20px;
 border: 2px solid;
}

Com border-box, o comportamento fica mais previsível para muitos layouts. A largura e a altura definidas passam a incluir o conteúdo, o padding e a border. Assim, uma caixa definida com width: 200px continuará tendo 200px de largura mesmo depois que você adicionar padding e border.

.caixa {
 box-sizing: border-box;
 width: 200px;
 padding: 20px;
 border: 2px solid;
}

Por esse motivo, é muito comum encontrar a seguinte regra em projetos modernos:

*, *::before, *::after {
 box-sizing: border-box;
}

Isso facilita o controle dos tamanhos e evita muitos cálculos inesperados durante a construção do layout.

Como calcular o tamanho de uma caixa

Entender o cálculo do Box Model ajuda a resolver problemas de layout muito mais rapidamente. No modelo content-box, a largura final pode ser pensada como a soma do conteúdo, padding e border. Por exemplo, uma caixa com 200px de conteúdo, 20px de padding em cada lado e uma border de 2px em cada lado terá 244px de largura total.

Já com border-box, os 200px definidos para a largura representam o espaço total ocupado pelo conteúdo, padding e border. O navegador reduz a área disponível para o conteúdo para que todos esses valores caibam dentro dos 200px.

Veja o Box Model nas DevTools

Uma das melhores formas de aprender o Box Model é observá-lo diretamente no navegador. Abra as DevTools, clique com o botão direito em um elemento da página e selecione a opção para inspecioná-lo. Na área de estilos, o navegador apresenta um diagrama mostrando visualmente o content, padding, border e margin.

Essa ferramenta é especialmente útil quando um elemento está maior, menor ou mais afastado do que deveria. Em vez de tentar adivinhar qual propriedade está causando o problema, você pode observar os valores aplicados e descobrir exatamente de onde aquele espaço está vindo.

Padding ou margin: qual usar?

Uma dúvida muito comum entre iniciantes é saber quando usar padding e quando usar margin. Uma forma simples de pensar é: se você quer criar espaço dentro do elemento, use padding; se quer criar espaço fora dele, entre um elemento e outro, use margin.

Por exemplo, em um card, o espaço entre o texto e a borda do card normalmente será criado com padding. Já a distância entre dois cards pode ser controlada com margin ou, dependendo do layout, com propriedades de espaçamento do Flexbox ou Grid. Entender essa diferença ajuda a evitar soluções improvisadas e deixa seu CSS muito mais organizado.

Erros comuns ao aprender Box Model

Alguns problemas aparecem com frequência quando você começa a trabalhar com o modelo de caixa. O mais comum é esquecer que padding e border podem alterar o tamanho final de um elemento quando box-sizing está usando content-box. Também é comum confundir margin com padding ou tentar corrigir problemas de layout adicionando espaçamentos aleatoriamente.

  • Confundir padding com margin.
  • Esquecer que border e padding podem aumentar o tamanho final da caixa.
  • Não entender a diferença entre content-box e border-box.
  • Adicionar margin ou padding sem verificar como isso afeta o layout.
  • Tentar corrigir problemas de posicionamento sem primeiro analisar o Box Model nas DevTools.

O que você precisa dominar sobre Box Model?

Para considerar o Box Model realmente aprendido, você deve conseguir explicar o papel de content, padding, border e margin, calcular o tamanho final de uma caixa e entender como box-sizing altera esse cálculo. Também é importante conseguir identificar rapidamente, pelas DevTools, qual propriedade está causando um espaçamento ou tamanho inesperado.

Depois disso, o próximo passo é aplicar esses conhecimentos em layouts reais. Pratique criando cards, botões, formulários e seções de uma página, alterando os valores de padding, border, margin e width. Quando você começar a prever o resultado antes mesmo de atualizar o navegador, significa que o Box Model já está deixando de ser uma teoria e se tornando parte natural do seu conhecimento de CSS.

Conclusão

O Box Model do CSS é um dos fundamentos mais importantes para quem quer aprender desenvolvimento web. Ele está por trás do tamanho, dos espaçamentos e de boa parte dos comportamentos que você encontra ao construir interfaces. Dominar esse conceito torna muito mais fácil entender por que um elemento ocupa determinado espaço e como fazer ajustes sem depender de tentativa e erro.

Comece praticando com caixas simples, use as DevTools para observar cada camada e experimente diferentes combinações de padding, border, margin e box-sizing. Depois, leve esse conhecimento para projetos reais e combine o Box Model com Flexbox, Grid e outras ferramentas de layout do CSS.

Continue aprendendo

Comentários

0

Participe da conversa

Faça login com sua conta para deixar dúvidas, sugestões e trocar ideias com outros estudantes.

  • Nenhum comentário ainda. Seja o primeiro a participar da discussão!