2019独角兽企业重金招聘Python工程师标准>>>

使用div+css布局的好处不用多说,经常性地会使用到float,那么清除浮动就是必须要做的,而且随时性地对父级元素清除浮动的做法也被认为是书写CSS的良好习惯之一。

常用的清除浮动的方法有以下三种。
      此为未清除浮动源代码,运行代码无法查看到父级元素浅黄色背景。

<style type="text/css">

<!--

*{margin:0;padding:0;}

body{font:36px bold; color:#F00; text-align:center;}

#layout{background:#FF9;}

#left{float:left;width:20%;height:200px;background:#DDD;line-height:200px;}

#right{float:right;width:30%;height:80px;background:#DDD;line-height:80px;}

-->

</style>

<div id="layout">

<div id="left">Left</div>

<div id="right">Right</div>

</div>

1、使用空标签清除浮动。我用了很久的一种方法,空标签可以是div标签,也可以是P标签。我习惯用<P>,够简短,也有很多人用<hr>,只是需要另外为其清除边框,但理论上可以是任何标签。这种方式是在需要清除浮动的父级元素内部的所有浮动元素后添加这样一个标签清楚浮动,并为其定义CSS代码:clear:both。此方法的弊端在于增加了无意义的结构元素。

<style type="text/css">

<!--

*{margin:0;padding:0;}

body{font:36px bold; color:#F00; text-align:center;}

#layout{background:#FF9;}

#left{float:left;width:20%;height:200px;background:#DDD;line-height:200px;}

#right{float:right;width:30%;height:80px;background:#DDD;line-height:80px;}

.clr{clear:both;}

-->

</style>

<div id="layout">

<div id="left">Left</div>

<div id="right">Right</div>

<p class="clr"></p>

</div>

2、使用overflow属性。此方法有效地解决了通过空标签元素清除浮动而不得不增加无意代码的弊端。使用该方法是只需在需要清除浮动的元素中定义CSS属性:overflow:auto,即可!"zoom:1"用于兼容IE6。

<style type="text/css">

<!--

*{margin:0;padding:0;}

body{font:36px bold; color:#F00; text-align:center;}

#layout{background:#FF9;overflow:auto;zoom:1;}

#left{float:left;width:20%;height:200px;background:#DDD;line-height:200px;}

#right{float:right;width:30%;height:80px;background:#DDD;line-height:80px;}

-->

</style>

<div id="layout">

<div id="left">Left</div>

<div id="right">Right</div>

</div>

3、使用after伪对象清楚浮动。该方法只适用于非IE浏览器。具体写法可参照以下示例。使用中需注意以下几点。一、该方法中必须为需要清除浮动元素的伪对象中设置height:0,否则该元素会比实际高出若干像素;二、content属性是必须的,但其值可以为空,蓝色理想讨论该方法的时候content属性的值设为".",但我发现为空亦是可以的。

<style type="text/css">

<!--

*{margin:0;padding:0;}

body{font:36px bold; color:#F00; text-align:center;}

#layout{background:#FF9;}

#layout:after{display:block;clear:both;content:"";visibility:hidden;height:0;}

#left{float:left;width:20%;height:200px;background:#DDD;line-height:200px;}

#right{float:right;width:30%;height:80px;background:#DDD;line-height:80px;}

-->

</style>

<div id="layout">

<div id="left">Left</div>

<div id="right">Right</div>

</div>

此三种方法皆有一定弊端,使用时应择优选择,比较之下第二种方法更为可取。以上方法,并非原创,皆来源于网络,在此小作整理,原作者保留所有权利。

转载于:https://my.oschina.net/u/1865857/blog/291290

CSS清除浮动常用方法小结相关推荐

  1. Css清除浮动常用方法

    1.为什么要浮动 首先我们要知道为什么要给元素设置浮动.HTML中标签分为:块级标签,行内标签,行内块标签.其中块级标签和行内块标签以及行内标签的排列方式是不一样的,块级标签是独占一行的,而行内块元素 ...

  2. CSS清除浮动的四种常用方法及其优缺点

    前言 什么是CSS清除浮动? 在非IE浏览器下,当容器的高度为auto(没有设置),且容器的内容中有浮动(float为left或right)的元素,在这种情况下,容器的高度不能自动伸长以适应内容的高度 ...

  3. CSS清除浮动_清除float浮动

    CSS清除浮动方法集合 一.浮动产生原因   -   TOP 一般浮动是什么情况呢?一般是一个盒子里使用了CSS float浮动属性,导致父级对象盒子不能被撑开,这样CSS float浮动就产生了. ...

  4. CSS清除浮动大全共8种方法

    清除浮动是每一个 web前台设计师必须掌握的机能.css清除浮动大全,共8种方法. 浮动会使当前标签产生向上浮的效果,同时会影响到前后标签.父级标签的位置及 width height 属性.而且同样的 ...

  5. CSS——清除浮动的六种解决方案

    CSS--清除浮动的六种解决方案 参考文章: (1)CSS--清除浮动的六种解决方案 (2)https://www.cnblogs.com/iwilling/p/8485608.html (3)htt ...

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

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

  7. css清除浮动的原理

    最近学习css发现了高度塌陷时候要清除浮动,为了理解清楚浮动原理,网上找了不少资料,发现都写的不是很清楚,而且都是一模一样的内容,我在里分享一下我对清楚浮动原理的理解, 如果你已经很了解什么是浮动和浮 ...

  8. [css] 清除浮动的方式有哪些及优缺点?

    [css] 清除浮动的方式有哪些及优缺点? 什么是盒子塌陷? 外部盒子本应该包裹住内部的浮动盒子,结果却没有.问题出现的原因 父元素只包含浮动元素,那么它的高度就会塌缩为零(前提就是你们没有设置高度( ...

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

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

最新文章

  1. 嵌入式软件工程师笔试题(含答案)
  2. OpenAI解析「AI算力」:3个半月翻一倍,6年超过30万倍
  3. 面向切面编程-日志切面应用
  4. 多图 | 4人4天攻占10国榜首,只因有此神器……(文末高能预警)
  5. 图论--最短路-- Dijkstra模板(目前见到的最好用的)
  6. kafka java api 删除_使用Java API创建(create),查看(describe),列举(list),删除(delete)Kafka主题(Topic)...
  7. centos mysql 互为主从_centos7 mysql互为主从+keepalived
  8. 蓝桥杯第八届省赛JAVA真题----9数算式
  9. 经验 | 在C++平台上部署PyTorch模型流程+踩坑实录
  10. OSPF中的次优外部路由——Forwarding Address
  11. TokenInsight:反映区块链行业整体表现的TI指数较昨日同期下跌1.15%
  12. ofo 回应假装老外秒退押金;董明珠雷军十亿赌约到期;高通苹果摩擦再升级 | 极客头条...
  13. junit测试给定默认的jvm参数
  14. maven项目打包成可执行的jar
  15. PTA查验身份证 (15 分) 一个合法的身份证号码由17位地区、日期编号和顺序编号加1位校验码组成。
  16. ESP32 开发笔记(四)LVGL控件学习 ColorPicker 颜色选择器控件
  17. canvas SVG webGL比较
  18. html母亲节主题网页源码jd
  19. 如何有效地设置QTextEdit的背景
  20. Deploy k8s(1.25)

热门文章

  1. 电脑销售渠道_“新冠”影响下,平板电脑市场再现新商机
  2. Java设计模式(三):装饰者设计模式
  3. linux x下载工具,Linux下强大的Axel下载工具
  4. linux专业术语中英文,Linux专业术语中英文对照.doc
  5. java开启线程的方法_Java有几种方法开启线程?怎么实现带有返回值的线程?
  6. java中四种常用的引用类型_java中四种引用类型
  7. json mysql 字段 默认值_MySQL中的JSON类型
  8. 一次完整的HTTP事务过程--超详细!
  9. [ Linux ] 釋放記憶體指令(cache) - 轉載
  10. Linux使用storcli工具查看服务器硬盘和raid组信息