淘先锋技术网

首页 1 2 3 4 5 6 7

IE浏览器对于css遮罩层的支持程度较低,需要特别注意。下面将具体介绍使用遮罩层时需要注意的事项。

/* IE6/7 hack */
*html #mask {
position: absolute;
top: expression((document.documentElement.scrollTop || document.body.scrollTop) + "px");
left: 0;
width: expression(document.documentElement.clientWidth + "px");
height: expression(document.documentElement.clientHeight + "px");
}

在IE6和IE7中,<div>元素不会遮住下面的<select>元素,而是会被它覆盖。为了解决这个问题,可以使用上述代码,通过设置position: absolute;来将遮罩层放在<select>元素的下面。

/* IE7/8 hack */
#mask {
position: fixed;
top: 0;
left: 0;
}

在IE7和IE8中,如果使用position: absolute;来设置遮罩层的位置,会导致滚动页面时遮罩层不随之移动。此时应该使用position: fixed;来设置遮罩层的位置。

需要注意的是,在IE6中,使用position: fixed;的元素会跟随页面滚动而滚动,这是因为fixed在IE6中的实现方式跟其他浏览器不同。在此情况下,需要使用JavaScript来解决滚动问题。

// IE6 hack
if (isIE6) {
$(window).scroll(function() {
$("#mask").css("top", $(window).scrollTop() + "px");
});
}

在IE6中,可以通过监听window.scroll事件,并使用jQuery等库来动态地改变遮罩层的位置。