css學習筆記之盒模型

轉自: https://segmentfault.com/q/1010000005057015/a-1020000005057235

           http://www.cnblogs.com/xiaohuochai/p/6252163.html


盒模型
  盒模型又叫框模型,由寬高、內邊距、邊框和外邊距組成


四個盒子結構
1、元素框是指 margin box
   元素框: width/height + padding + border + margin

2、可視區域是指 border box
[注意]關於可視區域,一直都有兩個爭論,一個指border box,另一個指padding box。但從字面去理解,可視區域應該就是指可以看到的區域,應該以border box爲準
可視區域:width/height + padding + border

3、客戶區是指 padding box
[注意]關於客戶區這種說法來源於javascript中的clientWidth和clientHeight
客戶區:width/height + padding

4、內容區是指 content box
內容區:width/height




  

兩種盒子模型

一般稱IE8及其以上爲標準盒子模型(w3c盒子模型),範圍包括 margin、border、padding、content,並且 content 部分不包含其他部分。






IE8以下的爲IE 盒子模型,範圍也包括 margin、border、padding、content,和標準盒子模型不同的是:IE 盒子模型的 content 部分包含了 border 和 pading。




行內盒子

1.不支持width和height

行級盒子的content box的高/寬不是通過height/width設置的。
 content box/area的高由font-size決定的;
 content box/area的寬等於其子行級盒子的外寬度(margin+border+padding+content width)之和。

2.當行內盒子寬度大於父容器寬度(自身width無效)時會被拆分成多個行內盒子。

3.margin和padding對行內盒子的影響(親自做了測試是這種情況 但不清楚原理)

左右的margin和padding都是有效果的,就不多說了。

上下的margin對行內盒子是無效果的。

上下padding對行內盒子的內容是無效果的(line-height不變),但是對backgroundborder是有影響的,而且影響不同。

首先background,padding-top會覆蓋掉相鄰的元素包括背景和內容,padding-bottom只會覆蓋掉相鄰元素的背景,內容並不會

再是border,padding-top和padding-bottom對border的影響是一樣的,都是有效果的。





發佈了21 篇原創文章 · 獲贊 3 · 訪問量 7918
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章