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 相关文章推荐
使用HTML5和CSS3表单验证功能
May 05 HTML / CSS
纯CSS3打造动感漂亮时尚的扇形菜单
Mar 18 HTML / CSS
css3新增颜色表示方式分享
Apr 15 HTML / CSS
CSS3 RGBA色彩模式使用实例讲解
Apr 26 HTML / CSS
CSS3中Animation动画属性用法详解
Jul 04 HTML / CSS
HTML5+CSS3网页加载进度条的实现,下载进度条的代码实例
Dec 30 HTML / CSS
canvas实现圆绘制的示例代码
Sep 11 HTML / CSS
html5教程调用绘图api画简单的圆形代码分享
Dec 04 HTML / CSS
简单的HTML5初步入门教程
Sep 29 HTML / CSS
HTML5对比HTML4的主要改变和改进总结
May 27 HTML / CSS
浅谈html5标签css3的常用样式
Oct 20 HTML / CSS
CSS中Single Div 绘图技巧的实现
Jun 18 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面向对象分析设计的经验原则
2008/09/20 PHP
PHP中文处理 中文字符串截取(mb_substr)和获取中文字符串字数
2011/11/10 PHP
PHP的静态方法与普通方法用法实例分析
2019/09/26 PHP
js中的值类型和引用类型小结 文字说明与实例
2010/12/12 Javascript
Struts2的s:radio标签使用及用jquery添加change事件
2013/04/08 Javascript
用jquery存取照片的具体实现方法
2013/06/30 Javascript
jquery弹出层类代码分享
2013/12/27 Javascript
json实现前后台的相互传值详解
2015/01/05 Javascript
第五篇Bootstrap 排版
2016/06/21 Javascript
JS使用cookie设置样式的方法
2016/06/30 Javascript
解决bootstrap导航栏navbar在IE8上存在缺陷的方法
2016/07/01 Javascript
jQuery插件FusionCharts绘制2D环饼图效果示例【附demo源码】
2017/04/10 jQuery
JavaScript简单实现合并两个Json对象的方法示例
2017/10/16 Javascript
vue项目base64字符串转图片的实现代码
2018/07/13 Javascript
如何让微信小程序页面之间的通信不再变困难
2019/06/03 Javascript
使用Python的urllib2模块处理url和图片的技巧两则
2016/02/18 Python
python dataframe astype 字段类型转换方法
2018/04/11 Python
Python使用logging模块实现打印log到指定文件的方法
2018/09/05 Python
python实现简单加密解密机制
2019/03/19 Python
使用Python实现分别输出每个数组
2019/12/06 Python
Python Pickle 实现在同一个文件中序列化多个对象
2019/12/30 Python
pytorch掉坑记录:model.eval的作用说明
2020/06/23 Python
HTML5 CSS3给网站设计带来出色效果
2009/07/16 HTML / CSS
Html5饼图绘制实现统计图的方法
2020/08/05 HTML / CSS
goodhealth官方海外旗舰店:新西兰国民营养师
2017/12/15 全球购物
资产经营总监岗位职责
2013/12/04 职场文书
电工工作职责范本
2014/02/22 职场文书
2014年两会学习心得体会
2014/03/10 职场文书
副主任竞聘演讲稿
2014/08/18 职场文书
防灾减灾宣传标语
2014/10/07 职场文书
运动员加油词
2015/07/18 职场文书
2015年社区国庆节活动总结
2015/07/30 职场文书
golang中的空slice案例
2021/04/27 Golang
pytorch 实现多个Dataloader同时训练
2021/05/29 Python
只用20行Python代码实现屏幕录制功能
2021/06/02 Python
Python趣味实战之手把手教你实现举牌小人生成器
2021/06/07 Python