亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

css中盒模型是什么意思

發布時間:2021-04-06 09:22:29 來源:億速云 閱讀:190 作者:小新 欄目:web開發

小編給大家分享一下css中盒模型是什么意思,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

CSS3盒模型是CSS技術所使用的一種思維模型,指在一個網頁文檔中,每個元素都被呈現為一個矩形的盒子,描述了元素所占空間的內容。css有兩種盒模型:W3C盒模型(標準盒模型)和IE盒模型(怪異盒模型)。

1、什么是CSS盒模型

CSS3盒模型就是CSS技術所使用的一種思維模型,指在一個網頁文檔中,每個元素都被呈現為一個矩形的盒子,描述了元素所占空間的內容。

盒模型,顧名思義,就是一個盒子。生活中的盒子,有長寬高,盒子本身也有厚度,可以用來裝東西。頁面上的盒模型我們可以理解為,從盒子頂部俯視所得的一個平面圖,盒子里裝的東西,相當于盒模型的內容(content);東西與盒子之間的空隙,理解為盒模型的內邊距(padding);盒子本身的厚度,就是盒模型的邊框(border);盒子外與其他盒子之間的間隔,就是盒子的外邊距(margin)。

元素的外邊距(margin)、邊框(border)、內邊距(padding)、內容(content)就構成了CSS盒模型。

css中盒模型是什么意思

圖1. 盒模型示意圖

2、IE盒模型和W3C盒模型

CSS盒模型分為IE盒模型(圖2)和W3C盒模型(圖3)。其實,IE盒模型是怪異模式(Quirks Mode)下的盒模型,而W3C盒模型是標準模式(Standards Mode)下的盒模型。

IE6及其更高的版本,還有現在所有標準的瀏覽器都遵循的是W3C盒模型,IE6以下版本的瀏覽器遵循的是IE盒模型。

css中盒模型是什么意思

圖2. IE盒模型

css中盒模型是什么意思

圖3. W3C盒模型

從上圖直觀的可以看出,IE盒模型的寬度或者高度計算方式為:width/height = content + padding + border,W3C盒模型的寬度或者高度計算方式為:width/height = content。

舉一個簡單的例子:一個div的寬度和高度為100px,內邊距為10px,邊框為5px,外邊距為30px。圖4為不同模型下顯示的結果,W3C盒模型下顯示的div所占的總寬度和總高度(包括外邊距、邊框、內邊距、內容)為100 + 10 + 5 + 30 = 145px,IE盒模型下顯示的div所占的總寬度和總高度(包括外邊距、邊框、內邊距、內容)為100 + 30 = 130px。很明顯的區別,如果元素的寬度(width)一定的情況下,W3C盒模型的寬度(width)不包括內邊距和邊框,IE盒模包括。

代碼如下:

<style>
  .content {background: #eee; height: auto;border: 1px solid blue;}
  .div {width: 100px;height: 100px;margin: 30px;padding: 10px;border: 5px solid blue;}
  .div-01 {background: orange;}
  .div-02 {background: yellow;box-sizing: border-box;}
</style>
<div class="content">
  <div class="div div-01">div01</div>
  <div class="div div-02">div02</div>
</div>

頁面效果如下:

css中盒模型是什么意思

圖4. 區別

3、CSS3屬性box-sizing

如果計算一個盒子的長寬高,我們一般都是盒子本身的厚度加上盒子里的空間大小,所在在IE盒模型和W3C盒模型,我們會覺得IE盒模型更符合邏輯。

不同的人有不同的習慣,所以CSS3新增了一個屬性box-sizing: content-box | border-box | inherit,默認值為content-box。如果值為content-box,那元素遵循的是W3C盒模型;如果值為border-box,那元素遵循的是IE盒模型;如果值為inherit,該屬性的值應該從父元素繼承。

4、關于盒模型的使用

有沒有人和我一樣,覺得屬性box-sizing真是個好東西,只需設置所有元素的該屬性為content-box或者border-box,滿足自己的習慣。

css中盒模型是什么意思

雖說現在的瀏覽器都兼容該屬性(如上圖),還是得以防萬一,在屬性前最好暫時加-webkit-和-moz-前綴。

* {
  -webkit-box-sizing: content-box;
  -moz-box-sizing: content-box;
  box-sizing: content-box;
}

在上圖,我們看到IE兼容屬性box-sizing必須是8或者更高的版本,其他瀏覽器都可以自動升級,兼容性不擔心,那如果是IE7、IE6或者更低的版本,怎么辦?還有,如果我們不用該屬性,那瀏覽器該選擇哪種盒模型呢?

其實,瀏覽器選擇哪個盒模型,主要看瀏覽器處于標準模式(Standards Mode)還是怪異模式(Quirks Mode)。我們都記得<!DOCTYPE>聲明吧,這是告訴瀏覽器選擇哪個版本的HTML,<!DOCTYPE>后面一般有DTD的聲明,如果有DTD的聲明,瀏覽器就是處于標準模式;如果沒有DTD聲明或者HTML4一下的DTD聲明,那瀏覽器按照自己的方式解析代碼,處于怪異模式。

處于標準模式的瀏覽器(IE瀏覽器版本必須是6或者6以上),會選擇W3C盒模型解析代碼;處于怪異模式的瀏覽器,則會按照自己的方式去解析代碼,IE6以下則會是選擇IE盒模型,其他現代的瀏覽器都是采用W3C盒模型。

因為IE6以下版本的瀏覽器沒有遵循Web標準,不論頁面開頭有沒有DTD聲明,它都是按照IE盒模型解析代碼的。

以上是“css中盒模型是什么意思”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

css
AI

邻水| 五原县| 磐安县| 依安县| 大竹县| 泉州市| 深圳市| 吴堡县| 黄陵县| 秦安县| 永州市| 延吉市| 渝中区| 兴宁市| 和顺县| 鹤庆县| 清水河县| 惠水县| 屏南县| 岫岩| 砀山县| 沙坪坝区| 辉南县| 和平县| 阜康市| 牡丹江市| 大埔县| 夹江县| 荥经县| 澎湖县| 元朗区| 米泉市| 杂多县| 定边县| 新龙县| 博爱县| 当涂县| 奇台县| 海丰县| 休宁县| 志丹县|