CSS 之margin知識點(必看)

1.margin的百分比值普通元素的百分比maigin相對于容器元素的寬度(width) 進(jìn)行計算的。
這里我們在圖片外面設(shè)置一個寬高分別為800 * 600的容器。設(shè)置img{ margin: 10%; }
結(jié)果如下
結(jié)果margin值都是 800 * 10% = 80px; 所以這里都是相對于容器的寬度計算的 容器的寬度計算 容器的寬度計算。說三遍
2.絕對定位的百分比maigin值
相對于第一個定位的祖先元素的 width值計算的。就是 parent 的 width = 1000px. 所以 margin = 100px;
3.可以使用margin 實現(xiàn) 2 : 1 的自適應(yīng)
比如 有兩個容器
這里 box的高度沒有指定。 由于設(shè)置 margin 50% 。他的高度就是父容器的一半 所以高寬比就是 1 : 2;
4. margin 的重疊 為什么重疊
A) margin 重疊的兩個特性
只會發(fā)生在block的水平元素上。 (不包括 float 和 absolute元素)
不考慮 wirte-mode(就是書寫格式) 只發(fā)生在 垂直方向(margin-top margin-bottom)
B) 發(fā)生的情況
1> 相鄰的兄弟元素
2> 父級的第一個 和 最后一個子元素
3> 空的 block。
例子一 相鄰的兄弟元素
這里就是兩個兄弟元素 。
這里的 兩個p 之間只有一個em 沒有兩個em。 因為第一個margin-bottom 和 第二個的 margin-top 發(fā)生了重疊。
例子二 父元素和最后一個子元素 重疊
按照常規(guī)理論 son 和 父元素的 father 之間會 留出 80px的 margin-top值。但是實際上沒有。son的背景元素沒有變化 沒有留出80px;
這里只是 給 父元素設(shè)置了 80px;
父子 margin重疊的 條件
那么怎么干掉margin-top 重疊呢?
只要不讓它滿足那些條件就可以了。
父元素添加 overflow: hidden; border-top padding-top (在他們之間加個空格);
例子三 空block元素的 margin 重疊。
注意 里面沒有任何內(nèi)容的空元素 ??赵匕l(fā)生margin重疊的條件
4 margin重疊的計算規(guī)則。
A) 正正取大值
B) 正負(fù)值相加
C) 負(fù)負(fù)取最負(fù)。
5. margin 重疊的意義
A) 連續(xù)段落或列表之類 如果沒有margin重疊 收尾出現(xiàn) 1 : 2 就會顯得不協(xié)調(diào)
B) web 中任何地方嵌套或直接放div 都不會影響原來的布局
C) 遺落的空的任意 多個p元素 不要影響原來閱讀的排版
實際應(yīng)用
制作列表 的時候控制每個列表的距離里面的
.list{
margin-top : 15px;
margin-bottom: 15px;
}
更具有健壯性 即使最后一個 移除了 亦不會影響布局
以上這篇CSS 之margin知識點(必看)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
- 下面小編就為大家?guī)硪黄獪\談css margin重疊。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-07-19
css布局之負(fù)margin妙用及其他實現(xiàn)
這篇文章主要為大家詳細(xì)介紹了css布局之負(fù)margin妙用及其他實現(xiàn)的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-07-07- margin屬性可以決定很多HTML元素的寬高度,因而在布局方面也能夠有很重要的作用,接下來我們就來看一下CSS的margin屬性在頁面布局中的使用攻略2016-05-26
- 這篇文章和大家詳細(xì)說一說CSS中margin屬性的使用,重點描述了關(guān)于margin,我們?nèi)粘2惶菀装l(fā)現(xiàn)的“坑,感興趣的小伙伴們可以參考一下2016-02-25
- 這篇文章主要介紹了CSS中的margin屬性的使用,margin是元素盒模型(box model)的基礎(chǔ)屬性,常被用來設(shè)置外邊距,實際用途非常廣泛,需要的朋友可以參考下2016-02-02
CSS中使用負(fù)margin值來調(diào)整居中位置
這篇文章主要介紹了CSS中使用負(fù)margin值來調(diào)整居中位置的方法,文中同時提到了這種常用方法的一些值得注意的地方,需要的朋友可以參考下2015-07-15- margin 簡寫屬性在一個聲明中設(shè)置所有外邊距屬性。該屬性可以有 1 到 4 個值。這個簡寫屬性設(shè)置一個元素所有外邊距的寬度,或者設(shè)置各邊上外邊距的寬度。塊級元素的垂直相2014-10-22
- 這篇文章主要介紹了解決margin 外邊距合并問題 ,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下2019-07-03