CSS中利用float属性可以使元素脱离文档流浮动到父元素的左侧或者浮动的父元素的右侧,这时如果对元素使用浮动属性,会导致父元素不能被撑开。

CSS代码:

.wrapper{width: 40em;border: 1px solid red;
}.leftFloat{width: 9em;height: 5em;background: #ffffcc;float: left;
}
.rightFloat{width: 9em;height: 5em;background: #ffffcc;float: right;
}

布局:

<div class="wrapper"><div class="leftFloat">left float</div><div class="rightFloat">right float</div></div>

效果图:

对父div内的两个div分别使用向左float和向右浮动后,父div就成了两条线,仿佛没有了内容填充了。这种浮动内部元素产生的副作用可以采用以下几种方式来消除。

1.设置父容器的高度

.wrapper{width: 40em;height: 82px; /*内容高度 + 边框高度*/border: 1px solid red;
}

设置父容器height值后,消除了浮动子元素产生的影响。但这种方式一定要确保高度是固定值,如果内容高度不定,这种方式将不再适用。

2.利用clear属性清除浮动

<div class="wrapper"><div class="leftFloat">left float</div><div class="rightFloat">right float</div><div class="clearFloat"></div></div>
.clearFloat{clear: both;
}

如上在父容器内添加一个空div,并将该div的样式属性设置为clear:both,这样也能消除浮动。

3.为父容器添加overflow:hidden属性或者overflow:auto属性

.wrapper{width: 40em;border: 1px solid red;overflow: hidden;
}
<div class="wrapper"><div class="leftFloat">left float</div><div class="rightFloat">right float</div></div>

4.为父容器添加浮动属性

.wrapper{width: 40em;border: 1px solid red;float: left;
}

父容器使用float会同时产生其他影响,当不设置父容器的宽高时,父容器的宽高根据被子元素填充大小来确定。

如去除wrpper的width属性:

.wrapper{border: 1px solid red;float: left;
}

父容器的宽高均依据子元素的填充大小确定

5.使用clearfix:after和zoom清除浮动

为父容器添加的属性类

.clearfix:after{display: block;content: "";height: 0;visibility: hidden;clear: both;
}
.clearfix{zoom: 1;
}

其中IE8+以及其他主流浏览器支持.clearfix:after,zoom则是为了确保兼容IE6,IE7

将其应用到父容器

<div class="wrapper clearfix"><div class="leftFloat">left float</div><div class="rightFloat">right float</div></div>

这种方式清除浮动是最为推荐的,兼容性好,有不会出现其他问题。

CSS 清除浮动的方法相关推荐

  1. div为空的时候 浮动没有效果_3种CSS清除浮动的方法

    点击上方 "前端技术精选" 关注,星标或者置顶 12点00分准时推送,第一时间送达 作者:html中文网 | 编辑:前端妹 来源:html.cn/web/css/19613.htm ...

  2. css为什么要用浮动_3种CSS清除浮动的方法

    点击上方 "前端技术精选" 关注,星标或者置顶 12点00分准时推送,第一时间送达 作者:html中文网 | 编辑:前端妹 来源:html.cn/web/css/19613.htm ...

  3. css清除浮动的方法及原因

    清除浮动的方法及原因 为什么要清除浮动 清除浮动的方法 方法1:为父元素设置高度 方法2:在受影响的父元素内部末尾添加块级元素-如div 方法3:伪元素清除法 方法4:给父元素设置overflow: ...

  4. CSS清除浮动的方法

    我们先看看浮动导致什么样的效果. 正常没有浮动的案例如下: <!DOCTYPE html> <html><head><meta charset="u ...

  5. web前端css清除浮动的方法总结

    方法1:祖先加高法 //不常用,不能适应页面的快速变化 如果一个元素要浮动,那么它的祖先元素一定要有高度.有高度的盒子,才能关住浮动. 只要浮动在一个有高度的盒子中,那么这个浮动就不会影响后面的浮动元 ...

  6. CSS清除浮动的方法及原理

    为什么清除浮动 1.浮动的缺点: 浮动虽然可以便于页面布局,但同时会产生一些问题,也就是我们常说的"副作用".一个元素设置了浮动(即 float 值为 left, right 或 ...

  7. 前端开发面试题—CSS清除浮动的方法

  8. 活学活用,CSS清除浮动的4种方法

    清除浮动这个问题,做前端的应该再熟悉不过了,咱是个新人,所以还是记个笔记,做个积累,努力学习向大神靠近. CSS清除浮动的方法网上一搜,大概有N多种,用过几种,说下个人感受. 1.结尾处加空div标签 ...

  9. css清除浮动无效,css清除浮动的处理方法

    根据<精彩绝伦的css> JS Bin .news{ outline:1px solid pink } .col{ float: left; width:33%; outline:1px ...

最新文章

  1. SuMa++: LiDAR-based Semantic SLAM
  2. easyexcel读取合并单元格内容_一周一个小技巧 | excel不会核对内容?不会填充合并单元格?7个实用的EXCEL技巧,一起来看看吧...
  3. [ 一起学React系列 -- 10 ] i18n
  4. 分享一套基于SpringBoot和Vue的企业级中后台开源项目,这个项目有点哇塞!
  5. 解决Oracle jdbc驱动包maven下载失败问题
  6. 【QGIS入门实战精品教程】5.1:QGIS地理坐标转火星坐标系(GCJ02)案例教程
  7. [蓝桥杯]回形取数-方向向量+模拟
  8. 【渝粤题库】国家开放大学2021春2096经济法学题目
  9. [转载] Java重载、覆盖与构造函数
  10. ubuntu11.10乱码解决
  11. 在vue中使用javascript动态修改字符串中某段文字的颜色
  12. Python科学计算——Numpy知识点
  13. java maven是做什么的_maven是干什么用的
  14. 后台网站二级页面制作步骤
  15. 什么是闰年?闰年为什么是366天?为什么不能是100的倍数?
  16. CSDN问答模块标题推荐任务(一) —— 基本框架的搭建
  17. 曲线之美(一)贝塞尔曲线
  18. ubuntu下定时清理文件
  19. Elastic:运用 Elastic Maps 实时跟踪,可视化资产分布及地理围栏告警(二)
  20. Web前端工程师-优秀简历汇总

热门文章

  1. 讯搜 配置mysql_迅搜,十分钟搭建一个搜索引擎
  2. 老男孩python全栈开发视频教程_老男孩Python全栈开发(92天全)视频教程 自学笔记18...
  3. TCP三次握手的相关问题及解答
  4. 【强化学习】模仿学习:生成式对抗模仿学习
  5. Java Swing入门
  6. 关于大数据技术的演讲_大数据核心技术介绍:大数据处理技术
  7. 逻辑表达式 -- 对蕴含的理解(举例更清晰、明白哦)
  8. 华为硬件工程师社招机考题库_华为硬件工程师笔试、面试题
  9. GateWay简介及使用
  10. 微软SQL Server2012增长对Hadoop的支撑