CSS 之margin知識(shí)點(diǎn)(必看)
1.margin的百分比值普通元素的百分比maigin相對(duì)于容器元素的寬度(width) 進(jìn)行計(jì)算的。
這里我們?cè)趫D片外面設(shè)置一個(gè)寬高分別為800 * 600的容器。設(shè)置img{ margin: 10%; }
結(jié)果如下
結(jié)果margin值都是 800 * 10% = 80px; 所以這里都是相對(duì)于容器的寬度計(jì)算的 容器的寬度計(jì)算 容器的寬度計(jì)算。說三遍
2.絕對(duì)定位的百分比maigin值


相對(duì)于第一個(gè)定位的祖先元素的 width值計(jì)算的。就是 parent 的 width = 1000px. 所以 margin = 100px;
3.可以使用margin 實(shí)現(xiàn) 2 : 1 的自適應(yīng)
比如 有兩個(gè)容器

這里 box的高度沒有指定。 由于設(shè)置 margin 50% 。他的高度就是父容器的一半 所以高寬比就是 1 : 2;
4. margin 的重疊 為什么重疊
A) margin 重疊的兩個(gè)特性
只會(huì)發(fā)生在block的水平元素上。 (不包括 float 和 absolute元素)
不考慮 wirte-mode(就是書寫格式) 只發(fā)生在 垂直方向(margin-top margin-bottom)
B) 發(fā)生的情況
1> 相鄰的兄弟元素
2> 父級(jí)的第一個(gè) 和 最后一個(gè)子元素
3> 空的 block。
例子一 相鄰的兄弟元素
這里就是兩個(gè)兄弟元素 。
這里的 兩個(gè)p 之間只有一個(gè)em 沒有兩個(gè)em。 因?yàn)榈谝粋€(gè)margin-bottom 和 第二個(gè)的 margin-top 發(fā)生了重疊。
例子二 父元素和最后一個(gè)子元素 重疊

按照常規(guī)理論 son 和 父元素的 father 之間會(huì) 留出 80px的 margin-top值。但是實(shí)際上沒有。son的背景元素沒有變化 沒有留出80px;
這里只是 給 父元素設(shè)置了 80px;

父子 margin重疊的 條件


那么怎么干掉margin-top 重疊呢?
只要不讓它滿足那些條件就可以了。
父元素添加 overflow: hidden; border-top padding-top (在他們之間加個(gè)空格);
例子三 空block元素的 margin 重疊。

注意 里面沒有任何內(nèi)容的空元素 ??赵匕l(fā)生margin重疊的條件

4 margin重疊的計(jì)算規(guī)則。
A) 正正取大值
B) 正負(fù)值相加
C) 負(fù)負(fù)取最負(fù)。
5. margin 重疊的意義
A) 連續(xù)段落或列表之類 如果沒有margin重疊 收尾出現(xiàn) 1 : 2 就會(huì)顯得不協(xié)調(diào)
B) web 中任何地方嵌套或直接放div 都不會(huì)影響原來的布局
C) 遺落的空的任意 多個(gè)p元素 不要影響原來閱讀的排版
實(shí)際應(yīng)用
制作列表 的時(shí)候控制每個(gè)列表的距離里面的

.list{
margin-top : 15px;
margin-bottom: 15px;
}
更具有健壯性 即使最后一個(gè) 移除了 亦不會(huì)影響布局
以上這篇CSS 之margin知識(shí)點(diǎn)(必看)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
- 下面小編就為大家?guī)硪黄獪\談css margin重疊。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-07-19
css布局之負(fù)margin妙用及其他實(shí)現(xiàn)
這篇文章主要為大家詳細(xì)介紹了css布局之負(fù)margin妙用及其他實(shí)現(xiàn)的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-07-07- margin屬性可以決定很多HTML元素的寬高度,因而在布局方面也能夠有很重要的作用,接下來我們就來看一下CSS的margin屬性在頁面布局中的使用攻略2016-05-26
- 這篇文章和大家詳細(xì)說一說CSS中margin屬性的使用,重點(diǎn)描述了關(guān)于margin,我們?nèi)粘2惶菀装l(fā)現(xiàn)的“坑,感興趣的小伙伴們可以參考一下2016-02-25
- 這篇文章主要介紹了CSS中的margin屬性的使用,margin是元素盒模型(box model)的基礎(chǔ)屬性,常被用來設(shè)置外邊距,實(shí)際用途非常廣泛,需要的朋友可以參考下2016-02-02
CSS中使用負(fù)margin值來調(diào)整居中位置
這篇文章主要介紹了CSS中使用負(fù)margin值來調(diào)整居中位置的方法,文中同時(shí)提到了這種常用方法的一些值得注意的地方,需要的朋友可以參考下2015-07-15- margin 簡寫屬性在一個(gè)聲明中設(shè)置所有外邊距屬性。該屬性可以有 1 到 4 個(gè)值。這個(gè)簡寫屬性設(shè)置一個(gè)元素所有外邊距的寬度,或者設(shè)置各邊上外邊距的寬度。塊級(jí)元素的垂直相2014-10-22
這篇文章主要介紹了解決margin 外邊距合并問題 ,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-07-03


