当前位置: 首页 > 图文教程 > 网页制作 > CSS样式表 > Css教程:FireFox正常IE错位的绝对定位元素

CSS样式表
CSS网页布局中文排版的9则技巧
剖析网站的布局实例以及如何对其黄金分割
Float菜单水平居中简单方法
CSS网页制作教程:网页中常用的web安全字体
CSS网页制作教程:字体单位em简介
CSS网页制作:浮动清除的新方法
收集分享的3个讲解css及标签的视频
CSS网页制作技巧:节约网页代码编写时间
收集的6个关注CSS3的国外网站
CSS实例教程:reflow
CSS教程:需要知道的CSS3动画技术
快速实时编辑网页代码的FireFOX和IE插件
在IE6,IE7下变通实现pre-wrap
CSS圆角框进行JS封装
CSS教程:Mozilla建议的css书写顺序
基于链接关系的微格式:使用rel属性
非常酷的微格式:XFN规范
为网页内容添加结构和语义的hAtom微格式
网页简历结构和语义信息:hResume微格式
hCalendar微格式:关于事件和基于时间或地点的活动

CSS样式表 中的 Css教程:FireFox正常IE错位的绝对定位元素


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-27   浏览: 86 ::
收藏到网摘: n/a

IE 一如既往地带来问题。真的,我觉得 IE 坚持自己的一套无所谓,不支持或者不完全支持标准也无所谓。但是,IE6 IE7 IE8 这三个版本都有各自不同的表现,实在是太让人难受了。

前两天碰到了这个奇怪的问题:

绝对定位的元素,紧邻着两个浮动元素。Firefox 中一切正常,IE6 中绝对定位元素消失了。

解决方法:只要别让绝对定位元素紧邻浮动元素就可以了。比如可以在绝对定位元素后面加个空元素。当然,这个空元素是毫无意义的,但是,在 IE 面前,又能怎么样呢?

demo1

经过实验,我发现,只要浮动元素的宽度不填满父元素,绝对定位元素就能正常显示,一旦浮动元素的宽度填满父元素,绝对定位元素就会消失。而且,看来,父元素宽度是这种情况发生的临界点。

demo2

另外,这个 demo 里面也存在 IE6 的另一个经典 bug : 由注释产生的表现不同。(唉,bug 都成经典了,IE 无敌啊。

请看上面的图中,上面那块,就是有注释的,下面那块是去掉注释的,可以明显的看到底部的白色空白高度是不同的。

看具体演示效果:


[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]