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 相关文章推荐
css动画效果之animation的常用样式
Mar 09 HTML / CSS
css3之UI元素状态伪类选择器实例演示
Aug 11 HTML / CSS
css3圆角样式分享自定义按钮样式
Dec 27 HTML / CSS
带有css3动画效果的兼容多浏览器简单导航条示例
Jan 26 HTML / CSS
CSS3 @font-face属性使用指南
Dec 12 HTML / CSS
CSS3使用transition实现的鼠标悬停淡入淡出
Jan 09 HTML / CSS
分享CSS3制作卡片式图片的方法
Jul 08 HTML / CSS
用纯CSS3实现网页中常见的小箭头
Oct 16 HTML / CSS
CSS3 实现footer 固定在底部(无论页面多高始终在底部)
Oct 15 HTML / CSS
HTML5 与 XHTML2
Oct 17 HTML / CSS
html5 application cache遇到的严重问题
Dec 26 HTML / CSS
什么是css原子化,有什么用?
Apr 24 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
yii框架源码分析之创建controller代码
2011/06/28 PHP
ThinkPHP使用UTFWry地址库进行IP定位实例
2014/04/01 PHP
php实现字符串首字母转换成大写的方法
2015/03/17 PHP
PHP模拟post提交数据方法汇总
2016/02/16 PHP
几行代码轻松实现PHP文件打包下载zip
2017/03/01 PHP
JQuery与JSon实现的无刷新分页代码
2011/09/13 Javascript
JS时间选择器 兼容IE6,7,8,9
2012/06/26 Javascript
禁止ajax缓存获取程序最新数据的方法
2013/11/19 Javascript
Extjs4实现两个GridPanel之间数据拖拽功能具体方法
2013/11/21 Javascript
JavaScript阻止事件冒泡示例分享
2014/12/28 Javascript
JS弹出窗口的运用与技巧大全
2016/11/01 Javascript
vue实现tab切换外加样式切换方法
2018/03/16 Javascript
用ES6的class模仿Vue写一个双向绑定的示例代码
2018/04/20 Javascript
Vue中mintui的field实现blur和focus事件的方法
2018/08/25 Javascript
angularJS自定义directive之带参方法传递详解
2018/10/09 Javascript
QRCode.js二维码生成并能长按识别
2018/10/16 Javascript
Node.js 进程平滑离场剖析小结
2019/01/24 Javascript
jQuery实现的网站banner图片无缝轮播效果完整实例
2019/01/28 jQuery
javascript实现拖拽碰撞检测
2020/03/12 Javascript
[44:47]Ti4 循环赛第三日 iG vs NaVi
2014/07/12 DOTA
django admin添加数据自动记录user到表中的实现方法
2018/01/05 Python
Python yield与实现方法代码分析
2018/02/06 Python
Python实现二叉树的常见遍历操作总结【7种方法】
2019/03/06 Python
Python序列对象与String类型内置方法详解
2019/10/22 Python
python3读取autocad图形文件.py实例
2020/06/05 Python
Python 找出英文单词列表(list)中最长单词链
2020/12/14 Python
Nebula美国官网:便携式投影仪
2019/03/15 全球购物
优秀党员转正的自我评价
2013/10/06 职场文书
商务英语求职自荐信范文
2013/12/24 职场文书
银行员工辞职信范文
2014/01/20 职场文书
婚庆公司的创业计划书
2014/01/22 职场文书
市级文明单位申报材料
2014/05/07 职场文书
2016年小学六一儿童节活动总结
2016/04/06 职场文书
2019开业庆典剪彩仪式主持词!
2019/07/22 职场文书
《曾国藩家书》读后感——读家书,立家风
2019/08/21 职场文书
Python中的 Set 与 dict
2022/03/13 Python