css盒模型不同瀏覽器下解釋不同 解決辦法

盒子模型是css中一個(gè)重要的概念,理解了盒子模型才能更好的排版。其實(shí)盒子模型有兩種,分別是 ie 盒子模型和標(biāo)準(zhǔn) w3c 盒子模型。他們對(duì)盒子模型的解釋各不相同,先來(lái)看看我們熟知的標(biāo)準(zhǔn)盒子模型:


  從上圖可以看到標(biāo)準(zhǔn) w3c 盒子模型的范圍包括 margin、border、padding、content,并且 content 部分不包含其他部分。

ie 盒子模型


  從上圖可以看到 ie 盒子模型的范圍也包括 margin、border、padding、content,和標(biāo)準(zhǔn) w3c 盒子模型不同的是:ie 盒子模型的 content 部分包含了 border 和 pading。

   例:一個(gè)盒子的 margin 為 20px,border 為 1px,padding 為 10px,content 的寬為 200px、高為 50px,假如用標(biāo)準(zhǔn) w3c 盒子模型解釋,那么這個(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;假如用ie 盒子模型,那么這個(gè)盒子需要占據(jù)的位置為:寬 20*2+200=240px、高 20*2+50=70px,盒子的實(shí)際大小為:寬 200px、高 50px。

 那應(yīng)該選擇哪中盒子模型呢?當(dāng)然是“標(biāo)準(zhǔn) w3c 盒子模型”了。怎么樣才算是選擇了“標(biāo)準(zhǔn) w3c 盒子模型”呢?很簡(jiǎn)單,就是在網(wǎng)頁(yè)的頂部加上 doctype 聲明。假如不加 doctype 聲明,那么各個(gè)瀏覽器會(huì)根據(jù)自己的行為去理解網(wǎng)頁(yè),即 ie 瀏覽器會(huì)采用 ie 盒子模型去解釋你的盒子,而 ff 會(huì)采用標(biāo)準(zhǔn) w3c 盒子模型解釋你的盒子,所以網(wǎng)頁(yè)在不同的瀏覽器中就顯示的不一樣了。反之,假如加上了 doctype 聲明,那么所有瀏覽器都會(huì)采用標(biāo)準(zhǔn) w3c 盒子模型去解釋你的盒子,網(wǎng)頁(yè)就能在各個(gè)瀏覽器中顯示一致了。

<!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd">

 頂部加了 doctype 聲明。在所有瀏覽器中都顯示“標(biāo)準(zhǔn) w3c 盒子模型”。所以為了讓網(wǎng)頁(yè)能兼容各個(gè)瀏覽器,讓我們用標(biāo)準(zhǔn) w3c 盒子模型。

最后編輯于
?著作權(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)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

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