HTML5之高度塌陷问题的解决


Posted in HTML / CSS onJune 01, 2022

所谓的高度塌陷,意即当给子元素设置浮动时,其父元素高度会丢失的情况。通过实际代码进行演示:

<!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>

初始时的效果,高度出现塌陷,下部的橘色模块会上移。现给出五种解决方案:

HTML5之高度塌陷问题的解决

一、给父元素设置固定高度,虽然简便,但不推荐使用,因为网页的内容是动态变化的,给定高度不利于后期内容增添。

给main父级加上高度,设为200px即可

HTML5之高度塌陷问题的解决

对应运行结果:

HTML5之高度塌陷问题的解决

二、将父元素的overflow设为一个非visible值,适用于子元素未溢出的情形。这里给main设置overflow:hidden,效果同上图一样

HTML5之高度塌陷问题的解决

对应运行结果:

HTML5之高度塌陷问题的解决

三、利用clear属性清除浮动影响。

先于main中添加一个类名为box的空div标签,再于style中设置其clear属性,实现效果同上

HTML5之高度塌陷问题的解决

HTML5之高度塌陷问题的解决

对应运行结果:

HTML5之高度塌陷问题的解决

四、利用after伪类给父级添加一个空块级内容,并设置clear属性

这种方法可以看作是第三种方法的优化,因为一个空标签其实是比较多余的,可以通过after伪类进行添加。添加下图代码后,便能解决问题。

HTML5之高度塌陷问题的解决

对应运行结果:

HTML5之高度塌陷问题的解决

五、直接使用clearfix类,引入以下代码

HTML5之高度塌陷问题的解决

之后向main添加clearfix类即可

HTML5之高度塌陷问题的解决

对应运行结果:

HTML5之高度塌陷问题的解决

到此这篇关于HTML5之高度塌陷问题的解决的文章就介绍到这了,更多相关HTML5高度塌陷内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章,希望大家以后多多支持三水点靠木!

 
HTML / CSS 相关文章推荐
CSS3教程:边框属性border的极致应用
Apr 02 HTML / CSS
纯CSS3打造动感漂亮时尚的扇形菜单
Mar 18 HTML / CSS
CSS图片翻转动画技术详解(IE也实现了)
Apr 03 HTML / CSS
css3 transform及原生js实现鼠标拖动3D立方体旋转
Jun 20 HTML / CSS
HTML高亮关键字的实现代码
Oct 22 HTML / CSS
将HTML5 Canvas的内容保存为图片借助toDataURL实现
May 20 HTML / CSS
HTML5 Canvas的性能提高技巧经验分享
Jul 02 HTML / CSS
使用HTML5的File实现base64和图片的互转
Aug 01 HTML / CSS
怎样实现H5+CSS3手指滑动切换图片的示例代码
May 05 HTML / CSS
如何使用amaze ui的分页样式封装一个通用的JS分页控件
Aug 21 HTML / CSS
在CSS中映射鼠标位置并实现通过鼠标移动控制页面元素效果(实例代码)
Apr 22 HTML / CSS
详解CSS中postion和opacity及cursor的特性
Aug 14 HTML / CSS
使用CSS实现黑白格背景效果
Jun 01 #HTML / CSS
HTML中实现音乐或视频自动播放案例详解
May 30 #HTML / CSS
CSS文本阴影 text-shadow 悬停效果详解
May 25 #HTML / CSS
HTML页面中使两个div并排显示的实现
May 15 #HTML / CSS
html中相对位置与绝对位置的具体使用
CSS 左边固定宽右边自适应的6种方法
May 15 #HTML / CSS
解决flex布局中子项目尺寸不受flex-shrink限制
May 11 #HTML / CSS
You might like
用Flash图形化数据(二)
2006/10/09 PHP
处理php自动反斜杠的函数代码
2010/01/05 PHP
Thinkphp模板标签if和eq的区别和比较实例分析
2015/07/01 PHP
PHP删除二维数组中相同元素及数组重复值的方法示例
2017/05/05 PHP
解决laravel 表单提交-POST 异常的问题
2019/10/15 PHP
获取焦点时,利用js定时器设定时间执行动作
2010/04/02 Javascript
解析Javascript中大括号“{}”的多义性
2013/12/02 Javascript
深入了解Node.js中的一些特性
2014/09/25 Javascript
js淡入淡出焦点图幻灯片效果代码分享
2015/09/08 Javascript
动态创建按钮的JavaScript代码
2016/01/29 Javascript
浅析AMD CMD CommonJS规范--javascript模块化加载学习心得总结
2016/03/16 Javascript
js图片上传前预览功能(兼容所有浏览器)
2016/08/24 Javascript
JavaScript变量提升和严格模式实例分析
2019/01/27 Javascript
Promise扫盲贴
2019/06/24 Javascript
javascript实现fetch请求返回的统一拦截
2019/12/22 Javascript
JavaScript 如何计算文本的行数的实现
2020/09/14 Javascript
python图像处理之镜像实现方法
2015/05/30 Python
利用python批量给云主机配置安全组的方法教程
2017/06/21 Python
python 3.6.2 安装配置方法图文教程
2018/09/18 Python
python线程池如何使用
2020/05/28 Python
Python基于xlutils修改表格内容过程解析
2020/07/28 Python
Python3+Django get/post请求实现教程详解
2021/02/16 Python
mui几种页面跳转方式对比总结概括
2017/08/18 HTML / CSS
Delphi CS笔试题
2014/01/04 面试题
办公室文书岗位职责
2013/12/16 职场文书
污水厂厂长岗位职责
2014/01/04 职场文书
装修设计师求职信
2014/02/26 职场文书
护理学院专科毕业生求职信
2014/06/28 职场文书
领导班子四风查摆对照检查材料思想汇报
2014/10/05 职场文书
小学新教师个人总结
2015/02/05 职场文书
加入学生会自荐书
2015/03/05 职场文书
指导教师推荐意见
2015/06/05 职场文书
党纪处分决定书
2015/06/24 职场文书
解决Nginx 配置 proxy_pass 后 返回404问题
2021/03/31 Servers
Matplotlib绘制混淆矩阵的实现
2021/05/27 Python
Java内存模型之happens-before概念详解
2021/06/13 Java/Android