HTML5高度塌陷是什么情况,解决方法是什么
Admin 2022-11-30 群英技术资讯 557 次浏览
所谓的高度塌陷,意即当给子元素设置浮动时,其父元素高度会丢失的情况。通过实际代码进行演示:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
main {
width: 100%;
background-color: #ccc;
}
.one {
float: left;
width: 200px;
height: 200px;
background-color: skyblue;
}
.two {
float: right;
width: 200px;
height: 200px;
background-color: tomato;
}
section {
width: 400px;
height: 400px;
background-color: orange;
}
</style>
</head>
<body>
<main>
<div class="one"></div>
<div class="two"></div>
</main>
<section></section>
</body>
</html>
初始时的效果,高度出现塌陷,下部的橘色模块会上移。现给出五种解决方案:
一、给父元素设置固定高度,虽然简便,但不推荐使用,因为网页的内容是动态变化的,给定高度不利于后期内容增添。
给main父级加上高度,设为200px即可
对应运行结果:
二、将父元素的overflow设为一个非visible值,适用于子元素未溢出的情形。这里给main设置overflow:hidden,效果同上图一样
对应运行结果:
三、利用clear属性清除浮动影响。
先于main中添加一个类名为box的空div标签,再于style中设置其clear属性,实现效果同上
对应运行结果:
四、利用after伪类给父级添加一个空块级内容,并设置clear属性
这种方法可以看作是第三种方法的优化,因为一个空标签其实是比较多余的,可以通过after伪类进行添加。添加下图代码后,便能解决问题。
对应运行结果:
五、直接使用clearfix类,引入以下代码
之后向main添加clearfix类即可
对应运行结果:
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
背景不能显示(overflow:hidden)。边框不能撑开,如果父级设置了CSS边框属性,子级里使用了float属性产生浮动,父级不能被撑开。margin padding设置值不能正确显示。
css中能把cursor变成抓手样的形状,注意不是超链接的那种手,是抓手css:{cursor:url('绝对路径的图片(格式:cur,ico)'),-moz-zoom-out;}//FF下面css:{cursor:url('绝对路径'),auto;}//IE,FF,chrome浏览器都可以例子代码如下复制代码.style1{cursor:url('http://你地网站/手抓.jpg');}补充:问题一浏览器不兼容问题:在FF火狐 ...
这篇文章主要介绍了详解css布局实现左中右布局的5种方式的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
外部样式表,通过标签引入CSS。内部样式表,在HTML文档中的标签里通过标签书写CSS代码。行内样式表,通过属性书写CSS语句。导入样式表,使用@import指令导入外部样式表。
在了解box-sizing之前,让我们来稍稍回顾一下盒子模型,模型分为:标准盒模型+IE盒模型。那这有什么区别呢?见图所示:从上图可以看到标准w3c盒子模型的范围包括margin、border、padding、content,并且content部分不包含其他部分。从上图可以看到ie盒子模型的范围也包括margin、border、padding、content,和标准w3c盒子模 ...
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008