Tutorial de CSS

CSS INÍCIO Introdução CSS Sintaxe CSS Seletores CSS CSS Como fazer Comentários CSS Cores CSS Planos de fundo CSS Bordas CSS Margens CSS Preenchimento CSS CSS Altura/Largura Modelo de caixa CSS Esboço CSS Texto CSS Fontes CSS Ícones CSS Links CSS Listas CSS Tabelas CSS Exibição CSS Largura máxima do CSS Posição CSS Índice Z CSS Estouro de CSS CSS flutuante Bloco CSS Inline Alinhamento CSS Combinadores CSS Pseudoclasse CSS Pseudoelemento CSS Opacidade CSS Barra de navegação CSS Listas suspensas de CSS Galeria de imagens CSS Sprites de imagem CSS Seletores de atributos CSS Formulários CSS Contadores CSS Layout do site CSS Unidades CSS Especificidade CSS CSS !importante Funções matemáticas CSS

CSS Avançado

Cantos arredondados CSS Imagens de borda CSS Planos de fundo CSS Cores CSS Palavras-chave de cores CSS Gradientes CSS Sombras CSS Efeitos de texto CSS Fontes da Web CSS Transformações CSS 2D Transformações CSS 3D Transições CSS Animações CSS Dicas de CSS Imagens de estilo CSS Reflexão de imagem CSS Ajuste de objeto CSS posição do objeto CSS Mascaramento CSS Botões CSS Paginação CSS CSS Múltiplas Colunas Interface de usuário CSS Variáveis ​​CSS Dimensionamento da caixa CSS Consultas de mídia CSS Exemplos de CSS MQ CSS Flexbox

Responsivo a CSS

Introdução ao RWD Janela de visualização RWD Visualização de Grade RWD Consultas de mídia RWD Imagens RWD Vídeos RWD Estruturas RWD Modelos RWD

Grade CSS

Introdução à grade Contêiner de Grade Item de grade

CSS SASS

Tutorial SASS

Exemplos de CSS

Modelos CSS Exemplos de CSS teste css Exercícios de CSS Certificado CSS

Referências CSS

Referência CSS Seletores CSS Funções CSS Aural de referência CSS Fontes CSS seguras para a Web CSS Animatable Unidades CSS CSS PX-EM Converter Cores CSS Valores de cores CSS Valores padrão de CSS Suporte ao navegador CSS

Dimensionamento da caixa CSS


Dimensionamento da caixa CSS

A propriedade CSS box-sizingnos permite incluir o preenchimento e a borda na largura e altura total de um elemento.


Sem a propriedade de dimensionamento de caixa CSS

Por padrão, a largura e a altura de um elemento são calculadas assim:

largura + preenchimento + borda = largura real de um elemento
altura + preenchimento + borda = altura real de um elemento

Isso significa: Quando você define a largura/altura de um elemento, o elemento geralmente aparece maior do que você definiu (porque a borda e o preenchimento do elemento são adicionados à largura/altura especificada do elemento).

A ilustração a seguir mostra dois elementos <div> com a mesma largura e altura especificadas:

Este div é menor (largura é 300px e altura é 100px).

Este div é maior (a largura também é 300px e a altura é 100px).

Os dois elementos <div> acima acabam com tamanhos diferentes no resultado (porque div2 tem um preenchimento especificado):

Exemplo

.div1 {
  width: 300px;
  height: 100px;
  border: 1px solid blue;
}

.div2 {
  width: 300px;
  height: 100px;
  padding: 50px;
  border: 1px solid red;
}

A box-sizingpropriedade resolve este problema.



Com a propriedade de dimensionamento de caixa CSS

A box-sizingpropriedade nos permite incluir o preenchimento e a borda na largura e altura totais de um elemento.

Se você definir box-sizing: border-box;em um elemento, o preenchimento e a borda serão incluídos na largura e na altura:

Ambos os divs são do mesmo tamanho agora!

Viva!

Aqui está o mesmo exemplo acima, box-sizing: border-box; adicionado a ambos os elementos <div>:

Exemplo

.div1 {
  width: 300px;
  height: 100px;
  border: 1px solid blue;
  box-sizing: border-box;
}

.div2 {
  width: 300px;
  height: 100px;
  padding: 50px;
  border: 1px solid red;
  box-sizing: border-box;
}

Como o resultado do uso do the box-sizing: border-box;é muito melhor, muitos desenvolvedores desejam que todos os elementos em suas páginas funcionem dessa maneira.

O código abaixo garante que todos os elementos sejam dimensionados dessa maneira mais intuitiva. Muitos navegadores já usam box-sizing: border-box;muitos elementos de formulário (mas não todos - e é por isso que as entradas e as áreas de texto parecem diferentes na largura: 100%;).

Aplicar isso a todos os elementos é seguro e sábio:

Exemplo

* {
  box-sizing: border-box;
}

Propriedade de dimensionamento de caixa CSS

Property Description
box-sizing Defines how the width and height of an element are calculated: should they include padding and borders, or not