margin问题

目录

1.margin塌陷问题

2.margin合并问题 


margin问题分为两种:1.margin塌陷问题 2.margin合并问题

1.margin塌陷问题

在HTML/CSS布局中我们经常会遇到各种各样的“塌陷”问题。

何为“塌陷问题”?

   通俗的讲就是在元素布局时添加的某些布局属性无法正确的按照期望的那样显示出来。比如:平时设置子元素高度一般情况下可以撑开未设置高度的父元素,但是子元素如果设置了float元素之后就会导致未设置高度的父元素消失。

今天我们先讲一下margin塌陷问题。

      第一个子元素的上margin会作用在父元素上,最后一个元素的下margin会作用在父元素上。

举例:

    将两个不同颜色的正方形放在一个div中,两个正方形的之间的间距为50px,并且为粉色正方形设置50px的上外边距,橘色正方形设置50px的下外边距。观察结果:

出现的效果图为:

                                    

我们期望出现的效果图:

                                     

分析:

                                     

这就是margin塌陷问题,他的解决方案:

1.给父元素设置不为0的padding

2.给父元素设置宽度不为零的border,(然后将边框颜色改为transparent)

3.给父元素添加样式overflow:hidden.(推荐)

注意:前两个影响了盒子模型,因此我不推荐使用,我们可以选择第三种。

其实我们有专门解决高度塌陷问题的方法,后续会为大家介绍BFC。这篇博客主要是给大家解释一下margin塌陷。

2.margin合并问题 

         上一个兄弟元素的下外边距和下面这个兄弟的上外边距会合并,取其中最大的一个当做外边距,不会将两个外边距进行相加。

    将两个不同颜色的正方形放在一个div中,并且为粉色正方形设置60px的下外边距,橘色正方形设置50px的上外边距。观察结果:

出现的效果图为:

                                     

我们期望出现的效果图:

                                     

分析:这就是margin的合并问题,对于这个问题我们无需解决,在布局时直接设置一个属性即可,比如:给橘色正方形添加一个属性  margin-top:110px;即可。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值