国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > CSS > 正文

CSS深入學習之讓你認識不一樣的margin

2024-07-11 08:32:11
字體:
來源:轉載
供稿:網友

一、簡介

margin我們一般習慣的叫它外邊距,分別可以設置四個方向的外邊距,這里不再贅述賦值語法。

實際上,我們通常設置的margin是物理級別的設置,而margin還有start、end、before、after等,這些主要是邏輯級別的設置,如果你感興趣的話,自行Google吧。

在設置margin時,我們必須要知道:

對于塊級元素,margin在四個方向是多有效; 對于內聯元素,margin只在水平方向有效。
 

二、盒子模型

說到margin,不得不說一下盒子模型:

1、從內之外content => padding => border => margin
 

盒子模型之所以要終點理解,主要是盒子模型的標準不一樣,也就決定我們在CSS中設置的width到底是什么,這時大家多會想起那幾個計算公式,實際上CSS3的到來,我們可以通過box-sizing來設置盒子模型的標準:

2、border-box: width從border開始計算;
 

3、content-box: width從content開始計算;
 

4、padding-box: 已經從標準中去除。

再來一張圖,是不是已經了然于胸了
 

三、margin重疊問題

這種問題主要發生在block元素上并且不是浮動元素(這里并沒有描述清楚,在后面會詳細講),下面我們來看發生的情況。

1、發生在相鄰的兄弟元素

.a { margin: 50px 0; } .b { margin: 100px 0; }

相鄰的兄弟元素發生的margin重疊
 

這種情況發生margin重疊,相鄰兄弟節點之間的距離為最大margin值,避免這種情況的最佳方式,在垂直方向上,只設置margin-top或者margin-bottom。

2、發生在父子節點

div(class="b") div(class="a") div(class="c") C
.a { margin: 20px 0; } .b { margin: 100px 0; }

父子節點發生margin重疊
 

這里按照我們的理解應該是a距離b是20像素,c距離a是100像素。但是事實卻不是這樣,這里我們可以通過以下方法解決重疊的問題:

父元素設置border; 父元素設置padding; 父元素設置overflow為hidden或者scroll,其他的不適用; 父元素設置position為fixed或者absolute,其他的不適用。

四、神奇的margin負值

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 连山| 辽宁省| 巴中市| 五台县| 隆德县| 怀集县| 琼结县| 柘荣县| 大方县| 满城县| 鄂尔多斯市| 久治县| 柳河县| 林甸县| 安国市| 咸阳市| 霍城县| 咸丰县| 金溪县| 翁牛特旗| 梨树县| 蓝田县| 峨眉山市| 广州市| 绥德县| 土默特右旗| 宁津县| 广平县| 博乐市| 奎屯市| 华蓥市| 洞头县| 灵山县| 孙吴县| 呼伦贝尔市| 剑阁县| 慈溪市| 万载县| 康乐县| 汝城县| 柘荣县|