box-sizing
Vara CSS kontrollib, kuidas kasti mudel käideldakse elemendi see kehtib.
.module ( box-sizing: border-box; )
Üks levinumaid kasutusviise on selle rakendamine lehe kõigi elementide jaoks, sealhulgas pseudoelemendid:
*, *::before, *::after ( box-sizing: border-box; )
Seda nimetatakse sageli universaalseks kasti suuruse määramiseks ja see on hea viis töötada! width
Teie määratud (sõna otseses mõttes) on laius, mille saate, ilma et peaksite tegema vaimset matemaatikat ja haldama keerukust, mis tuleneb mitmetest omadustest tulenevatest laiustest. Siinkandis on meil isegi kastide suuruse suurendamise teadlikkuse päev.
Väärtused
content-box
: vaikimisi. Laiuse ja kõrguse väärtused kehtivad ainult elemendi sisule. Polsterdus ja ääris lisatakse kasti välisküljele.padding-box
: Laiuse ja kõrguse väärtused kehtivad elemendi sisule ja selle täidisele. Ääris lisatakse kasti välisküljele. Praegu toetabpadding-box
väärtust ainult Firefox .border-box
: Laiuse ja kõrguse väärtused kehtivad sisule, täidisele ja äärisele.inherit
: pärib vanema elemendi kasti suuruse.
Näide
Selle näitepildi abil võrreldakse vaikimisi content-box
(ülalt) ja border-box
(all):


Piltide vaheline punane joon tähistab elementide laiuse väärtust. Pange tähele, et vaikeväärtusega element box-sizing: content-box;
ületab deklareeritud laiuse, kui polsterdus ja ääris lisatakse sisukasti välisküljele, samal ajal kui rakendatud element box-sizing: border-box;
sobib täielikult deklareeritud laiusesse.
Kasti suuruse kasutamine
Oletame, et määrasite elemendi väärtuseks width: 100px; padding: 20px; border: 5px solid black;
. Vaikimisi on saadud kasti laius 150 pikslit. Selle põhjuseks on kasti vaikimisi suuruse mudel content-box
, mis rakendab elemendi deklareeritud laiust ainult selle sisule, asetades polstri ja piiri väljaspool elemendi kasti. See suurendab elemendi tegelikku ruumi võtmist.
Kui muudate box-sizing
et padding-box
tuleb polster surutakse sees elemendi kasti. Siis oleks kasti laius 110 pikslit, siseküljel 20 pikslit ja välisküljel 10 pikslit. Kui soovite polsterduse ja äärise kasti sisse panna, võite seda kasutada border-box
. Kast oleks siis 100px lai - nii 10px ääris kui 20px polsterdused surutakse mõlemad elemendi kasti sisse.
Demo
Vaadake CodePeni lehel CSS-Tricks (@ css-tricks) kasti suuruse väärtuste võrdlust.
Seotud
width
height
padding
border
Brauseri tugi
Chrome | Safari | Firefox | Ooper | IE | Android | iOS |
---|---|---|---|---|---|---|
Mis tahes * † | 3 * † | 1 ‡ | 7 * | 8 * | 2,1 * † | Mis tahes * |
* padding-box
ei toetata
† vanemad versioonid vajavad -webkit
eesliidet (Chrome 1-9, Safari 3-5, Android 2.1-3.x)
‡ -moz
vajalik on eesliide kuni versioonini 28, eesliiteta alates 29. kuupäevast.