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实现漂亮便签样式
Mar 18 HTML / CSS
详解CSS3的opacity属性设置透明效果的用法
May 09 HTML / CSS
CSS3制作彩色进度条样式的代码示例分享
Jun 23 HTML / CSS
使用CSS3的box-sizing属性解决div宽高被内边距撑开的问题
Jun 28 HTML / CSS
Css3新特性应用之形状总结
Dec 08 HTML / CSS
HTML5 Canvas像素处理使用接口介绍
Dec 02 HTML / CSS
html5 利用重力感应实现摇一摇换颜色可用来做抽奖等等
May 07 HTML / CSS
HTML5 Canvas基本线条绘制的实例教程
Mar 17 HTML / CSS
使用HTML5 Canvas API绘制弧线的教程
Mar 22 HTML / CSS
html5 div布局与table布局详解
Nov 16 HTML / CSS
详解px单位html5响应式方案
Mar 08 HTML / CSS
flex布局中使用flex-wrap实现换行的项目实践
Jun 21 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的单引号和双引号 字符串效率
2009/05/27 PHP
php中理解print EOT分界符和echo EOT的用法区别小结
2010/02/21 PHP
PHP异常处理Exception类
2015/12/11 PHP
基于php实现的验证码小程序
2016/12/13 PHP
php使用pthreads v3多线程实现抓取新浪新闻信息操作示例
2020/02/21 PHP
解决Extjs 4 Panel作为Window组件的子组件时出现双重边框问题
2013/01/11 Javascript
jquery获得页面元素的坐标值实现思路及代码
2013/04/15 Javascript
一个字符串反转函数可实现字符串倒序
2014/09/15 Javascript
基于jQuery实现点击弹出层实例代码
2016/01/01 Javascript
基于jQuery实现鼠标点击导航菜单水波动画效果附源码下载
2016/01/06 Javascript
有关jQuery中parent()和siblings()的小问题
2016/06/01 Javascript
超详细的JS弹出窗口代码大全
2020/04/18 Javascript
3种不同的ContextMenu右键菜单实现代码
2016/11/03 Javascript
js如何获取网页所有图片
2017/05/12 Javascript
JS 实现发送短信验证码的“59秒后重新发送验证短信”功能
2019/08/23 Javascript
[03:08]Ti4观战指南上
2014/07/07 DOTA
Python3中的真除和Floor除法用法分析
2016/03/16 Python
Python 正则表达式入门(初级篇)
2016/12/07 Python
12个Python程序员面试必备问题与答案(小结)
2019/06/24 Python
Python编写通讯录通过数据库存储实现模糊查询功能
2019/07/18 Python
python3.7 openpyxl 删除指定一列或者一行的代码
2019/10/08 Python
Python如何使用argparse模块处理命令行参数
2019/12/11 Python
Django实现将views.py中的数据传递到前端html页面,并展示
2020/03/16 Python
Django在Model保存前记录日志实例
2020/05/14 Python
Kmeans均值聚类算法原理以及Python如何实现
2020/09/26 Python
Python3+Django get/post请求实现教程详解
2021/02/16 Python
10 套华丽的CSS3 按钮小结
2012/10/03 HTML / CSS
Homestay中文官网:全球寄宿家庭
2018/10/18 全球购物
销售员个人求职的自我评价
2014/02/10 职场文书
《画》教学反思
2014/04/14 职场文书
2015年英语教研组工作总结
2015/05/23 职场文书
大学生干部培训心得体会
2016/01/06 职场文书
七年级写作指导之游记作文
2019/10/07 职场文书
Python Numpy库的超详细教程
2022/04/06 Python
mysql查找连续出现n次以上的数字
2022/05/11 MySQL
MySQL 数据库 增删查改、克隆、外键 等操作
2022/05/11 MySQL