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代码实现switch滑动开关按钮效果
Aug 30 HTML / CSS
8款精美的CSS3表单设计(登录表单/下拉选择/按钮附演示及源码)
Feb 04 HTML / CSS
css3 transform及原生js实现鼠标拖动3D立方体旋转
Jun 20 HTML / CSS
CSS3.0实现霓虹灯按钮动画特效的示例代码
Jan 12 HTML / CSS
HTML5中语义化 b 和 i 标签
Oct 17 HTML / CSS
关于HTML5的安全问题开发人员需要牢记的
Jun 21 HTML / CSS
基于HTML5的齿轮动画特效
Feb 29 HTML / CSS
用HTML5的canvas实现一个炫酷时钟效果
May 20 HTML / CSS
canvas绘制视频封面的方法
Feb 05 HTML / CSS
video实现有声音自动播放的实现方法
May 20 HTML / CSS
HTML5实现应用程序缓存(Application Cache)
Jun 16 HTML / CSS
Html5原生拖拽相关事件简介以及基础实现
Nov 19 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
利用PHP实现智能文件类型检测的实现代码
2011/08/02 PHP
php解析url并得到url中的参数及获取url参数的四种方式
2015/10/26 PHP
yii2整合百度编辑器umeditor及umeditor图片上传问题的解决办法
2016/04/20 PHP
yii2局部关闭(开启)csrf的验证的实例代码
2017/07/10 PHP
PHP convert_uudecode()函数讲解
2019/02/14 PHP
基于laravel belongsTo使用详解
2019/10/18 PHP
JavaScript几种形式的树结构菜单
2010/05/10 Javascript
JavaScript与DOM组合动态创建表格实例
2012/12/23 Javascript
jQuery动画效果-slideUp slideDown上下滑动示例代码
2013/08/28 Javascript
javascript 回到顶部效果的实现代码
2014/02/17 Javascript
jQuery实现列表内容的动态载入特效
2015/08/08 Javascript
详解Node.js利用node-git-server快速搭建git服务器
2017/09/27 Javascript
React key值的作用和使用详解
2018/08/23 Javascript
Vue.js组件props数据验证实现详解
2019/10/19 Javascript
详解关闭令人抓狂的ESlint 语法检测配置方法
2019/10/28 Javascript
JavaScript中作用域链的概念及用途讲解
2020/08/06 Javascript
Javascript call及apply应用场景及实例
2020/08/26 Javascript
python中正则表达式的使用详解
2014/10/17 Python
CentOS 6.5中安装Python 3.6.2的方法步骤
2017/12/03 Python
python实现自动发送邮件发送多人、群发、多附件的示例
2018/01/23 Python
Tensorflow 自带可视化Tensorboard使用方法(附项目代码)
2018/02/10 Python
用Python将一个列表分割成小列表的实例讲解
2018/07/02 Python
老生常谈python中的重载
2018/11/11 Python
python中for循环变量作用域及用法详解
2019/11/05 Python
python下对hsv颜色空间进行量化操作
2020/06/04 Python
Python ckeditor富文本编辑器代码实例解析
2020/06/22 Python
Python 使用生成器代替线程的方法
2020/08/04 Python
pycharm进入时每次都是insert模式的解决方式
2021/02/05 Python
CSS3支持IE6, 7, and 8的边框border属性
2012/12/28 HTML / CSS
新西兰优惠网站:Treat Me
2019/07/04 全球购物
俄罗斯女装店:12storeez
2019/10/25 全球购物
Zalando Lounge瑞士:时尚与生活方式购物俱乐部
2020/03/12 全球购物
体育专业个人的求职信范文
2013/09/21 职场文书
外语系毕业生求职自荐信
2014/04/12 职场文书
如何书写授权委托书?
2019/06/25 职场文书
Windows和Linux上部署Golang并运行程序
2022/04/22 Servers