z-index在IE中的bug

ie 中z-index的设置必须父元素也要设置,只设置子元素在ie7是无效的

http://blog.csdn.net/james521314/article/details/8555080

Z-index在IE中失效的解决办法

分类: web前端 2013-01-30 10:27 1294人阅读 评论(0) 收藏 举报

Z-index是让元素漂浮起来的一个属性,在IE6、7中无论你把Z-INDEX的级别设置的有多高,它就是不漂浮起来。在CSS中,要让z-index起作用有个小小前提,就是元素的position属性要是relative,absolute或是fixed。

1.第一种情况(z-index无论设置多高都不起作用情况):这种情况发生的条件有三个:
    1、父标签 position属性为relative;
    2、问题标签无position属性(不包括static);
    3、问题标签含有浮动(float)属性。
   
eg:z-index层级不起作用,浮动会让z-index失效
<div style="position:relative; z-index:9999;">
    <img style="float:left;" src="http://www.jacoobs.com/image/logo.jpg" />
</div>

解决办法有三个(任一即可):
    1、position:relative改为position:absolute;
    2、浮动元素添加position属性(如relative,absolute等);
    3、去除浮动。

2.第二种情况
IE6下,层级的表现有时候不是看子标签的z-index多高,而要看整个DOM tree(节点树)的第一个relative属性的父标签的层级。

eg:IE7与IE6有着同样的bug,原因很简单,虽然图片所在div当前的老爸层级很高(1000),但是由于老爸的老爸不顶用,可怜了9999如此强势的孩子没有出头之日啊!
<div style="position:relative;">
    <div style="position:relative; z-index:1000;">
        <div style="position:absolute;
z-index:9999;">
            <img
src="http://www.jacoobs.com/image/logo.jpg" />
        </div>
    </div>
</div>

解决办法: 在第一个relative属性加上一个更高的层级(z-index:1)
<div style="position:relative; z-index:1;">
    <div style="position:relative; z-index:1000;">
        <div style="position:absolute;
z-index:9999;">
             <img
src="http://www.jacoobs.com/image/logo.jpg" />
        </div>
    </div>
</div>

z-index这玩意深不可测,里面所蕴含的知识不是 CSS手册上的那点东西,那只是冰山一角。这涉及到border及background的堆叠模型,涉及到同层级的显示问题,以及浏览器显示的些机制等, 这是很深的一潭水。

时间: 2024-12-12 02:38:30

z-index在IE中的bug的相关文章

解决myeclipse中struts2 bug问题包的替换问题

因为struts2的bug问题,手工替换还是比较麻烦,但即便是最新的myeclipse2014也没有替换最新的struts2包,研究了一天,终于找到了解决办法.以下就解决方法与大家分享一下. 1.在perferences中找到 Myeclipse->Project Libraries,右边找到 struts2.1 Libraries,点击 Enable advanced configiguration,去掉以下文件前面的对勾,然后点击 Add custom Jars 2.在弹出的对话框中选择 A

Android实际开发中的bug总结与解决方法(一)

                                                                             Android实际开发中的bug总结与解决方法(一) Android开发中有很多bug,我们是完全可以在线下避免的,不要等到线上报的BUG的再去修复.下面是我在实际开发中遇到过的bug和解决方法. BUG 1: java.lang.RuntimeException: Unable to start activity ComponentInfo

第三章:3.1 在 index.html 文件中,编写一个登录表单

1. 在sign/templates/index.html 文件中,开发一个简单的 登录表单 2. 启动:Django服务,访问 : http://127.0.0.1:8000/index/

文《关于c++与java中文乱码问题分析与解决》中一个bug分析

文<关于c++与java中文乱码问题分析与解决>中一个bug分析 DionysosLai([email protected]) 2014/10/21 在前几篇一博客<关于c++与java中文乱码问题分析与解决>,地址如下:http://blog.csdn.net/dionysos_lai/article/details/38389765.文中详细介绍了c++与java数据传递时,为何会出现中文乱码的原因,并提出了适当的解决方法.方法如下: int CCDirector::GBKTo

重构中的BUG集锦

一. bug出现在:IE7/8 bug demo: <div class="wrapper"> <div class="wrapper2 clearfix" id="wrapper2"> <div class="fl box1" id="box1">box1</div> <div class="fl box2" id="bo

转:移动开发中一些bug及解决方案

网页开发要面对各种各样的浏览器,让人很头疼,而移动开发中,你不但要面对浏览器,还要面对各种版本的手机,iOS好一点,而安卓就五花八门了,你可能在开发中也被它们折磨过,或者正在被它们折磨,我在这里说几个我在开发中遇到的比较难缠问题,和解决方案,给其他朋友提个醒,因为一旦碰到了这些bug,虽然解决方法不难,但是你可能要花上几个小时,几天,甚至更长时间才能解决它们,遇到这些bug的话要注意,以后发现其他bug也会继续补充,也希望你也可以把你遇到的bug或者解决方案回复给我,我会一起补充到文章里,帮助其

cocos2d-html5学习笔记(六)--alpha2中cc.Sequence.create中的bug

cocos2d-html5学习笔记(六)--alpha2中cc.Sequence.create中的bug http://blog.csdn.net/allenice1/article/details/7747425 分类: javascript cocos2d-html52012-07-14 20:08 3005人阅读 评论(0) 收藏 举报 actionfunctionnullobject 今天学习了action,可是练习cc.Sequence.create的时候.发现了问题. cc.Sequ

&quot;position:relative&quot;在IE中的Bug

请看下图:  即子元素过高导致父元素出现滚动条时,它并不会像预期的那样呆在父元素里,而是浮在父元素之上,并且位置不随滚动条的移动而改变.根源就是子元素的"position:relative".目前只发现ie中有此问题. 页面源码: Html代码   <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1

Web测试中定位bug方法

在web测试过程中,经常会遇到页面中内容或数据显示错误,甚至不显示,第一反应就是BUG,进一步了解这个BUG的问题出在那里,是测试人员需要掌握的,可以简单的使用浏览器自带开发者工具.数据库工具配合去排查. bug定位常用工具 Firefox--firebug.web developer.live http headers.http fox IE插件--httpwatch 第三方工具--fiddler 慢速网模拟工具--firefox throttle 前台错误 前台的bug通常是功能.界面和兼容

FindBugs 入门——帮你减少代码中的bug数

FindBugs 入门 FindBugs 作用 开发人员在开发了一部分代码后,可以使用FindBugs进行代码缺陷的检查.提高代码的质量,同时也可以减少测试人员给你报的bug数. 代码缺陷分类 根据缺陷的性质,大致可以分为下列几类 ·Bad practice  不好的做法 ·Correctness   可能有不正确 ·Dodgy code     糟糕的代码 ·Experimental  实验 ·Internationalization  国际化 ·Malicious code vulneril