Box Sizing CSS
- Página anterior CSS @property
- Próxima página Flexbox CSS
Box Sizing CSS
CSS box-sizing
A propriedade permite que incluímos o preenchimento (espessura) e a borda no total da largura e altura do elemento.
Supondo que não seja especificado a propriedade CSS box-sizing
Por padrão, a largura e altura do elemento são calculadas assim:
- width + padding + border = largura real do elemento
- height + padding + border = altura real do elemento
Isso significa: quando você define a largura/altura do elemento, o elemento geralmente parece maior do que você definiu (porque a borda e o preenchimento do elemento já foram adicionados à largura/altura especificada do elemento).
A imagem a seguir mostra dois elementos <div> com a mesma largura e altura especificada:
(largura é 300px, altura é 100px).
(largura também é 300px, altura é 100px).
Os dois elementos <div> acima apresentam tamanhos diferentes no resultado final (porque o div2 especificou o preenchimento):
Exemplo
.div1 { width: 300px; height: 100px; border: 1px solid blue; } .div2 { width: 300px; height: 100px; padding: 50px; border: 1px solid red; }
box-sizing
A propriedade resolve esse problema.
Se usarmos a propriedade CSS box-sizing
box-sizing
A propriedade permite que incluímos o preenchimento e a borda no total da largura e altura do elemento.
Se definirmos uma propriedade no elemento box-sizing: border-box;
Se definirmos a largura e altura, então a largura e altura incluirão o preenchimento e a borda:
Este exemplo é idêntico ao anterior, os dois elementos <div> configuraram box-sizing: border-box;
:
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; }
Devido ao uso box-sizing: border-box;
a eficácia é tão boa, muitos desenvolvedores desejam que todos os elementos na página funcionem dessa maneira.
O código abaixo garante que todos os elementos sejam ajustados de maneira mais intuitiva. Muitos navegadores já estão usando box-sizing: border-box;
(mas não todos - isso é por que input e textarea têm um aspecto diferente quando width: 100%;)。
Aplicá-lo a todos os elementos é seguro e inteligente:
Exemplo
* { box-sizing: border-box; }
Propriedade Box Sizing CSS
Atributo | Descrição |
---|---|
box-sizing | Definir o cálculo da largura e da altura dos elementos: se eles devem incluir margem interna (padding) e borda. |
- Página anterior CSS @property
- Próxima página Flexbox CSS