理解box-sizing屬性border-box,content-box

對(duì)于盒子模型的理解

首先W3C的解釋

1、box-sizing:content-box的時(shí)候:

這是由 CSS2.1 規(guī)定的寬度高度行為。

寬度和高度分別應(yīng)用到元素的內(nèi)容框。

在寬度和高度之外繪制元素的內(nèi)邊距和邊框。

2、box-sizing:border-box的時(shí)候:

為元素設(shè)定的寬度和高度決定了元素的邊框盒。

就是說(shuō),為元素指定的任何內(nèi)邊距和邊框都將在已設(shè)定的寬度和高度內(nèi)進(jìn)行繪制。

通過(guò)從已設(shè)定的寬度和高度分別減去邊框和內(nèi)邊距才能得到內(nèi)容的寬度和高度。

通過(guò)圖更直觀的對(duì)比:

圖一

圖一是box-sizing:content-box的時(shí)候:

這個(gè)時(shí)候盒子模型的范圍包括 margin、border、padding、content,并且 content 部分不包含其他部分。

例如一個(gè)盒子的 margin 為 20px,border 為 1px,padding 為 10px,content 的寬為 200px、高為 50px,假如box-sizing:content-box 盒子模型解釋?zhuān)敲催@個(gè)盒子需要占據(jù)的位置為:寬 20*2+1*2+10*2+200=262px、高 20*2+1*2*10*2+50=112px,盒子的實(shí)際大小為:寬 1*2+10*2+200=222px、高 1*2+10*2+50=72px

圖二

圖二是box-sizing:border-box的時(shí)候:

從上圖可以看到 ie 盒子模型的范圍也包括 margin、border、padding、content,和box-sizing:content-box盒子模型不同的是:該 盒子模型的 content 部分包含了 border 和 pading。

例如一個(gè)盒子的 margin 為 20px,border 為 1px,padding 為 10px,content 的寬為 200px、高為 50px,假如box-sizing:border-box盒子模型解釋?zhuān)敲催@個(gè)盒子需要占據(jù)的位置為:那么這個(gè)盒子需要占據(jù)的位置為:寬 20*2+200=240px、高 20*2+50=70px,盒子的實(shí)際大小為:寬 200px、高 50px

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容