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的@media属性实现页面响应式布局示例代码
Feb 10 HTML / CSS
基于css3的属性transition制作菜单导航效果
Sep 01 HTML / CSS
html5的localstorage详解
May 09 HTML / CSS
详解FireFox下Canvas使用图像合成绘制SVG的Bug
Jul 10 HTML / CSS
HTML5 Canvas如何实现纹理填充与描边(Fill And Stroke)
Jul 15 HTML / CSS
基于html5 DeviceOrientation 实现微信摇一摇功能
Sep 25 HTML / CSS
详解移动端HTML5页面端去掉input输入框的白色背景和边框(兼容Android和ios)
Dec 15 HTML / CSS
h5实现获取用户地理定位的实例代码
Jul 17 HTML / CSS
HTML5自定义属性的问题分析
Aug 16 HTML / CSS
html5关于外链嵌入页面通信问题(postMessage解决跨域通信)
Jul 20 HTML / CSS
奇妙的 CSS shapes(CSS图形)
Apr 05 HTML / CSS
CSS3实现指纹特效代码
Mar 17 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
php实现把数组按指定的个数分隔
2014/02/17 PHP
让CodeIgniter的ellipsize()支持中文截断的方法
2014/06/12 PHP
MySql数据库查询结果用表格输出PHP代码示例
2015/03/20 PHP
PHP 实现 WebSocket 协议原理与应用详解
2020/04/22 PHP
尽可能写&quot;友好&quot;的&quot;Javascript&quot;代码
2007/01/09 Javascript
JavaScript中的Location地址对象
2008/01/16 Javascript
使用Firebug对js进行断点调试的图文方法
2011/04/02 Javascript
javascript运行机制之this详细介绍
2014/02/07 Javascript
jquery ajax请求方式与提示用户正在处理请稍等
2014/09/01 Javascript
node.js中的fs.readdirSync方法使用说明
2014/12/17 Javascript
浅谈Jquery为元素绑定事件
2015/04/27 Javascript
jQuery插件实现无缝滚动特效
2015/11/24 Javascript
前端微信支付js代码
2016/07/25 Javascript
JavaScript中this的用法实例分析
2016/12/19 Javascript
Jquery-data的三种用法
2017/04/18 jQuery
利用Angular2 + Ionic3开发IOS应用实例教程
2018/01/15 Javascript
JS与jQuery实现ListBox上移,下移,左移,右移操作功能示例
2018/05/31 jQuery
JavaScript使用享元模式实现文件上传优化操作示例
2018/08/07 Javascript
JS实现炫酷轮播图
2020/11/15 Javascript
[01:05:52]DOTA2-DPC中国联赛 正赛 Ehome vs Aster BO3 第一场 2月2日
2021/03/11 DOTA
Pycharm学习教程(1) 定制外观
2017/05/02 Python
Python对List中的元素排序的方法
2018/04/01 Python
基于Python 的语音重采样函数解析
2020/07/06 Python
Python使用lambda抛出异常实现方法解析
2020/08/20 Python
python解决OpenCV在读取显示图片的时候闪退的问题
2021/02/23 Python
印度购买眼镜和太阳镜网站:Coolwinks
2018/09/26 全球购物
Groupon比利时官方网站:特卖和网上购物高达-70%
2019/08/09 全球购物
六十岁生日答谢词
2014/01/10 职场文书
2014年酒店工作总结与计划
2014/11/17 职场文书
2014年科普工作总结
2014/12/06 职场文书
教师个人事迹材料
2014/12/17 职场文书
心灵捕手观后感
2015/06/02 职场文书
大学学生会主席竞选稿怎么写?
2019/08/19 职场文书
你离财务总监还有多远?速览CFO的岗位职责
2019/11/18 职场文书
JavaScript流程控制(循环)
2021/12/06 Javascript
vue postcss-px2rem 自适应布局
2022/05/15 Vue.js