修复 IE z-index

Avatar of Chris Coyier
Chris Coyier

这不是解决所有奇怪的 IE z-index 问题的最终解决方案,但在某些情况下它肯定可以提供帮助。它所做的是循环遍历您声明的每个元素,并在其上应用不断递减的 z-index 值。IE 会反过来处理这个问题,而这会将其设置正确。它不是最终解决方案的原因是,有时您不需要 z-index 按照 DOM 顺序排列,有时作用域也会发挥作用。

尽管如此,在 IE 7 中查看演示(感谢 Dan Nicholls)以查看顶部的损坏版本和底部的修复版本。

jQuery 版本

$(function() {
       var zIndexNumber = 1000;
       // Put your target element(s) in the selector below!
       $("div").each(function() {
               $(this).css('zIndex', zIndexNumber);
               zIndexNumber -= 10;
       });
});

MooTools 版本

if(Browser.Engine.trident){
       var zIndexNumber = 1000;
       // Put your target element(s) in the selector below!
       $$('div').each(function(el,i){
               el.setStyle('z-index',zIndexNumber);
               zIndexNumber -= 10;
       });
};