2 silly yellow fish silly_yellow_fish 于 2015.06.15 23:25 提问

为什么有些IE浏览器不能显示绝对定位的内容?是版本问题?还是其他,有没有解决方法?

![图片说明](http://img.ask.csdn.net/upload/201506/15/1434381902_839533.png)图片说明

6个回答

devmiao
devmiao   Ds   Rxr 2015.06.15 23:39

你的版本是什么,IE8或者以上用F12功能看下css怎么应用的。

silly_yellow_fish
silly_yellow_fish 版本是IE9的,我的可以访问,但是朋友的看不见
2 年多之前 回复
tongyi55555
tongyi55555   2015.06.16 07:38

需要ie版本信息和使用的布局样式,再详细介绍下

silly_yellow_fish
silly_yellow_fish 我的版本是IE9,可以显示,但是朋友的显示不了,网页大体使用div布局,有一部分使用了绝对定位,但是朋友的IE看不见绝对定位的内容。朋友的版本我不清楚
2 年多之前 回复
lzp_lrp
lzp_lrp   Ds   Rxr 2015.06.16 08:13

IE绝对定位元素神秘消失或被遮挡的解决

在进行网页布局设计的时候,经常会根据需要设置相对,绝对以及浮动定位最近突然发现了一个奇妙的现象:IE绝对定位元素神秘消失或被遮挡, 首先是IE绝对定位元素神秘消失,设置的绝对定位元素突然从IE浏览器下消失了,然而火狐能正常显示. 尝试对绝对定位元素进行清除浮动操作,IE下能显示,但是出现了莫名的留白,火狐下正常显示.至少这个现象表明,绝对定位元素在IE下神秘消失对相邻元素的浮动定位有关.查了相关资料,高人有这样的解释:

1.当绝对定位层的邻近浮动层的宽度不等于父层宽度时,以及没有清除浮动时,IE6/7,FF中显示一致;

2.当绝对定位层的邻近浮动层的宽度不等于父层宽度时,有清除浮动时,IE6/7不显示绝对定位层,FF显示;

3.当绝对定位层的邻近浮动层的宽度等于父层宽度时,以及没有清除浮动时,IE6不显示绝对定位层,IE7/FF显示;

4.当绝对定位层的邻近浮动层的宽度等于父层宽度时,有清除浮动时,IE6/7不显示绝对定位层,FF显示;

要解决这个BUG的方法也很简单,让绝对定位层不挨着浮动层放置就好了,还有个更简单的方法,在绝对定位元素和其他元素之间加一个空白的div。

再来看看绝对定位元素神秘消失被遮挡的现象

先了解一下所涉及到的几个定位特性:

  1. 相对定位元素默认的z-index的数值是0。
  2. 当两个相对定位同时出现时,代码靠后的z-index优先。
  3. 子级遵循父级设定的z-index;如果子级设定了绝对定位、z-index,可以冲破父级显示

看下面的代码:

代码解释:上面是三个相邻的相对定位的层,在第一个层里加了个相对其绝对定位的层,按照理论,这个绝对定位的元素是在三个相对定位元素之上的,但是,实际却没有显示。尝试设置z-index值也没有效。

网上解决这个bug的办法一般用hack使B为负值,来降低 B 在IE下级别

但是这种方法在z-index为负值时,产生了新的ie bug

按照定位的特性,ie的这个bug是可以回避的

从表面上看 下面的层 遮住了上面的绝对定位层,实际上是下面的 层遮住了绝对定位的的父级层,只要将 该父级层 的z-index设定大于后面的层即可

silly_yellow_fish
silly_yellow_fish 这个办法试过了,但是没有效果,谢谢你的帮助
2 年多之前 回复
lzp_lrp
lzp_lrp   Ds   Rxr 2015.06.16 08:14

IE6, IE7绝对定位元素不显示的解决方法
http://blog.sina.com.cn/s/blog_3de4869d0100mcph.html

showbo
showbo   Ds   Rxr 2015.06.16 08:51

z-index设置不够大被其他对象覆盖住了,或者父容器relative定位时,被其他relative定位的的容器遮盖住,要设置父容器的z-index

beacon_2011
beacon_2011   Rxr 2015.06.16 14:04

ie版本问题吧,写两套css吧

silly_yellow_fish
silly_yellow_fish 是版本问题,写两套css?什么意思?
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片