【css】外边距margin的属性和使用方法

html-css015

【css】外边距margin的属性和使用方法,第1张

外边距很好理解,就是指边框以外的距离,可以表示和其它元素之间的距离,使用margin属性来设置。

margin后面可跟多个值,中间用空格分离,含义如下:

(1)首先我们放置三个盒子,颜色不同,宽高均为100px。

(2)我们给中间的橙色盒子加上一个10px的上外边距,可以看到橘黄色的盒子向下移动了10px,上面多了一个上外边距。

(3)接下来我们去掉上外边距,改成给橘黄色盒子加上一个10px的下外边距,发现橘黄色盒子并没有移动,移动的是下面的黄色盒子,所以margin-top和margin-bottom的用法一定要区分开。

(4)外边距可以是赋值,我们给橘黄色盒子添加一个-50px的上外边距,可以看到橘黄色盒子向上移动了。

(1)我们放置一个大的红色盒子,里面包着一个小的橘黄色盒子,当我们为橘黄色盒子添加了一个50px的上外边距的时候,本来应该只是小盒子多了上外边距然后导致向下移动。结果发现,效果就好像是给大盒子加了上外边距一样,大盒子跟着小盒子一起塌陷下去了,并不是我们想要的效果。

(2)如果大盒子有边框,或者橘黄色盒子上面还有元素,情况会是正常的,可以达到我们想要的效果,不会出现塌陷:

(3)解决方法

在外部元素上面没有边框,其内部上方也没有其它元素挡着的时候,给其子元素设置上外边距,会导致塌陷,达不到想要的效果。目前我们只能在遇到这种情况的时候尽量使用padding去设置,不要使用margin,当然还有很多别的解决方法,就不细说啦。

我们放置两个盒子,给上面的盒子添加一个100px的下外边距,给下面的盒子添加一个50px的上外边距,最终效果如图所示,两个盒子最后中间只隔了100px:

当下方元素的上外边距遇到上方元素的下外边距,是会发生重合效果的,设置的时候一定要注意。

块元素才可以设置上下左右外边距,内联元素设置上下外边距是无效的。

margin 外边距(标签与标签之间的距离)

margin的四个方向

margin-top 上边距

margin-right 右边距

margin-bottom 下边距

margin-left 左边距

margin的复合样式

一个值 四个方向的margin值都一样

两个值 第一个值代表上边和下边的margin值,第二个值代表右边与左边的margin值

三个值 第一个值代表上边的margin值,第二值代表右边与左边的margin值,第三个值代表下边的margin值

四个值 第一个值代表上边的margin值,第二个值代表右边的margin值,第三个值代表下边的margin值,第四个值代表左边的margin值

margin的问题

margin的问题

1、margin的传递(只会上下传递不会左右传递)

子级会把自己的margin-top与margin-bottom传递给父级

解决办法:给父级加上一个边框(其中一个办法)

2、margin上下叠压(只有上下会叠压,左右不会叠压)

上边元素的margin-bottom与下边元素的margin-top叠压在了一起(他会取大的值)

解决办法只给上边的元素设置margin-bottom或只给下边的元素设置margin-top就可以了

auto 自动

margin-left:auto; 元素居右显示

margin-right:auto; 元素居左显示

元素水平居中显示

margin:auto;

css有时MARGIN 不起作用是设置错误造成的,解决方法为:

1、新建一个HTML文件,命名为test.html。

2、为了测试出明显的效果,在test.html使用div定义了一个带边框的模块,里面放一个p标签。下面以p标签的外边距设置为例,详细讲解margin的使用。

3、使用margin设置p标签的左外边距。主要使用margin-left的方法定义左外边距的样式,值越大,距离左边就越大。

4、使用margin设置p标签的右外边距。主要使用margin-right的方法定义右外边距的样式,值越大,距离右边就越大。

5、使用margin设置p标签的上外边距。主要使用margin-top的方法定义上外边距的样式,值越大,距离上边就越大。

6、使用margin设置p标签的下外边距。主要使用margin-bottom的方法定义下外边距的样式,值越大,距离下边就越大。