外邊距的重疊

2022-02-24 00:53:12 字數 3557 閱讀 1063

垂直外邊距的重疊

-相鄰的垂直方向外邊距發生重疊現象

-兄弟元素

-兄弟元素間的相鄰垂直外邊距會取二者之間的較大值(二者都是正值)

-特殊情況:

如果相鄰的外邊距一正一負,則取兩者的和

如果相鄰的外邊距都是負值,則取兩者中絕對值較大的

-兄弟元素之間的外邊距的重疊,對於開發是有利的,所以我們不需要處理

第一種情況:

doctype html

>

<

html

lang

="en"

>

<

head

>

<

meta

charset

="utf-8"

>

<

meta

name

="viewport"

content

="width=device-width, initial-scale=1.0"

>

<

title

>document

title

>

<

style

>

.box1,.box2

.box1

.box2

style

>

head

>

<

body

>

<

div

class

="box1"

>

div>

<

div

class

="box2"

>

div>

body

>

html

>

效果如下:

第二中情況(相鄰外邊距的值一正一負):

doctype html

>

<

html

lang

="en"

>

<

head

>

<

meta

charset

="utf-8"

>

<

meta

name

="viewport"

content

="width=device-width, initial-scale=1.0"

>

<

title

>document

title

>

<

style

>

.box1,.box2

.box1

.box2

style

>

head

>

<

body

>

<

div

class

="box1"

>

div>

<

div

class

="box2"

>

div>

body

>

html

>

效果如下:

-父子元素

-父子元素間相鄰(父子上外邊距重疊)外邊距,子元素的會傳遞給父元素(上外邊距)

-父子外邊距的摺疊會影響到頁面的布局,必須要進行處理

例如下面的現象:

doctype html

>

<

html

lang

="en"

>

<

head

>

<

meta

charset

="utf-8"

>

<

meta

name

="viewport"

content

="width=device-width, initial-scale=1.0"

>

<

title

>document

title

>

<

style

>

.box1,.box2

.box1

.box2

style

>

head

>

<

body

>

<

div

class

="box1"

><

div

class

="box2"

>

div>

div>

body

>

html

>

效果:

給子元素設定margin-top竟然把父元素也拖下來了

解決方法就是在父元素加一行**:overflow:hidden;

doctype html

>

<

html

lang

="en"

>

<

head

>

<

meta

charset

="utf-8"

>

<

meta

name

="viewport"

content

="width=device-width, initial-scale=1.0"

>

<

title

>document

title

>

<

style

>

.box1,.box2

.box1

.box2

style

>

head

>

<

body

>

<

div

class

="box1"

><

div

class

="box2"

>

div>

div>

body

>

html

>

效果:

外邊距重疊

外邊距重疊 在css當中,相鄰的兩個盒子 可能是兄弟關係也可能是祖先關係 的外邊距可以結合成乙個單獨的外邊距。這種合併外邊距的方式被稱為摺疊,並且因而所結合成的外邊距稱為摺疊外邊距。摺疊結果遵循下列計算規則 1.兩個相鄰的外邊距都是正數時,摺疊結果是它們兩者之間較大的值。也就是說當第乙個div的ma...

垂直外邊距重疊問題

當兩個盒子 兄弟元素 處於垂直狀態時,相鄰兩個外邊距不是相加,而是取最大值 當兩個元素是父子關係時,子元素的外邊距 父元素的外邊距 會傳遞給對方 解決方法1 使用文字破壞外邊距相鄰 破壞相鄰狀態 缺點 需要增加html結構 解決方法2 使用border破壞外邊距相鄰 缺點 需要維持可見框大小 解決方...

外邊距重疊 css冷知識

外邊距重疊就是 margin collapse。相鄰的兩個盒子 可能是兄弟關係也可能是祖先關係 的外邊距可以結合成乙個單獨的外邊距。這種合併外邊距的方式被稱為摺疊,結合而成的外邊距稱為摺疊外邊距 摺疊結果遵循下列計算規則 兩個相鄰的外邊距都是正數時,摺疊結果是它們兩者之間較大的值 兩個相鄰的外邊距都...