margin(外边距)
大约 1 分钟
- margin-top:上外边距,设置一个正值,元素会向下移动
- margin-right:默认情况下设置 margin-right 不会产生任何效果
- margin-bottom:下外边距,设置一个正直,其他元素会向下移动
- margin-left:左外边距,设置一个正值,元素会向右移动
- margin 的值为负数则刚好和正数的效果相反
- 子元素的 margin,是参考父元素的 content 计算的。(因为是父亲的 content 中承装这子元素)
div {
width: 100px;
height: 100px;
/* 上,右,下,左 */
margin: 25px 50px 75px 100px;
/* 上,左右,下 */
margin: 10px 20px 10px;
/* 上下 ,左右 */
margin: 10px 20px;
/* 全部 */
margin: 10px;
/* 盒子水平居中 */
margin: 0 auto;
background-color: aqua;
}
垂直外边距合并问题
相邻块元素垂直外边距合并:
相邻块元素垂直外边距合并指的是,当两个垂直外边距相遇时,它们将形成一个外边距,并且取两个值中的较大者。 行内元素,浮动,绝对定位外边距不会出现此问题
解决方案:
尽量只给一个盒子添加 margin 值

嵌套块元素垂直外边距塌陷:
- 对于两个嵌套关系(父子关系)的块元素,父元素有上外边距的同时子元素也有上外边距,此时元素会塌陷较大的外边距值
- 子盒子同时设置上,下外边距,也会导致此问题。

解决方案
- 可以为父元素定义上内边距
- 可以为父元素定义上边框
- 可以为父元素添加 overflow:hidden