一个盒子包裹另一个盒子,当包裹盒子没有设置border和padding时,里边盒子的设置的上边距不会起作用

Posted 静幻已空梦仍在

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一个盒子包裹另一个盒子,当包裹盒子没有设置border和padding时,里边盒子的设置的上边距不会起作用相关的知识,希望对你有一定的参考价值。

.father{width: 400px; height: 400px; background: pink; } 
.son{width: 200px; height: 200px; background: purple; margin-left: 100px; margin-top: 50px; }

html代码

<div class="father">
   <div class="son">
</div>

技术分享图片

解释:

对于父块DIV内含子块DIV的情况,就会按另一条CSS惯例来解释了,那就是:对于有块级子元素的元素计算高度的方式,如果元素没有垂直边框和填充,那其高度就是其子元素顶部和底部边框边缘之间的距离。

解决方法:

解决父子DIV中顶部margin cllapse的问题,需要给父div设置:

(1)、边框,当然可以设置边框为透明;

(2)、为父DIV添加padding,或者至少添加padding-top;
此外,还可以通过over-flow来解决,给父DIV写入:

over-flow:hidden;  

 


以上是关于一个盒子包裹另一个盒子,当包裹盒子没有设置border和padding时,里边盒子的设置的上边距不会起作用的主要内容,如果未能解决你的问题,请参考以下文章

CSS弹性盒子布局flex

JAVA小米集团-2021校招-算法方向在线考试(矩阵相乘+盒子包裹问题)

html--盒子的边框属性(border)

不设置宽度的盒子模型水平居中问题。

JAVA小米集团-2021校招-算法方向在线考试(矩阵相乘+盒子包裹问题)

怎样使网页设计中的css盒子内容居中?