Skip to content

CSS: box sizing model

Het CSS box-sizing model bepaalt hoe de totale breedte en hoogte van een element wordt berekend.

box-sizing

Er zijn meerdere waarden mogelijk maar we bekijken de 2 belangrijkste.

content-box (browser standaard)

  • width en height gelden alleen voor de content
  • padding en border worden daarbovenop toegevoegd
  • totale breedte = width + padding + border
css
/* we gebruiken de universal selector met ook 
het ::after en ::before element om alle 
elementen op onze pagina's te selecteren */
*, 
*::before, 
*::after {
  box-sizing: content-box;
}

border-box (reset css standaard)

  • width en height omvatten content, padding én border
  • de content krimpt automatisch om ruimte te maken voor padding en border
  • totale breedte = width (inclusief alles)
css
/* we gebruiken de universal selector met ook 
het ::after en ::before element om alle 
elementen op onze pagina's te selecteren */
*, 
*::before, 
*::after {
  box-sizing: content-box;
}

Waarom border-box vaak handiger is:

Met border-box krijg je precies de afmetingen die je specificeert, ongeacht padding en border. Dit maakt responsive design en grid/flexbox layouts veel voorspelbaarder.

We zullen dus altijd de box-sizing property als border-box definiëren. Deze is reeds gedefiniëerd in de CSS-reset. Als je de css-reset correct toegevoegd hebt zal deze dus altijd correct staan voor de start van je project.