box-sizing nadzira kaj lastnosti width in height dejansko merijo. Privzeto (content-box) meri samo vsebino; jih naredi, da vključujeta opolnomočenje in rob.
box-sizing nadzira kaj lastnosti width in height dejansko merijo. Privzeto (content-box) meri samo vsebino; jih naredi, da vključujeta opolnomočenje in rob.
border-box.box {
box-sizing: content-box; /* the default */
width: 200px;
padding: 20px;
border: 5px solid;
}
/* Rendered width = 200 + 2×20 + 2×5 = 250px ← bigger than you asked for! */
Z content-box se polnilo in rob dodata na width, zato je element na koncu širši od števila, ki ste ga nastavili. To pokvari postavitve: škatla width: 50% s polnilom preplavi svojih 50%.
.box {
box-sizing: border-box;
width: 200px;
padding: 20px;
border: 5px solid;
}
/* Rendered width = 200px TOTAL. Content shrinks to 150px to make room. */
Z border-box je width končna prikazana širina — polnilo in rob se odštejejo od notranjosti. Število, ki ga nastavite, je velikost, ki je dobite, kar je veliko bolj intuitivno.
*, *::before, *::after {
box-sizing: border-box;
}
Skoraj vsak sodoben slog, ogrodje in reset to uporabi globalno. To naredi dimenzioniranje napovedljivo: width: 50% + polnilo ostane natanko 50% široko, dve škatli width: 50% sedita druga ob drugi brez prelivanja itd.
border-box odpravi največji vir glav s postavitvijo — potrebo, da mentalno dodate polnilo in rob vsakemu width.
Njegova nastavitev globalno velja za najboljšo prakso, ker je »širina, ki sem jo nastavil, je širina, ki je dobim« pričakovanje, kako bi naravno delalo dimenzioniranje.
Knjižnica IT vprašanj za razgovore s podrobnimi odgovori — od začetnika do izkušenega.
Doniraj