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 相关文章推荐
实列教程 一款基于jquery和css3的响应式二级导航菜单
Nov 13 HTML / CSS
html5使用canvas实现图片下载功能的示例代码
Aug 26 HTML / CSS
HTML5 使用 sessionStorage 进行页面传值的方法
Jul 02 HTML / CSS
html5的canvas方法使用指南
Dec 15 HTML / CSS
使用HTML5 Canvas绘制圆角矩形及相关的一些应用举例
Mar 22 HTML / CSS
HTML5各种头部meta标签的功能(推荐)
Mar 13 HTML / CSS
html5手机端页面可以向右滑动导致样式受影响的问题
Jun 20 HTML / CSS
利用Storage Event实现页面间通信的示例代码
Jul 26 HTML / CSS
H5最强接口之canvas实现动态图形功能
May 31 HTML / CSS
css position fixed 左右双定位的实现代码
Apr 29 HTML / CSS
纯html+css实现Element loading效果
Aug 02 HTML / CSS
在HTML中引入CSS的几种方式介绍
Dec 06 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/01/17 PHP
PHP stream_context_create()函数的使用示例
2015/05/12 PHP
使用Appcan客户端自动更新PHP版本号(全)
2015/07/31 PHP
WordPress中缩略图的使用以及相关技巧
2015/11/24 PHP
PHP反射学习入门示例
2019/06/14 PHP
js的写法基础分析
2011/01/17 Javascript
js判断背景图片是否加载成功使用img的width实现
2013/05/29 Javascript
js如何判断用户是在PC端和还是移动端访问
2014/04/24 Javascript
javascript实现数字倒计时特效
2016/03/30 Javascript
jQuery实现图片轮播效果代码(基于jquery.pack.js插件)
2016/06/02 Javascript
微信小程序 icon组件详细及实例代码
2016/10/25 Javascript
Angular页面间切换及传值的4种方法
2016/11/04 Javascript
JavaScript实现QQ聊天消息展示和评论提交功能
2017/05/22 Javascript
Require.JS中的几种define定义方式示例
2017/06/01 Javascript
Vue动态组件和异步组件原理详解
2019/05/06 Javascript
axios异步提交表单数据的几种方法
2019/08/11 Javascript
[01:28:56]2014 DOTA2华西杯精英邀请赛 5 24 CIS VS DK
2014/05/26 DOTA
[02:23]2016国际邀请赛中国区预选赛wings晋级之路
2016/06/29 DOTA
python中mechanize库的简单使用示例
2014/01/10 Python
Python中暂存上传图片的方法
2015/02/18 Python
由Python运算π的值深入Python中科学计算的实现
2015/04/17 Python
为Python的web框架编写前端模版的教程
2015/04/30 Python
Python itertools模块详解
2015/05/09 Python
python从入门到精通(DAY 3)
2015/12/20 Python
浅谈python中的getattr函数 hasattr函数
2016/06/14 Python
机器学习python实战之手写数字识别
2017/11/01 Python
Scrapy基于selenium结合爬取淘宝的实例讲解
2018/06/13 Python
Python queue队列原理与应用案例分析
2019/09/27 Python
HTML5的结构和语义(5):内嵌媒体
2008/10/17 HTML / CSS
馥蕾诗美国官网:Fresh美国
2019/10/09 全球购物
阿联酋手表和配饰购物网站:Rivolishop
2019/11/25 全球购物
保险内勤岗位职责
2014/04/05 职场文书
环保项目建议书
2014/08/26 职场文书
党员反对四风思想汇报范文
2014/10/25 职场文书
《多彩的民间艺术》教学反思
2016/02/16 职场文书
2016年感恩教师节活动总结
2016/04/01 职场文书