前端如何解决高度塌陷问题
高度塌陷出现原因:如果父元素不设置高度或者父元素设置最小高度,一旦内容浮动,内容不占位父元素识别不了子元素的高度,就会出现高度塌陷解决方法:方法1:给父元素加overflow:hidden(overflow:hidden可以触发BFC,BFC是一个独立的渲染区域,布局规则:浮动的元素也参与高度计算)缺点:超出父元素范围的内容会隐藏方法2:给所有浮动元素的最下方写一个空盒子,给空盒子设置clear:
·
高度塌陷
出现原因:
如果父元素不设置高度或者父元素设置最小高度,一旦内容浮动,内容不占位
父元素识别不了子元素的高度,就会出现高度塌陷
解决方法:
方法1:
给父元素加overflow:hidden
(overflow:hidden可以触发BFC,BFC是一个独立的渲染区域,
布局规则:浮动的元素也参与高度计算)
缺点:超出父元素范围的内容会隐藏
方法2:
给所有浮动元素的最下方写一个空盒子,给空盒子设置clear:both,让盒子在所有浮动元素的下方显示,就可以把父元素的高度撑起来
缺点:无意义的空盒子会造成代码的冗余
方法3:万能清除法
.clear_fix:after{
content: ".";
height: 0px;
visibility: hidden;占位隐藏
display: block;
clear: both;
}
.clear_fix{
*zoom:1;
}
万能清除法代码示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<style>
*{margin:0;padding:0;}
.header,.footer{
height: 200px;
background: #ccc;
}
.content{
width: 1000px;
margin:0 auto;
background: orange;
border:10px solid #000;
/* 给父元素设置最小高度 */
min-height: 500px;
_height: 500px;
}
.left{
width: 200px;
height: 400px;
background: #00FFFF;
font-size: 50px;
float: left;
}
.right{
width: 200px;
height: 1800px;
background: pink;
font-size: 50px;
float: right;
}
.clear{
/* 空盒子的高度设为0 */
height:0px;
/* 给浮动元素下面加的空盒子清除浮动 */
clear:both;
}
/* 万能清除法 */
.clear_fix:after{
content: ".";
height: 0px;
visibility: hidden;
display: block;
clear: both;
}
</style>
</head>
<body>
<div class="header"></div>
<div class="content clear_fix">万能清除法
<div class="left">left</div>
<div class="right">right</div>
<!-- <div class="clear"></div> -->空盒子
</div>
<div class="footer"></div>
</body>
</html>
总结
以上是对前端如何解决高度塌陷问题的小总结,后期将继续更新html基础知识点
文章为原创内容,要是遇到有不合适的地方欢迎赐教🙌
更多推荐
所有评论(0)