老师您好,请问我这里添加了overflow:hidden为什么没有解决高度塌陷的问题
来源:2-3 BFC规范和浏览器差异
程序媛小灯
2020-10-23 20:17:11
这里两个div之间的距离还是20px
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>BFC规范和浏览器差异</title> <style> .container { width: 306px; /* 不设置高度 */ /* height: 202px; */ border: 5px solid #000; margin: 20px; /* 创建BFC的几种方式 */ overflow: hidden; /* display: inline-block; */ /* float: left; */ } .box { float: left; background: rgb(212, 97, 97); width: 100px; height: 200px; border: 1px solid #000; } </style> </head> <body> <!-- 一个盒子不设置height,当内容子元素都浮动时,无法撑起自身,需要设置形成BFC --> <div class="container"> <div class="box"></div> <div class="box"></div> <div class="box"></div> </div> <div class="container"> <div class="box"></div> <div class="box"></div> <div class="box"></div> </div> </body> </html>
2回答
同学你好, 是想问添加了overflow:hidden;为什么没有解决margin塌陷的问题吧?
代码中虽然给container盒子添加overflow:hidden;属性形成了BFC,但这个BFC是针对container内部的元素的,而不是它自身,所以container盒子添加的margin属性,会出现塌陷问题。
建议:可以分别添加一个盒子包裹container,给这个盒子添加overflow:hidden;属性,创建BFC,消除container盒子的margin塌陷问题。
效果图:
祝学习愉快~
weixin_慕沐1378591
2020-10-24
container里的overflow:hidden可以撑起自身以及设置margin,但是为什么不能解决塌陷呢...
试了下外面再套层div,然后再设置overflow:hidden就可以解决垂直塌陷...
来个老师解答下吧
相似问题