您的位置:首页 >科技 >正文

科技常识: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 可以冲破父级显示 看下面的代码: 复制代码代码如下: <div style="position:relative; background:#FF0000; width:200px; height:100px;"> <div style="position:absolute; background:#FFFF00; width:49px; height:50px; left:106px; top:310px; z-index:100"></div> </div> <div style="position:relative; background:#000000; width:200px; height:100px;"></div> <div style="position:relative; background:#9900FF; width:200px; height:100px;"></div> 代码解释:上面是三个相邻的相对定位的层 在第一个层里加了个相对其绝对定位的层 按照理论 这个绝对定位的元素是在三个相对定位元素之上的 但是 实际却没有显示。尝试设置z-index值也没有效。 网上解决这个bug的办法一般用hack使B为负值 来降低 B 在IE下级别 但是这种方法在z-index为负值时 产生了新的ie bug 按照定位的特性 ie的这个bug是可以回避的 从表面上看 下面的层 遮住了上面的绝对定位层 实际上是下面的 层遮住了绝对定位的的父级层 只要将 该父级层 的z-index设定大于后面的层即可

来源:爱蒂网

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时候联系我们修改或删除,多谢。