网络编程
位置:首页>> 网络编程>> 网页设计>> css清除浮动“clear:both;”的应用

css清除浮动“clear:both;”的应用

作者:cnbruce 来源:cnbruce博客 发布时间:2008-03-17 12:54:00 

标签:clear,float,清除浮动,web标准,css

在CSS中我们会经常要用到“清除浮动”Clear,比较典型的就是clear:both;

CSS手册上是这样说明的:该属性的值指出了不允许有浮动对象的边。这个属性是用来控制float属性在文档流的物理位置的。

当属性设置float(浮动)时,其所在的物理位置已经脱离文档流了,但是大多时候我们希望文档流能识别float(浮动),或者是希望float(浮动)后面的元素不被float(浮动)所影响,这个时候我们就需要用clear:both;来清除。

比如:


如果不用清除浮动,那么第3列文字就会和第1、2列文字在一起 ,所以我们在第3个这列加一个清除浮动 clear:both;

通常,我们往往会将“清除浮动”单独定义一个CSS样式,如:

.clear {
    clear: both;
}

然后使用<div class="clear"></div>来专门进行“清除浮动”。

不过也有不赞同意见是,<div class="clear"></div>可以不写,直接在下层清除就可以了。

比如本来好好的

<p style="float:left;width:200px;">这个是第1列,</p> 
<p style="float:left;width:400px;">这个是第2列,</p> 
<p style="clear:both;">这个是第3列。</p> 

非要整成

<p style="float:left;width:200px;">这个是第1列,</p> 
<p style="float:left;width:400px;">这个是第2列,</p> 
<div class="clear"></div>
<p>这个是第3列。</p> 

这点看来,<div class="clear"></div>确实不需要写。

不过很显然,我们在网页设计时还有一种很普遍的情况:



该页面测试在IE下效果正合所要:蓝色块内部有红色和黄色两个色块内容,同时在蓝色块以下是第三段文本。

不过FF的效果可不是这样的。我们不能单单想在下一层清除就能完成我们的工作,我们必须在浮动元素所在标签闭合之前及时进行“清除”。 

对于因多加的<div class="clear"></div>标签会引起IE和FF高度变化,通过如下方法解决:

.clear {
    clear: both;
    height:1px;
    margin-top:-1px; 
    overflow:hidden;
}


0
投稿

猜你喜欢

  • 这几天在落伍上转转,发现有朋友不太明白一些网站在会员注册时,当输入用户名后没按“确定”提交数据,系统也能马上检测该用户名是否已经存在。在此我
  • 问:SQL Server应该怎样访问Sybase数据库的表?答:具体方法如下:1: 安装Sybase客户端版本的要求:Sybase Clie
  • 当前,utf8_unicode_ci校对规则仅部分支持Unicode校对规则算法。一些字符还是不能支持。并且,不能完全支持组合的记号。这主要
  • 建立池连接可以显著提高应用程序的性能和可缩放性。SQL Server .NET Framework 数据提供程序自动为 ADO.NET 客户
  • 最近刚接触了公司的服务器,使用的是Windows 2003 server + IIS 6.0 服务器,在使用无组件上传文件时产生这个错误时:
  • 如果你经常浏览网页一定见过很多网站在form表单中的文本域(textarea)中添加了的背景图片,一般是使用网站的logo,我记得我最早注意
  • 1. RS.OPEN SQL,CONN,A,B,C2. CONN.EXECUTE(SQL,RowsAffected,C)参数含义:SQL的值
  • 有时候我们会在页面上显示用户的所在地区,这个原理是:先得到用户的IP,然后去查询将IP转换成一个数值,最后去查这个数值所在的范围,来得到用户
  • 如何使用Iframe实现本页提交?例:chunfeng.html< html>< head>&n
  • 什么是品牌的视觉传达品牌,这个熟悉而又陌生的名词,有时总会让人产生误解。品牌很广,广到一个意会颇深的战略发展理念;品牌很小,小到一个清晰可见
  • Dean Edwards 最近有篇文章很精彩,忍不住在这里翻译下。-- Split --很多 Javascript 框架都提供了自定义事件(
  • 本篇文章适合css新手学习,对于已经掌握了css的朋友们也可以通过本片文章来复习知识。作者通过实践,认为在有些情况下css的代码是可以更加简
  • Internet Explorer 8 Beta 测试了一年多之后,今天,IE8 终于发布了。它绝对好过 IE7,还有一些不错的新功能,如
  • 本文介绍了在js和asp中使用FileSystemObject(fso)来: 创建、添加或删除数据,以及读取文件; 移动、复制和删除文件;创
  • 它解析并马上执行动态的SQL语句或非运行时创建的PL/SQL块.动态创建和执行SQL语句性能超前,EXECUTE IMMEDIATE的目标在
  •   继续Mootools的扩展,适用于Mootools 1.1及1.2,这次在Element扩展了两个非常简单的方法,一个用来获取
  • 目的:JS+ASP打造无刷新新闻列表,下图所示的新闻列表相信大家并不少见,包括新闻的分页功能,本文要介绍的就是各分页间的切换方式。传统的方法
  • 问:把数据从MySQL迁移到Oracle需要注意些什么?答:以下是MySQL迁到Oracle需要掌握的注意事项,希望对你有所帮助。1.自动增
  • 备份MySQL数据库的命令mysqldump -hhostname -uusername -ppassword
  • 目前代码应该没什么bug了,兼容IE6.0 & FF 1.5, 通过xHTML 的Transitional验证和 CSS 验证。为了
手机版 网络编程 asp之家 www.aspxhome.com