您现在的位置:首页 >> 前端 >> 内容

css关于margin的知识总结

时间:2018/2/5 11:32:55 点击:

  核心提示:一 margin与可视尺寸 (适用场景 一侧定宽的自适应布局)1.适用于每月设定width/height的普通block水平元素2.只适用于水平方向尺寸二 margin与占据尺寸 (适用场景 滚动容器...

一 margin与可视尺寸 (适用场景 一侧定宽的自适应布局)

1.适用于每月设定width/height的普通block水平元素

2.只适用于水平方向尺寸

二 margin与占据尺寸 (适用场景 滚动容器内上下留白)

1.block/inline-block水平元素均适用

2.与有没有设定width/height值无关

3.适用于水平方向和垂直方向

三 百分比margin的计算规则 (适用场景 宽高2:1自适应矩形)

1.普通元素的百分比margin都是相对于容器的宽度计算的

2.绝对定位元素的百分比margin是相对于第一个定位祖先元素(relative/absolute/fixed)的宽度计算的。

四 margin重叠

a.margin重叠通常特性

1.block水平元素(不包括float和absolute元素)

2.不考虑writing-mode(书写格式),只发生在垂直方向(margin-top/margin-bottom)

b.margin重叠3种情境

1.相邻的兄弟元素

2.父级和对一个、最后一个子元素

3.空的block元素

c.margin-top重叠

1.父元素非块状格式化上下文元素

2.父元素没有border-top设置

3.父元素没有padding-top值

4.父元素和第一个子元素之间没有inline元素分隔

d.margin-bottom重叠

1.父元素非块状格式化上下文元素

2.父元素没有border-bottom设置

3.父元素没有padding-bottom值

4.父元素和第后一个子元素之间没有inline元素分隔

5.父元素没有height,min-height,max-height限制

e.空block元素margin重叠其他条件

1.元素没有border设置

2.元素没有padding值

3.里面没有inline元素

4.没有height,或者min-height

f.重叠计算规则

1.正正取大值

2.正负值相加

3.负负最负值

g.善用margin重叠

1.更具有健壮性,最后一个元素移除或位置调换,均不会破坏原来的布局

.list{

margin-top :15px;

margin-bottom:15px;

}

五 marign的auto

a.block元素

b.writing-mode与垂直居中

c.absolute与margin居中

六 css margin 负值定位

1.margin负值下的两端对齐

2.margin负值下的等高布局

3.margin负值下的两栏自适应布局

CSS margin无效情形解析

a.inline水平元素的垂直margin无效

1.非替换元素

2.正常书写模式

b.margin重叠

c.display:table-cell与margin

display:table-cell/display:table-row等声明的margin无效

d.position:absolute与margin

绝对定位元素非定位方位的margin值“无效”

绝对定位的margin值一直有效,只是不像普通元素那样,可以和兄弟元素插科打诨。

e.鞭长莫及导致的margin无效 (只是值不够大而已,相对于整个容器而言)

f.内联特性导致的margin无效 (负值到很小的时候,基线有关)

Tags:CS SS S关 关于 
作者:网络 来源:web_cgh的博客