<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style type="text/css">
#div1{
width: 500px;
height: 500px;
background-color: #0000FF;
/* 解决方案1:给父级设置上边框,transparent表示边框颜色透明
但是有边框像素问题,导致整个盒子的像素发生变化*/
border-top: 1px solid transparent;
/* 解决方案2:给父元素增加overflow:hidden清除异常属性 */
overflow: hidden;
/* padding-top: 100px; */
/* 解决方案3:父元素使用padding,但是有撑大盒子问题,麻烦不推荐 */
}
#div2{
width: 200px;
height: 200px;
background-color: #006400;
/* margin塌陷,子元素设置margin-top时会带着父级元素一并更改位置,左侧没有变化 */
margin-top: 100px;
margin-left: 100px;
}
</style>
</head>
<body>
<div id="div1">
<div id="div2">
</div>
</div>
</body>
</html>
CSS常见问题:经典bug——margin塌陷
最新推荐文章于 2024-05-07 14:55:18 发布