文章目录
问题
对子元素设置的 margin-top: 100px;
对父元素起作用。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<style>
.box1{
width: 200px;
height: 200px;
background-color: tomato;
}
.box2{
width: 100px;
height: 100px;
background-color: teal;
margin-top: 100px;
}
</style>
</head>
<body>
<div class="box1">
<div class="box2"></div>
</div>
</body>
</html>
输出:
解决
clearfix
这个样式类可以同时解决高度塌陷和外边距重叠的问题。
.clearfix::before,
.clearfix::after {
content: "";
display: table;
clear: both;
}
需要随谁结局问题,谁引入这个类即可。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<style>
.box1 {
width: 200px;
height: 200px;
background-color: tomato;
}
.box2 {
width: 100px;
height: 100px;
background-color: teal;
margin-top: 100px;
}
.clearfix::before,
.clearfix::after {
content: "";
display: table;
clear: both;
}
</style>
</head>
<body>
<div class="box1 clearfix">
<div class="box2"></div>
</div>
</body>
</html>
输出:
使用该类也可以解决高度塌陷的问题
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<style>
.outer{
border:10px rgb(92, 25, 25) solid;
}
.inner{
width: 100px;
height: 100px;
background-color: teal;
float: left;
}
.clearfix::before,
.clearfix::after {
content: "";
display: table;
clear: both;
}
.box3{
width: 200px;
height: 200px;
background-color: rgb(245, 245, 3);
}
</style>
</head>
<body>
<div class="outer clearfix">
<div class="inner"></div>
</div>
<div class="box3"></div>
</body>
</html>