CSS浮动引起的高度塌陷问题


Posted in HTML / CSS onAugust 05, 2022

正常页面布局

<style>
        *{
            margin:0;
            padding: 0;
        }
        .content{
            width:400px;
            border:1px solid #000;
            
        }
        .box{
            width:200px;
            height:200px;
            background: greenyellow;
            
        }
    </style>

<body>
    <div class="content">
        <div class="box"></div>
    </div>
    <p>基苦阿斯蒂芬</p>
</body>

CSS浮动引起的高度塌陷问题

当给类名为.box的盒子加上浮动后

<style>
        *{
            margin:0;
            padding: 0;
        }
        .content{
            width:400px;
            border:1px solid #000;
            
        }
        .box{
            width:200px;
            height:200px;
            background: greenyellow;
            float: left;
            
        }
    </style>

CSS浮动引起的高度塌陷问题

可以看到页面布局已经乱了,因为元素设置浮动后会脱离文档流

解决方案

1 利用BFC(给父元素加上overflow:hidden)

**缺点:父元素溢出的元素会隐藏,可能会影响页面显示 **

.content{
            width:400px;
            border:1px solid #000;
            overflow: hidden;
            
        }

2 加空div

要点:
1.加上一个空的块级元素
2.对块级元素进行清除浮动, 省事方法,不管理是左浮还是右浮,直接全清(clear:both)

<style>
        *{
            margin:0;
            padding: 0;
        }
        .content{
            width:400px;
            border:1px solid #000;
            /* overflow: hidden; */
            
        }
        .box{
            width:200px;
            height:200px;
            background: greenyellow;
            float: left;
            
        }
        .clear{
            clear: both;
        }
    </style>
    
<body>
    <div class="content">
        <div class="box"></div>
        <div class="clear"></div>
    </div>
    <p>基苦阿斯蒂芬</p>
</body>

3 利用伪元素

要点:
1 其实和加空div的原理是一致的,唯一要记住的就是把伪元素转为块级元素(display:block),否则会没有效果
2 还有伪元素的属性不要忘记加上(content:‘’)

<style>
        *{
            margin:0;
            padding: 0;
        }
        .content{
            width:400px;
            border:1px solid #000;
            /* overflow: hidden; */
            
        }
        .content::after{
            content: '';
            display: block; // 必须要转换为块元素
            clear: both;
        }
        .box{
            width:200px;
            height:200px;
            background: greenyellow;
            float: left;
            
        }
        /* .clear{
            clear: both;
        } */
    </style>

<body>
    <div class="content">
        <div class="box"></div>
        <!-- <div class="clear"></div> -->
    </div>
    <p>基苦阿斯蒂芬</p>
</body>

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

 
HTML / CSS 相关文章推荐
css3实现一个div设置多张背景图片及background-image属性实例演示
Aug 10 HTML / CSS
浅谈css3中的渐进增强和优雅降级
Dec 01 HTML / CSS
canvas像素画板的实现代码
Nov 21 HTML / CSS
Html5移动端获奖无缝滚动动画实现示例
Jun 25 HTML / CSS
html5调用摄像头功能的实现代码
May 07 HTML / CSS
详解Html5原生拖拽操作
Jan 12 HTML / CSS
html特殊符号示例 html特殊字符编码对照表
Jan 14 HTML / CSS
HTML5本地存储localStorage、sessionStorage基本用法、遍历操作、异常处理等
May 08 HTML / CSS
HTML5 DeviceOrientation实现手机网站摇一摇功能代码实例
Apr 24 HTML / CSS
深入解析HTML5使用SVG图像时的viewBox属性用法
Sep 02 HTML / CSS
使用phonegap获取设备的一些信息方法
Mar 31 HTML / CSS
HTML5 新表单类型示例代码
Mar 20 HTML / CSS
使用CSS实现六边形的图片效果
Aug 05 #HTML / CSS
el-form每行显示两列底部按钮居中效果的实现
Aug 05 #HTML / CSS
纯CSS打字动画的实现示例
Aug 05 #HTML / CSS
新的CSS 伪类函数 :is() 和 :where()示例详解
前端使用svg图片改色实现示例
Jul 23 #HTML / CSS
详解flex:1什么意思
Jul 23 #HTML / CSS
CSS子盒子水平和垂直居中的五种方法
Jul 23 #HTML / CSS
You might like
DedeCMS 核心类TypeLink.class.php摘要笔记
2010/04/07 PHP
Warning: session_destroy() : Trying to destroy uninitialized sessionq错误
2011/06/16 PHP
关于PHP二进制流 逐bit的低位在前算法(详解)
2013/06/13 PHP
PHP实现简单数字分页效果
2015/07/26 PHP
Laravel框架实现redis集群的方法分析
2017/09/14 PHP
PHP基础之输出缓冲区基本概念、原理分析
2019/06/19 PHP
js资料prototype 属性
2007/03/13 Javascript
JavaScript 继承详解(一)
2009/07/13 Javascript
javascript实现上传图片并预览的效果实现代码
2011/04/11 Javascript
JavaScript动态操作表格实例(添加,删除行,列及单元格)
2013/11/25 Javascript
javascript获取xml节点的最大值(实现代码)
2013/12/11 Javascript
javascript实现密码验证
2015/11/10 Javascript
bootstrap输入框组件使用方法详解
2017/01/19 Javascript
Angular实现双向折叠列表组件的示例代码
2017/11/21 Javascript
webpack 样式加载的实现原理
2018/06/12 Javascript
JavaScript面试技巧之数组的一些不low操作
2019/03/22 Javascript
基于Vue中使用节流Lodash throttle详解
2019/10/30 Javascript
JS实现瀑布流效果
2020/03/07 Javascript
python生成随机验证码(中文验证码)示例
2014/04/03 Python
python flask实现分页效果
2017/06/27 Python
python运行其他程序的实现方法
2017/07/14 Python
windows下python之mysqldb模块安装方法
2017/09/07 Python
基于Django与ajax之间的json传输方法
2018/05/29 Python
Python遍历文件夹 处理json文件的方法
2019/01/22 Python
Python项目 基于Scapy实现SYN泛洪攻击的方法
2019/07/23 Python
Django多数据库的实现过程详解
2019/08/01 Python
python 安装教程之Pycharm安装及配置字体主题,换行,自动更新
2020/03/13 Python
GAP阿联酋官网:GAP UAE
2017/11/30 全球购物
Bulk Powders意大利:运动补充在线商店
2019/02/09 全球购物
元宵节晚会主持人串词
2014/03/25 职场文书
关于十八大的演讲稿
2014/09/15 职场文书
2014年银行工作总结范文
2014/11/12 职场文书
优秀护士事迹材料
2014/12/25 职场文书
2019年行政人事个人工作总结范本!
2019/07/19 职场文书
Nginx配置80端口访问8080及项目名地址方法解析
2021/03/31 Servers
Python中非常使用的6种基本变量的操作与技巧
2022/03/22 Python