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制作倾斜导航条和毛玻璃效果
Sep 12 HTML / CSS
详解CSS3开启硬件加速的使用和坑
Aug 21 HTML / CSS
CSS3实例分享--超炫checkbox复选框和radio单选框
Sep 01 HTML / CSS
CSS3对背景图片的裁剪及尺寸和位置的设定方法
Mar 07 HTML / CSS
HTML5 常见面试题之PC端和移动端区别介绍
Jan 22 HTML / CSS
HTML5实现移动端复制功能
Apr 19 HTML / CSS
HTML5离线应用与客户端存储的实现
May 03 HTML / CSS
HTML5给汉字加拼音收起展开组件的实现代码
Apr 08 HTML / CSS
浅谈amaze-ui中datepicker和datetimepicker注意的几点
Aug 21 HTML / CSS
纯html+css实现奥运五环的示例代码
Aug 02 HTML / CSS
CSS 实现角标效果的完整代码
Jun 28 HTML / CSS
如何解决flex文本溢出问题小结
Jul 15 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
生成缩略图
2006/10/09 PHP
目录,文件操作详谈―PHP
2006/11/25 PHP
php access 数据连接与读取保存编辑数据的实现代码
2010/05/12 PHP
PHP判断文件是否被引入的方法get_included_files用法示例
2016/11/29 PHP
javascript通过class来获取元素实现代码
2013/02/20 Javascript
深入解析contentWindow, contentDocument
2013/07/04 Javascript
jQuery中andSelf()方法用法实例
2015/01/08 Javascript
js封装可使用的构造函数继承用法分析
2015/01/28 Javascript
jQuery遍历json中多个map的方法
2015/02/12 Javascript
深入理解JavaScript系列(30):设计模式之外观模式详解
2015/03/03 Javascript
浏览器兼容性问题大汇总
2015/12/17 Javascript
Angularjs全局变量被作用域监听的正确姿势
2016/02/06 Javascript
深入理解Node.js的HTTP模块
2016/10/12 Javascript
JavaScript中关于for循环删除数组元素内容时出现的问题
2016/11/21 Javascript
详解关于react-redux中的connect用法介绍及原理解析
2017/09/11 Javascript
使用vue-router beforEach实现判断用户登录跳转路由筛选功能
2018/06/25 Javascript
函数式编程入门实践(一)
2019/04/20 Javascript
微信小程序云开发实现增删改查功能
2019/05/17 Javascript
vue源码中的检测方法的实现
2019/09/26 Javascript
Vue.js的模板语法详解
2020/02/16 Javascript
解决elementUI 切换tab后 el_table 固定列下方多了一条线问题
2020/07/19 Javascript
Vue Render函数原理及代码实例解析
2020/07/30 Javascript
在vue中axios设置timeout超时的操作
2020/09/04 Javascript
[41:41]TFT vs Secret Supermajor小组赛C组 BO3 第一场 6.3
2018/06/04 DOTA
Python在线运行代码助手
2016/07/15 Python
Python使用struct处理二进制的实例详解
2017/09/11 Python
Python自动化运维_文件内容差异对比分析
2017/12/13 Python
解决Django连接db遇到的问题
2019/08/29 Python
使用html5 canvas绘制圆环动效
2019/06/03 HTML / CSS
艺术家策划的室内设计:Curious Egg
2019/03/06 全球购物
使用索引有什么好处
2016/07/27 面试题
考博自荐信
2013/10/25 职场文书
单位授权委托书范文
2014/08/02 职场文书
奔腾年代观后感
2015/06/09 职场文书
2019年让高校“心动”的自荐信
2019/03/25 职场文书
签证扫盲贴,41个常见签证知识,需要的拿走
2019/08/09 职场文书