实例解析清除CSS float浮动的三种方法

开发 前端
你对CSS中float浮动的清除方法是否了解,这里和大家分享一下三种方法,分别是使用空标签清除浮动,使用overflow属性,使用after伪对象清除浮动。

本文向大家描述一下清除CSS float浮动的方法,主要包括使用空标签清除浮动,使用overflow属性,使用after伪对象清除浮动三种,希望本文介绍对你有所帮助。

清除浮动的三种方法

先看一下下面代码:

viewsourceprint?

  1. 01<style> 
  2.  
  3. 02*{margin:0;padding:0;font-size:14px;}  
  4.  
  5. 03ul.nav{background:red;list-style:none;}  
  6.  
  7. 04ul.navli{float:left;background:#FF9;margin:2px5px;}  
  8.  
  9. 05p{background:blue;color:#FFF;}  
  10.  
  11. 06</style> 
  12.  
  13. 07  
  14.  
  15. 08<ulclassulclass="nav"> 
  16.  
  17. 09  
  18.  
  19. 10<li>首页</li> 
  20.  
  21. 11  
  22.  
  23. 12<li>我的日志</li> 
  24.  
  25. 13  
  26.  
  27. 14<li>我的相册</li> 
  28.  
  29. 15  
  30.  
  31. 16<li>我的心情</li> 
  32.  
  33. 17  
  34.  
  35. 18<li>个人中心</li> 
  36.  
  37. 19  
  38.  
  39. 20</ul> 
  40.  
  41. 21  
  42.  
  43. 22<p>这里不是导航的内容</p> 
  44.  

 页面显示如下:

如何解决以上问题呢?唯一的办法就是清除浮动。#p#

清除浮动的方法

◆使用空标签清除浮动

在需要清楚浮动的层里边添加:<divstyle="clear:both"></div>或者<brstyle="clear"/>

viewsourceprint?

  1. 1<ULclassULclass=nav> 
  2.  
  3. 2<LI>首页  
  4.  
  5. 3<LI>我的日志  
  6.  
  7. 4<LI>我的相册  
  8.  
  9. 5<LI>我的心情  
  10.  
  11. 6<LI>个人中心  
  12.  
  13. 7<BRstyleBRstyle="CLEAR:both"> 
  14.  
  15. 8</LI></UL> 
  16.  

 ◆使用overflow属性

此方法有效地解决了通过空标签元素清除浮动而不得不增加无意代码的弊端。使用该方法是只需在需要清除浮动的元素中定义CSS属性:overflow:auto,即可!overflow:auto;是让高度自适应,zoom:1;是为了兼容IE6,也可以用height:1%;的方式来解决,注意,zoom不符合W3C标准。overflow:hidden也可以实现。

viewsourceprint?

  1. 1<ULclassULclass=navstyle="OVERFLOW:auto;ZOOM:1"> 
  2.  
  3. 2<LI>首页  
  4.  
  5. 3<LI>我的日志  
  6.  
  7. 4<LI>我的相册  
  8.  
  9. 5<LI>我的心情  
  10.  
  11. 6<LI>个人中心  
  12.  
  13. 7</LI></UL> 
  14.  

 ◆使用after伪对象清除浮动

after伪对象非IE浏览器支持,所以并不影响到IE/WIN浏览器。具体写法可参照以下示例。使用中需注意以下几点。

一、该方法中必须为需要清除浮动元素的伪对象中设置height:0,否则该元素会比实际高出若干像素;

二、content属性是必须的,但其值可以为空,蓝色理想讨论该方法的时候content属性的值设为".",但我发现为空亦是可以的。

viewsourceprint?

  1. 1ul.nav:after{display:block;clear:both;content:"";  
  2. visibility:hidden;height:0;}  
  3.  
  4.  

◆清除浮动后效果如下:

使用一下代码清除浮动,屡试不爽。

viewsourceprint?

  1. 1.clearfix:after{content:".";display:block;height:0;
  2. clear:both;visibility:hidden;}  
  3.  
  4. 2.clearfix{display:inline-block;}  
  5.  
  6. 3.clearfix{display:block;}  
  7.  

【编辑推荐】

  1. CSS中overflow属性使用技巧
  2. CSS Sprites样式生成工具用法详解
  3. FireFox和IE中CSS兼容技巧汇总
  4. CSS代码整理及优化七大原则
  5. 深入剖析Firefox下 margin-top失效原因与解决方案


 

责任编辑:佚名 来源: nowamagic.net
相关推荐

2010-09-01 12:50:04

CSS清除浮动

2010-09-14 15:10:49

CSS注释

2022-07-13 16:06:16

Python参数代码

2010-09-08 13:29:48

CSS

2010-08-30 15:26:13

floatCSS

2010-09-06 10:04:31

CSS样式表

2010-08-26 16:19:41

DIV圆角

2009-07-08 12:56:32

编写Servlet

2011-06-10 10:43:12

Ubuntu应用安装

2009-06-23 10:45:18

Hibernate支持

2009-12-11 18:49:39

预算编制博科资讯

2023-08-14 17:58:13

RequestHTTP请求

2011-04-18 15:32:45

游戏测试测试方法软件测试

2016-10-12 13:53:38

JavaByteBufferRandomAcces

2020-06-17 10:52:00

DDoS攻击网络攻击网络安全

2010-11-16 16:11:28

Oracle身份验证

2023-02-21 14:58:12

间序列周期数据集

2021-07-13 12:31:27

IT组织改进首席技术官

2009-07-23 15:17:54

JDBC连接Acces

2016-09-09 13:07:56

CentOSJDKLinux
点赞
收藏

51CTO技术栈公众号