手机
当前位置:查字典教程网 >网页设计 > Div+Css教程 >IE绝对定位元素神秘消失或被遮挡的解决方法
IE绝对定位元素神秘消失或被遮挡的解决方法
摘要:发现了一个奇妙的现象:查了相关资料,高人有这样的解释:1.当绝对定位层的邻近浮动层的宽度不等于父层宽度时,以及没有清除浮动时,IE6/7,F...

发现了一个奇妙的现象:

查了相关资料,高人有这样的解释:

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,可以冲破父级显示

看下面的代码:

<div>

<div></div>

</div>

<div></div>

<div></div>

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

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

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

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

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

【IE绝对定位元素神秘消失或被遮挡的解决方法】相关文章:

CSS右对齐实现方法

firefox和谷歌不显示body背景图片的解决方法

span设CSS样式总是不起作用的解决方法

IE7.0以下版本列表li中的元素错位一个上一个下的解决方法

控制DIV中文字绝对居中的简单方法

相同元素不同结构重复定义的问题

div嵌套 img 空白解决方法

CSS 控制因Html页面高度导致抖动的问题解决方法

li行间距大(IE中多了5个像素)的解决方法

chrome居中但ie不居中的解决方法

精品推荐
分类导航