IE盒子模型和標(biāo)準(zhǔn)W3C盒子模型
互聯(lián)網(wǎng) 發(fā)布時(shí)間:2009-04-02 19:33:52 作者:佚名
我要評(píng)論

網(wǎng)頁(yè)制作Webjx文章簡(jiǎn)介:盒子模型是CSS中一個(gè)重要的概念,理解了盒子模型才能更好的排版。其實(shí)盒子模型有兩種,分別是 IE 盒子模型和標(biāo)準(zhǔn) W3C 盒子模型。
盒子模型是CSS中一個(gè)重要的概念,理解了盒子模型才能更好的排版。其實(shí)
盒子模型是CSS中一個(gè)重要的概念,理解了盒子模型才能更好的排版。其實(shí)盒子模型有兩種,分別是 IE 盒子模型和標(biāo)準(zhǔn) W3C 盒子模型。
盒子模型是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 盒子模型解釋?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;如果用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è)瀏覽器中顯示一致了。
再用 jQuery 做的例子來(lái)證實(shí)一下。
代碼1: <html>
<head>
<title>你用的盒子模型是?</title>
<script language="javascript" src="jquery.min.js"></script>
<script language="javascript">
var sBox = $.boxModel ? "標(biāo)準(zhǔn)W3C":"IE";
document.write("您的頁(yè)面目前支持:" sBox "盒子模型");
</script>
</head>
<body>
</body>
</html>
上面的代碼沒(méi)有加上 DOCTYPE 聲明,在 IE 瀏覽器中顯示“IE盒子模型”,在 FF 瀏覽器中顯示“標(biāo)準(zhǔn) W3C 盒子模型”。
代碼2: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>你用的盒子模型是標(biāo)準(zhǔn)W3C盒子模型</title>
<script language="javascript" src="jquery.min.js"></script>
<script language="javascript">
var sBox = $.boxModel ? "標(biāo)準(zhǔn)W3C":"IE";
document.write("您的頁(yè)面目前支持:" sBox "盒子模型");
</script>
</head>
<body>
</body>
</html>
代碼2 與代碼1 唯一的不同的就是頂部加了 DOCTYPE 聲明。在所有瀏覽器中都顯示“標(biāo)準(zhǔn) W3C 盒子模型”。
所以為了讓網(wǎng)頁(yè)能兼容各個(gè)瀏覽器,讓我們用標(biāo)準(zhǔn) W3C 盒子模型。
相關(guān)文章
網(wǎng)頁(yè)里的兩種盒子模型(W3C盒子模型、IE盒子模型)
網(wǎng)頁(yè)里有兩種盒子模型標(biāo)準(zhǔn)一是W3C盒子模型;二是IE盒子模型(IE瀏覽器默認(rèn)的模型)下面就用公式來(lái)區(qū)分這兩種不同的盒子模型2013-09-08- 相信每一個(gè)從事web開(kāi)發(fā)的人對(duì)盒子模型都有一個(gè)特殊的理解吧,本文也有一個(gè)理解并附有示例代碼,喜歡的朋友可以參考下2013-08-30
- 本章將介紹CSS3中各種盒的知識(shí)點(diǎn);主要包含以下內(nèi)容:CSS3中各種各樣盒的類(lèi)型概念、瀏覽器支持情況2013-04-24
- 本章將介紹CSS3中各種盒的知識(shí)點(diǎn);主要包含以下內(nèi)容:CSS3中各種各樣盒的類(lèi)型概念、瀏覽器支持情況2013-04-24
IE6盒子模型沒(méi)問(wèn)題 詳測(cè)雙倍邊距
前兩天看的《IE6 很邪惡,但我愛(ài)它的盒子模型》,我說(shuō)盒子模型如何如何,面試官告訴我IE5的盒子模型有問(wèn)題,不是IE6。2010-08-27- 盒子模型,是XHTML+CSS布局頁(yè)面中的核心!要想學(xué)會(huì)用CSS布局頁(yè)面,就首先要理解盒子模型!2010-01-07
css的核心內(nèi)容 標(biāo)準(zhǔn)流、盒子模型、浮動(dòng)、定位等分析
css的核心內(nèi)容:標(biāo)準(zhǔn)流、盒子模型、浮動(dòng)、定位(可以說(shuō)不理解這些概念絕做不出合適的網(wǎng)頁(yè))2009-12-21- 剛剛看了css教程覺(jué)得很形象就貼出來(lái)了。想學(xué)習(xí)的朋友可以參考下。2009-10-15
HTML和CSS的關(guān)鍵:盒子模型(Box model)-CSS教程-網(wǎng)頁(yè)制作-網(wǎng)頁(yè)教學(xué)網(wǎng)
原文:http://jorux.com/archives/property-4-if-you-love-css/ 本文作為屬性篇的最后一篇文章, 將講述HTML和CSS的關(guān)鍵—盒子模型(Box model). 理解Box model的關(guān)2008-10-17