Wat is het boxmodel in CSS?
sobes.tech AI
Antwoord van AI
Het CSS-boxmodel beschrijft hoe elementen op de pagina worden weergegeven als rechthoekige blokken. Het bestaat uit vier zones of lagen die op elkaar liggen, beginnend met de inhoud:
-
Inhoud: Het gebied waar de daadwerkelijke inhoud van het element zich bevindt (tekst, afbeeldingen, enz.). De grootte wordt bepaald door de eigenschappen
widthenheight. -
Padding (Binnenruimte): Het transparante gebied tussen de inhoud en de rand van het element. Het wordt ingesteld met de eigenschappen
padding-top,padding-right,padding-bottom,padding-leftof de verkortepadding. -
Rand (Border): De lijn die Padding en Inhoud omringt. De stijl, dikte en kleur worden bepaald door de eigenschappen
border-width,border-style,border-colorof door verkortingen zoalsborder. -
Marge (Margin): Het transparante gebied rond de rand van het element, dat het scheidt van andere elementen. Het wordt ingesteld met de eigenschappen
margin-top,margin-right,margin-bottom,margin-leftof de verkortemargin. Marges van aangrenzende blokken kunnen samenvallen.
Het standaardgedrag, beschreven door box-sizing: content-box (standaard), bepaalt dat de eigenschappen width en height alleen betrekking hebben op de inhoud (Content). Padding en Border worden aan deze maat toegevoegd, waardoor de totale grootte van het element toeneemt.
Bij gebruik van box-sizing: border-box omvatten de eigenschappen width en height de Inhoud, Padding en Border. Marges (margin) worden altijd bij de totale grootte van het element opgeteld, ongeacht box-sizing.
Voorbeeld:
div {
width: 100px; /* Breedte van de inhoud (voor content-box) of van het hele element (voor border-box) */
height: 50px; /* Hoogte van de inhoud (voor content-box) of van het hele element (voor border-box) */
padding: 10px; /* Binnenruimte */
border: 2px solid black; /* Rand */
margin: 15px; /* Externe marge */
}
Afhankelijk van de waarde van box-sizing zullen de werkelijke afmetingen van het element verschillen.
box-sizing: content-box: De werkelijke breedte = 100px (Inhoud) + 10px (Padding links) + 10px (Padding rechts) + 2px (Border links) + 2px (Border rechts) = 124px. De werkelijke hoogte = 50px (Inhoud) + 10px (Padding boven) + 10px (Padding onder) + 2px (Border boven) + 2px (Border onder) = 74px.box-sizing: border-box: De werkelijke breedte = 100px (Inhoud + Padding + Border). De werkelijke hoogte = 50px (Inhoud + Padding + Border).
De externe marge margin: 15px wordt toegevoegd rondom deze totale grootte.