IE6下 CSS z-index属性失效原因浅析

近日,小码哥遇到一个在IE6下z-index属性失效问题!让鄙人纠结了好半天。心里那个不爽啊!最终虽然解决了俺遇到的问题,同时也做出了如下小结:(希望对“码上赚钱”的侬有所帮助)。

其实z-index属性在标准浏览器下其属性值完全按照大小来衡量谁上谁下的。但是在这个各种浏览器横行的年代,又遇到万恶而变态的IE、7时。很多问题就接踵而至了。

在IE6、7下针对z-index属性的问题,最常遇到的就是不管对z-index设置多高的值,哪怕是其父级元素的十倍百倍,该层级不显示还是不显示。那么到底是哪些原因造成的呢?

鄙人总结如下:(以上纯属扯淡,只为博君腹诽!)

  1. 当前层有与浮动float相关的属性时。
  2. 当前层有与浮动float相关以及与定位相关的position属性时。此两个属性在CSS中算是近亲,都有脱离文本流的作用。
  3. 当前层以及当前层的父级层有position属性时。

由于鄙人对CSS还不很精通,仅仅略知皮毛。故以上三种情况是在下总结的原因,至于根本原因,还有待考证。如果你遇到了相关问题,不防注意以上三种可能。

下面是解决办法:

  1. 若是当前层的浮动属性不是必须能去掉则去掉。
  2. 若是浮动问题不能去掉,则考虑position属性的相对或绝对关系。变换position属性的值。
  3. 避免相邻父子层出现父级position:relative;而子级(当前层)position:absolute;如出现此种情况,可把父级的position属性去掉,改为子级(当前层)针对其祖父级或根节点的相对定位。也就是在其祖父级或以上级添加position:relative;

以上就是相关解决办法,也不是绝对的。需要因情况而定!

时间: 2024-08-05 11:01:56

IE6下 CSS z-index属性失效原因浅析的相关文章

IE6下CSS常见兼容性问题及解决方案

1. 在IE6元素浮动,如果宽度需要内容撑开,就给里面的块元素加浮动. 2. IE6下最小高度问题:在IE6下元素高度小于19px的时候,会被当作19px处理.解决方案:给元素加 overflow:hidden. 3. border:1px dotted #000: 1px dotted 在IE6下不支持 解决方案:切背景平铺 4. margin传递:解决方案:a.父级或自己浮动; b.给元素加 overflow:hidden;zoom:1; 5. 在IE6下父级有边框的时候,子元素的margi

解决ie6下不支持fix属性,模拟固定定位

1 <!DOCTYPE HTML> 2 <html> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 5 <title>模拟固定定位fix</title> 6 <style> 7 html{ height:100%; overflow:hidden;} 8 body{marg

IE下超链接使用绝对定位后失效原因分析及解决方法

我们把a链接的display设置为block,但如果对该标签设置为position:absolute后,会发现在ie6.ie7下有时点击无效,ie8下有效(ie8标准),使用zoom:1方式也无法解决问题.下面是我整理出的几种方法给大家分享一下,希望能给您带来帮助. 1.使用position:relative而不是position:absolute:2.添加背景色:3.添加透明的背景图片,gif或png,但会增加无意义的http请求:4.使用background:url(about:blank)

IE6下jquery ajax报error的原因

用jquery ajax()方法,在其他浏览都通过,IE7以上都通过,唯独在ie6不行. 我这边的解决方案是:必须保证ajax里面的所有数字为小写,ie6对大小写敏感. 错误: $.ajax({ url:'update.req', data:data, Type:'post', dataType:'JSON', cache:false, success:function(data){ if (data.ret==0) { window.location = "get.req"; } e

ie6下div高度不能为0的解决办法

需要实现一个效果:点击关闭按钮时,div动态隐藏. jquery源码: 这个方法在谷歌 火狐及ie7以上都可以实现效果,但ie6下始终保持一个高度. 原因:ie始终默认div的最小高度为12px,即使你设置为0,但它依然默认一个字体的高度12px 解决办法:给当前需设置高度低于12px的div增加一个overflow:hidden属性.

CSS在IE6下的一些BUG和兼容性问题

在IE6,7下面PNG图片问题: 在IE6下,不支持PNG透明图片,解决办法是:在HTML里加上以下一段代码,其中DD_belatedPNG_0.0.8a.js文件可以在百度上找到,DD_belatedPNG_0.0.8a.js是国外一个大神写的JS文件. <!--[if IE 6]> <script src="js/DD_belatedPNG_0.0.8a.js"></script> <script> DD_belatedPNG.fix

IE6下为什么overflow属性不起作用了

IE6下为什么overflow属性不起作用了:建议:尽可能的手写代码,可以有效的提高学习效率和深度.在IE6浏览器下,如果一个对象的子对象是绝对定位或者相对定位,那么父对象的overflow属性则对子对象不起作用.代码实例如下: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http:

IE6下fixed失效的解决方法

在网上找了好久,终于找到一种亲测有效的解决方法. <!--[if IE 6]> <script type="text/javascript"> (function($) { jQuery.fn.Fixed = function(options) { var defaults = { x:0, y:0 }; var o = jQuery.extend(defaults, options); var isIe6 = !window.XMLHttpRequest; v

老生常谈:ie6下,a标签href设置javascript:void(0);后绑定的click失效

老生常谈:ie6下,a标签href设置javascript:void(0);后绑定的click事件,如果有form表单提交或跳转等事件,会失效!举例: <a id="id_back" href="javascript:void(0);" title="返回管理">返 回</a> $("#id_back").click(function(){         $("#id_frm").