标签:Web width clear 元素 100px 塌陷 background hidden 页面
1、什么是高度塌陷?
当子元素有浮动,父元素没有高度的时候,父元素会出现高度塌陷。
2、解决方法
over-flow:hidden
2.1、给父元素添加<head>
<meta charset="UTF-8">
<style>
#box {
width: 200px;
background: pink;
overflow: hidden;
}
p {
float: left;
width: 100px;
height: 100px;
background: skyblue;
}
</style>
</head>
<body>
<div id="box">
<p></p>
</div>
</body>
- 原理:
overflow:hidden
;触发了一个BFC
(块级格式化上下文,布局逻辑)也就是说父元素变成了BFC
。BFC
规定:计算BFC高度的时候,浮动元素也参与计算 - 弊端:如果存在一个定位在父元素外围的元素,该元素会被隐藏
2.2、在浮动元素下方添加一个空的块级标签,给其设置样式clear:both;
<head>
<meta charset="UTF-8">
<style>
#box {
width: 200px;
background: pink;
}
p {
float: left;
width: 100px;
height: 100px;
background: skyblue;
}
.toClear {
clear: both;
}
</style>
</head>
<body>
<div id="box">
<p></p>
<div class="toClear"></div>
</div>
</body>
- 原理:
clear:both
;会忽略上方同级添加浮动元素留出的空间,在父元素最底下显示,撑开父元素高度 - 弊端:形成代码的冗余(出现高度塌陷,添加一个
div
)
2.3、万能清除法(也是应用最多的一个方法)
<head>
<meta charset="UTF-8">
<style>
#box {
width: 200px;
background: pink;
}
.clear_fixed:after {
content: ""; /*双引号内随便写不写内容都行*/
clear: both;
display: block;
height: 0;
overflow: hidden;
visibility: hidden;
}
p {
float: left;
width: 100px;
height: 100px;
background: skyblue;
}
</style>
</head>
<body>
<div id="box" class="clear_fixed">
<p></p>
</div>
</body>
这个方法很常用,而且一般我们在写页面时,只要封装一个类名,放在我们的公共样式表里,遇到想要清除浮动影响的父元素时,直接给该元素添加对应类名,随取随用,就很方便啦!
标签:Web,width,clear,元素,100px,塌陷,background,hidden,页面 来源: https://blog.csdn.net/qq_41860731/article/details/106889709
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。