css控制HTML的盒子塌陷问题
在使用css来控制HTML样式时可以会出现自己预想外的布局,这里就可能会是HTML语言本身的问题(个人理解),比如盒子塌陷问题。
问题描述:
在两个嵌套的块级元素(独占一行可以设置宽高的HTML标签)中,
设置了子元素的margin-top属性时会导致父元素一起下沉。
这就是盒子塌陷问题。
解决方案:
-
可以给父元素加一个边框
-
给父元素添加一个overflow:hidden属性
代码示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
.box{
box-sizing: border-box;
width: 200px;
height: 200px;
background-color: pink;
/*border:1px solid #ff0000;*/
/* overflow: hidden;*/
/*两种解决方案*/
}
.inner{
width: 100px;
height: 100px;
background-color: blue;
margin-top:50px;/*在子标签中设置了上外边距产生盒子塌陷问题*/
}
</style>
</head>
<body>
="box">
<div class="inner">
</div>
</div>
</body>
</html>