margin

1、参数个数spa

2个:上下 左右code

margin:10px 5px;

3个:上 左右 下blog

margin:10px 5px 15px;

4个:上 右 下 左class

margin:10px 5px 15px 20px;

 

2、auto值的含义im

margin-left:auto;——靠最右侧显示,不管怎么调整窗口大小margin

margin-right:auto;——靠最左侧显示,不管怎么调整窗口大小top

margin:0 auto;——居中显示,不管怎么调整窗口大小img

 

3、常见问题di

一、元素之间的上下外边距会叠压co

描述:上下外边距都是30px,只会有一个30px不会变成60px

取值规则:选取margin-top或者margin-bottom里最大的一个值

#box1{width:500px; height:300px; background:blue;margin-bottom:30px;}
#box2{width:300px; height:100px; background:yellow; margin-top:30px;}
<div id="box1"></div>
<div id="box2"></div>

解决办法1:将其中某个元素的margin-top / margin-bottom的值设置为2倍margin-top / margin-bottom的值

解决办法2:若是元素之间没有什么特殊特征,能够用padding代替

 

二、子级的margin-top会传递给父级

问题描述:给黄色的div添加margin-top会变成给蓝色的div添加的,子元素的margin会传递给父级

问题写法:

#box1{width:500px; height:300px; background:blue; }
#box2{width:300px; height:100px; background:yellow;margin-top:100px;}
<div id="box1">
    <div id="box2"></div>
</div>

解决办法1:

描述:给父元素加padding-top替换给子元素添加margin-top,父元素的高度会被padding撑开,再把父元素的高度减去padding

#box1{width:500px; height:200px; background:blue; padding-top:100px;}  //hight从300px变为200px,父元素加了padding-top
#box2{width:300px; height:100px; background:yellow;}

解决办法2:

描述:给父级加上1px的边框

相关文章
相关标签/搜索