关于我们 广告服务 社区论坛
设为首页 加入收藏

行业新闻
服 务 器
模版下载
建站指南
冲浪宝典
办公软件
网站运营
操作系统
QQ 专题
网页制作
安全防御
视频教程
网络编程
SEO专区
软件下载
图像设计
Cisco
网页特效
Wap 技术
联盟赚钱
网页素材
 首页 | 企业建站 | 网页制作 | 网站运营 | 网络编程 | 图像设计 | 冲浪宝典 | 操作系统 | SEO专区 | 联盟赚钱 | Cisco

欢迎来到e天下网络首页>>网页制作>>CSS>>正文|总结网页制作中闭合浮动元素的几个方法

总结网页制作中闭合浮动元素的几个方法

[ 来路:21kn.com    时间:2007-7-7 21:00:07    点击: ]

 

在页面制作过程当中,我们曾经遇到过这样的问题,当浮动元素高度增加,而超出其父容器时,父容器不会随着它的高度增加而变长。比如

<div id="main">
  <div id="box1">box1</div>
  <div id="box2">box2</div>
  <div class="clean"></div>
</div>

当我们需要这样的效果,闭和浮动元素,通常是增加一个一个div,赋予它一个class让它清除两端,就是clear:both。下面是css

#main{background-color: #4F6B72;padding: 5px;}
#box1{float:left;width:200px;background-color: #F5FAFA;}
#box2{float:left;width:300px;background-color: #CAE8EA;}
.clean{clear:both;font-size: 0;line-height: 0;height: 0;}

这种方法兼容性好,但是多了一段没有语义的代码。所以,我们还有一些其他的方法。

在标准化的范围里,当元素被赋予以下几种属性,就可以闭合浮动元素。

1. float浮动元素,left 或者 right 都可以。
2. position:relative 绝对定位的元素。
3. display:inline-block(inline-block对象显示为内嵌元素,但所有子对象都显示为块元素,相邻的内嵌元素将显示在同一行,允许空格。这个方法以gecko为核心的浏览器比如firefox目前不支持)。
4. display:table-cell 类型元素,其实 table, table-head-group, table-row 什么的也都可以,还有inline-table(以gecko为核心的浏览器比如firefox目前不支持)也同样,因为他们都会间接产生一个匿名的table-cell。
5. overflow取值非visible的元素。这个方法用的比较多。

以上除了overflow,其余都有一个附加效果就是自动收缩父容器宽度。

对于IE/Win,我们需要做的就是触发元素的layout属性,具有layout属性的元素会自动闭合浮动元素。可以触发layout属性的方法:

1. float浮动元素,left 或者 right 都可以。
2. position:relative 绝对定位的元素。
3. display:inline-block
4. zoom
5. 定义元素的width/height
6. overflow/overflow-x/overflow-y [IE7 新增]
7. max/min-width/height [IE7 新增]

IE的这些方法有很多局限,比如zoom就是非标准属性,无法通过验证,而其他的定义会带给元素一些其他的效果。

还要提一点的是display:inline-block,这个属性对IE而言本身没什么用,实际效果只是给一个元素暗地添加了layout,但是标准兼容浏览器是认得这个属性的,所以要不影响这些浏览器,需要将display设回默认。这里IE有一个bug,如果先定义了display:inline-block,然后再将display设回block(这两个display要先后放在两个CSS声明中才有效果),那么layout不会消失,同时也不会影响其他浏览器,所以目前来说,这也算一个不错的触发layout的方法:

.gainlayout{display:inline-block;}
.gainlayout{display:block;}

对display:inline-block这个属性还不是很了解,还要继续找资料。

::::站长友情提示:多花一分钟学点什么都好::::

 

上一篇:用CSS和表格代码实现每行交替颜色的效果比较  下一篇:实例详解网页制作中CSS元素的定位应用

 ::热点信息::

 

= = 免责声明 = =

① 欢迎转载我网所刊信息,请注明“来源:E天下网络”。
② 凡本网注明“来源:XXX(非E天下网络)”的作品,均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如因作品内容、版权和其它问题需要同本网联系的,请在30日内进行。
※联系方式:Airtofly@163.com

::推荐文章::

 

Dreamweaver8创建自定义代码片

::图像设计::

 

动态图片搜索家——GIF RUNN
软件搜索利器——FileFerret
实例说明构图要讲规律
Character Builder让你尽展靓
全景图速成者Cool360
三维模型速成工具——Canoma
剪贴专家SmartBoard 32
新世纪的图像处理利器——Ph
更多内容..

 

 

关于我们 广告服务 友情链接 合作伙伴 社区论坛 免责声明

Copyright © 2007   21kn.com Inc. All rights reserved.e天下网络工作室

网站白天客服QQ:26875416 (非24小时)  合作QQ:597004688    粤ICP备06026423号