CSS descomplicado: entendendo a propriedade box-sizing

Marcelo Lemes
orangejuicetech
Published in
3 min readJul 7, 2023

Durante o processo de desenvolvimento de interfaces para aplicações web, ter o controle do tamanho e do posicionamento de cada elemento é fundamental para o resultado sair como o esperado. Por isso, neste artigo vamos abordar uma propriedade CSS que pode melhorar significativamente o desenvolvimento e estilização de suas páginas, a box-sizing.

Antes de explicar as vantagens e os valores que essa propriedade pode receber, temos que falar sobre o conceito de box-model. De acordo com a W3Schools, box-model é essencialmente a caixa que envolve o elemento e inclui margem, borda, padding e o conteúdo propriamente dito do componente.

Content-box

Por padrão, o valor da propriedade box-sizing é content-box. Dessa forma, o tamanho especificado para o elemento será aplicado apenas no conteúdo em si, sem considerar margens, paddings e bordas.

Os outros valores (margens, paddings e bordas), se existentes, serão incluídos ao elemento e suas medidas serão somadas ao tamanho original do elemento e ele parecerá ser maior do que o valor definido.

No caso de um elemento com a largura de 300px, margens de 10px, padding de 5px e bordas de 1px, o resultado visualizado em tela terá largura total de 312px.

elemento {
border: 1x solid black;
margin: 10px;
padding: 5px;
width: 300px;
}

300px (largura definida) + 10px (5px de padding de cada lado) + 2px (1px de borda de cada lado) = 312px

Obs.: no caso acima, a margem de 10px também está sendo aplicada e está presente no elemento. No entanto, não conseguimos visualiza-la.

Border-box

Outro valor possível para a propriedade box-sizing é border-box. Com ele no tamanho visualizado em tela serão incluídos os valores do elemento, o padding e a borda, ficando de fora apenas a margem.

Ainda com o exemplo acima, o elemento ficaria com largura de 300px e as margens de 10px cada, não visíveis em tela, mas presentes.

Ou seja, as medidas do padding e da borda são incluídos na largura estabelecida (width: 300px) e o tamanho final após a soma com o valor do elemento em si deverá ser os 300px.

Vantagens

Dentre as vantagens de uso do box-sizing estão o melhor controle do layout, evitando a necessidade de realizar cálculos complexos para chegar ao resultado esperado.

Além disso, seu uso permite a definição de medidas usando tamanhos relativos ao componente no qual o elemento está contido, pois garante que seu tamanho total permaneça consistente, independentemente das bordas e do preenchimento adicionados.

O box-sizing é compatível com outras propriedades do CSS, como flexbox e grid, permitindo controlar a estilização de forma ainda mais eficaz.

Conclusão

A escolha de como utilizar o box-sizing depende do objetivo proposto, mas de forma geral sugiro utilizar border-box sempre que o componente receber padding e/ou bordas. Isso permite termos maior controle para a criação dos componentes. Mas reforço que a escolha deve ser feita sempre com a análise de cada caso.

--

--

Marcelo Lemes
orangejuicetech
0 Followers
Writer for

Desenvolvedor de softwares com experiência em comunicação buscando diminuir a distância entre a tecnologia e as necessidades das pessoas.