两个盒子都没有高度,但是设置了一个盒子的margin-top另个一也一起动了

来源:2-4 清除浮动

多盐少糖

2021-03-29 17:14:53

问题描述:老师,这个同样是两个盒子都没有高度,怎么设置第二个盒子的上边的外边距不是失效而是两个盒子一起调整了上边距,没有设置第一个盒子,但是第一个盒子也一和第二个盒子下移了

相关代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .div2{
            margin-top: 200px;
        }
        
        p{
            width: 100px;
            height: 100px;
            float: left;
            background-color: orange;
            margin-right: 10px;
        }
        
    </style>
</head>
<body>
  <div class="div1">
      <p></p>
      <p></p>
  </div>
  
  <div class="div2">
    <p></p>
    <p></p>
 </div>
</div>
</body>
</html>

相关截图:

http://img.mukewang.com/climg/606199c009c773e307030549.jpg

写回答

1回答

好帮手慕久久

2021-03-29

同学你好,解答如下:

设置margin-top时,可能会发生边距塌陷的现象(了解、记住现象即可),比如这里,给第二个盒子设置margin-top后,由于第二个盒子的父元素是body,所以该盒子会把body拽下来:

http://img.mukewang.com/climg/6061a4560901fb1f11290313.jpg

由于第一个盒子会在body中布局,所以bod被拽下来后,第一个盒子也跟着下来了。

发生该现象时,可以通过将margin换成padding来解决:

http://img.mukewang.com/climg/6061a53c094085d204240132.jpg

祝学习愉快!

0

0 学习 · 15276 问题

查看课程