此为未清除浮动源代码,运行代码无法查看到父级元素浅黄色背景。<style type=”text/css”>

  1. <!–
  2. *{margin:0;padding:0;}
  3. body{font:36px bold; color:#F00; text-align:center;}
  4. #layout{background:#FF9;}
  5. #left{float:left;width:20%;height:200px;background:#DDD;line-height:200px;}
  6. #right{float:right;width:30%;height:80px;background:#DDD;line-height:80px;}
  7. –>
  8. </style>
  9. <div id=”layout”>
  10. <div id=”left”>Left</div>
  11. <div id=”right”>Right</div>
  12. </div>

复制代码

未清除浮动前如图所示:

四种清除浮动方法如下:

1、使用空标签清除浮动。 我用了很久的一种方法,空标签可以是div标签,也可以是P标签。这种方式是在需要清除浮动的父级元素内部的所有浮动元素后添加这样一个标签清除浮动,并为其定义CSS代码:clear:both。此方法的弊端在于增加了无意义的结构元素。
对于使用额外标签清除浮动(闭合浮动元素),是W3C推荐的做法。至于使用<br
/>元素还是空<div></div>可以根据自己的喜好来选(当然你也可以使用其它块级元素)。不过要注意的
是,<br
/>本身是有表现的,它会多出一个换行出来,所以要设定它的heigh为0,以隐藏它的表现。所以大多数情况下使用空<div>比较合
适。<style type=”text/css”>

  1. <!–
  2. *{margin:0;padding:0;}
  3. body{font:36px bold; color:#F00; text-align:center;}
  4. #layout{background:#FF9;}
  5. #left{float:left;width:20%;height:200px;background:#DDD;line-height:200px;}
  6. #right{float:right;width:30%;height:80px;background:#DDD;line-height:80px;}
  7. .clear{clear:both;}
  8. –>
  9. </style>
  10. <div id=”layout”>
  11. <div id=”left”>Left</div>
  12. <div id=”right”>Right</div>
  13. <div class=”clear”>
  14. </div>
  15. </div>

复制代码

2、
使用overflow属性。
此方法有效地解决了通过空标签元素清除浮动而不得不增加无意代码的弊端。使用该方法是只需在需要清除浮动的元素中定义CSS属
性:overflow:auto,即可!也可以用overflow:hidden;”zoom:1″用于兼容IE6,也可以用width:100%。
不过使用overflow的时候,可能会对页面表现带来影响,而且这种影响是不确定的,你最好是能在多个浏览器上测试你的页面;

  1. <style type=”text/css”>
  2. <!–
  3. *{margin:0;padding:0;}
  4. body{font:36px bold; color:#F00; text-align:center;}
  5. #layout{background:#FF9;overflow:auto;zoom:1; }   /* overflow:auto可以换成overflow:hidden,zoom:1可以换成width:100%*/
  6. #left{float:left;width:20%;height:200px;background:#DDD;line-height:200px;}
  7. #right{float:right;width:30%;height:80px;background:#DDD;line-height:80px;}
  8. –>
  9. </style>
  10. <div id=”layout”>
  11. <div id=”left”>Left</div>
  12. <div id=”right”>Right</div>
  13. </div>

复制代码

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

  1. type=”text/css”>
  2. <!–
  3. *{margin:0;padding:0;}
  4. body{font:36px bold; color:#F00; text-align:center;}
  5. #layout{background:#FF9;}
  6. #layout:after{display:block;clear:both;content:”";visibility:hidden;height:0;}
  7. #left{float:left;width:20%;height:200px;background:#DDD;line-height:200px;}
  8. #right{float:right;width:30%;height:80px;background:#DDD;line-height:80px;}
  9. –>
  10. </style>
  11. <div id=”layout”>
  12. <div id=”left”>Left</div>
  13. <div id=”right”>Right</div>
  14. </div>

复制代码

4、浮动外部元素,float-in-float。这种方法很简单,就是把“#outer”元素也进行浮动(向左或者向右)。
但是这种方法带来的别外一个问题就是和“#outer”相邻的下一个元素会受到“#outer”的影响位置会产生变化,所以使用这种方法一定要小心。有选
择把页面中的所有元素都浮动起来,最后使用一个适当的有意义的元素(比如页脚)进行清理浮动,这有助于减少不必要的标记,但是过多的浮动会增加布局的难
度。<style type=”text/css”>

  1. <!–
  2. *{margin:0;padding:0;}
  3. body{font:36px bold; color:#F00; text-align:center;}
  4. #layout{background:#FF9;float:left;}
  5. #left{float:left;width:20%;height:200px;background:#DDD;line-height:200px;}
  6. #right{float:right;width:30%;height:80px;background:#DDD;line-height:80px;}
  7. –>
  8. </style>
  9. <div id=”layout”>
  10. <div id=”left”>Left</div>
  11. <div id=”right”>Right</div>
  12. </div>

复制代码

前三种方法清除浮动后如图所示:(第四种方法将导致外层div不会占整行,因为自身float:left了)

CSS 清除浮动的4种方法的更多相关文章

  1. [Web 前端] 018 css 清除浮动的四种方法

    清除浮动的四种方法 加 clear: ...(见例1) 父级上增加属性 overflow:hidden(见例2.1) 在最后一个子元素的后面加一个空的 div,给它一个样式属性 clear: both ...

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

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

  3. css清除浮动的几种方法整理

    四种清除浮动方法如下: 1.使用空标签清除浮动.空标签可以是div标签,也可以是P 标签.这种方式是在需要清除浮动的父级元素内部的所有浮动元素后添加这样一个标签 清除浮动,并为其定义CSS代码:cle ...

  4. css清除浮动的8种方法以及优缺点

    浮动会使当前标签产生上浮的效果,同时会影响到前后的标签.父级标签的位置及width height 属性.而且同样的代码,在各种浏览器中效果可能不同,这样让清除浮动更难了.清除浮动引起的问题有很多的方法 ...

  5. CSS 清除浮动的几种方法

    导读: CSS 的 Float(浮动),会使元素向左或向右移动,其周围的元素也会重新排列,Float(浮动),往往是用于图像,使得文字围绕图片的效果,而它在布局时一样非常有用.不过有利也有弊,使用浮动 ...

  6. CSS 清除浮动的四种方法

    在实际项目中,我们经常会用到float属性来对页面进行布局.当使用float时,意味着该元素已经脱离了文档流,相当于浮于文档之上,不占据空间.但是针对兄弟元素为文字内容时,会占据一定空间,从而产生文字 ...

  7. css清除浮动的几种方法

    推荐几种好用的清除浮动方法: 方法1: .clearfix:after { content:"."; display:block; height:; clear:both; vis ...

  8. CSS读书笔记(3)---清除浮动的几种方法

    浮动元素容易造成页面错位现象.下面说说关于清除浮动的几种方法. 首先.先创建一个浮动导致错位的页面. <!DOCTYPE html> <html lang="en" ...

  9. [css]浮动-清除浮动的3种方法

    清除浮动的方法: 内墙法 注: 这是个奇淫技巧,没什么原理可言,记住即可 这个技巧又使得父box重新可以被子box撑开高度了. 隔墙法-适用于2个box之间上下排列 由于2个box高度依旧是0, 彼此 ...

随机推荐

  1. Linux(CentOS6.5 x64)下版本安装及升级kangle+EasyPanel

    说明:(easypanel集成了kangle web 服务器和mysql,仅支持centos 5和centos 6) .执行下面的命令即可,安装程序将自动安装或者升级: yum -y install  ...

  2. 数据分析处理库Pandas——显示设置

    获取最多打印行数 显示内容超出部分打印成省略号. 设置最多打印行数 获取最多打印列数 显示内容超出部分打印成省略号. 设置最多打印列数 获取打印字符串的最大长度 显示内容超出部分打印成省略号. 设置打 ...

  3. python web框架的介绍

    随着互联网的兴起,web开发变得愈发的重要.Python作为当前火热的语言, 其中的web开发框架可以说是百花齐放,下面聊一聊这些框架. 一: 基于Python的代表性Web框架 Django Dja ...

  4. POJ 2836 状压DP

    Rectangular Covering Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 2727   Accepted: 7 ...

  5. 调整图像的亮度和对比度—opencv

    1.理论基础 两个参数  和  一般称作 增益 和 偏置 参数.我们往往用这两个参数来分别控制 对比度 和 亮度 . 你可以把  看成源图像像素,把  看成输出图像像素.这样一来,上面的式子就能写得更 ...

  6. 財務会計管理(FI&CO)

    FI(財務会計)系のSAP DBテーブル.随時更新していきます. [勘定コードマスタ]SKA1: 勘定コードマスタ(勘定コード表データ)SKB1: 勘定コードマスタ(会社コードデータ)SKAT: テキ ...

  7. 初见spark-02(RDD及其简单算子)

    今天,我们来进入spark学习的第二章,发现有很多事都已经开始变化,生活没有简单的朝自己想去的方向,但是还是需要努力呀,不说鸡汤之类的话了, 开始我们今天的spark的旅程 一.RDD是什么 rdd的 ...

  8. Python 装饰器执行顺序迷思

    Table of Contents 1. 探究多个装饰器执行顺序 1.1. 疑问 1.2. 函数和函数调用的区别 1.3. 装饰器函数在被装饰函数定义好后立即执行 1.4. 疑问的解释 2. 参考资料 ...

  9. MyBatis---简单关系查询

    联合查询 <!-- 处理关系查询相关的复杂返回数据类型(本例中未曾用到) --> <resultMap type="SchoolStudent" id=" ...

  10. 掌握OpenStack部署的最佳实践 打破部署失败的魔咒

    部署OpenStack环境并不是一项简单的任务:根据SUSE最近的调查显示“曾经部署过OpenStack的企业当中有一半都失败了”.然而,随着最佳实践的出现,企业可以使用其避免在部署OpenStack ...