IE 盒模型和W3C盒模型區(qū)別

盒模型在初學(xué)css的時(shí)候就會(huì)接觸到,其實(shí)很容易理解,這里也不多廢話,但是實(shí)際上在布局的時(shí)候還是會(huì)出現(xiàn)很多問題。對(duì)于盒模型的認(rèn)識(shí)不能只停留在知道一個(gè)盒模型由哪些部分構(gòu)成,也要更多的了解如何在不同情況下利用盒模型的特點(diǎn)進(jìn)行布局。
這里討論一下兩種不同的盒模型: W3C盒模型和IE盒模型。
其實(shí)IE的盒模型問題只會(huì)出現(xiàn)在IE5.5及其更早的版本中,因?yàn)樵贗E6及更新的版本在標(biāo)準(zhǔn)兼容模式下使用的是W3C的盒模型標(biāo)準(zhǔn),但事實(shí)上不僅IE5.5,連IE6的使用率也很少了,這里對(duì)他們進(jìn)行討論只是為了更深刻的理解盒模型。
對(duì)于兩種模型這里有一張圖:


W3C盒模型和IE瀏覽器盒模型

可以看到IE的盒模型與W3C盒模型的區(qū)別在與width的計(jì)算,這說明什么問題呢?我們?cè)谠O(shè)置樣式的時(shí)候經(jīng)常會(huì)用到margin和padding還有width,對(duì)于下面html文件:

<!-- 沒有聲明 -->
<html>
<head lang="ch">
    <meta charset="UTF-8">
    <title></title>
    <style>
        .box{
            float:left;
            width: 100px;
            height: 100px;
            background-color: #ff9000;
        }
        .container{
            width: 200px;
            padding: 10px;
            background-color: #f00;
            overflow: hidden;
        }
    </style>
</head>
<body>
    <div class="container">
        <div class="box"></div>
        <div class="box"></div>
    </div>
<script>
</script>
</body>
</html>

不管是不是IE,瀏覽器下顯示的效果都是:


微信截圖_20181014002549.png

可以看到container正好將兩個(gè)box包裝起來。

但加入給container添加一個(gè)padding如下:

.container{
    width: 200px;
    background-color: #f00;
    overflow: hidden;
    padding: 10px;
}

則其在非IE下的樣式為:


微信截圖_20181014002638.png

但在IE下為:


微信截圖_20181014002652.png

IE中的box換行了,這就是因?yàn)镮E中的width是包括了padding的,而W3C也就是我們平常使用的盒模型不包括,不管padding加多少內(nèi)容區(qū)域的寬度不會(huì)改變,這也十分合理。
避免觸發(fā)IE盒模型的方法是使用<!DOCTYPE html>聲明,告訴IE采用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)容

  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補(bǔ)...
    _Yfling閱讀 14,108評(píng)論 1 92
  • 1. 前言 前端圈有個(gè)“?!保涸诿嬖嚂r(shí),問個(gè)css的position屬性能刷掉一半人,其中不乏工作四五年的同學(xué)。在...
    YjWorld閱讀 4,902評(píng)論 5 15
  • 盒模型 盒模型(box model)是CSS中的一個(gè)重要概念。在一個(gè)網(wǎng)頁(yè)文檔中,每個(gè)元素都被呈現(xiàn)為一個(gè)矩形的盒子,...
    饑人谷_易燃閱讀 5,182評(píng)論 0 3
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML標(biāo)準(zhǔn)。 注意:講述HT...
    kismetajun閱讀 28,797評(píng)論 1 45
  • 我在《把vim配置成順手的python輕量級(jí)IDE(一)》中介紹了一些vim的插件,那些插件對(duì)于應(yīng)付簡(jiǎn)單的實(shí)驗(yàn)已經(jīng)...
    yiekue閱讀 6,831評(píng)論 12 30

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