Bookmark and Share

Lee's 程序人生

HTML CSS Javascript XML AJAX ATLAS C# C++ 数据结构 软件工程 设计模式 asp.net Java 数字图象处理 Sql 数据库
  博客园  :: 首页  :: 新随笔  :: 联系 :: 管理

无内容div占据空间的触发条件和解决方法

Posted on 2008-05-20 10:05  analyzer  阅读(354)  评论(0编辑  收藏  举报

当在 div 标签内无任何内容时:

<div></div>

如果给 div 元素设置了宽度时,比如 width:100% ,此时 div 在 IE 中(IE6,IE7)将占据物理空间,而在FF中不占据物理空间(正确理解)。为了表述直观,将样式直接写在元素标签内:

<div style="width:100%"></div>

此时在 IE 中到底是什么在影响着最终的显示,又是如何解析的呢?

可能的影响因素:字体大小(font-size),字体行高(line-height),高度(height),溢出(overflow)

我们对上面的代码逐一添加过滤属性(具体的过程有兴趣的朋友,可以私下里实验一下,“自己动手,丰衣足食”!)

在测试的过程中,你会发现 IE6 和 IE7 的解析也不尽相同,比如在给 div 设置了 line-height:0; height:0; 的样式后,IE7 中显示正常了,不再占据物理空间了,而IE6 却依然我行我素,亦或是悲!

最终的测试结果,最简单的方法是,给 div 设置高度(height)和溢出(overflow)属性:

<div style="width:100%;height:0;overflow:hidden; "></div>
我要啦免费统计