對(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