2011-07-13 112 views
2

林有这个问题只与IE8甚至上顺畅运行IE6 !! ...IE8绝对位置+透明度问题

林追加2周的div动态身体和绝对定位他们,让他们得到上面的另一个所以它看起来像一个DIV ...这工作正常,直到我做那么透明,

-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"; 
filter: alpha(opacity=50); 

我说明这一问题的最简单的演示:http://anferth.com/tests/divs-problem/

在演示中首次出现的两个div无不透明度,他们看起来像一个,但1秒af ter它将不透明度设置为0.5,div分隔1px(仅在IE8中为)。

在这里代码:http://jsfiddle.net/messutiEdd/MNPrq/

在此先感谢

+0

IE中的一个像素关闭错误有时会出现,因为您的页面已缩放(它不是很擅长进行缩放计算。)您是否处于默认页面缩放系数?如果没有,这可能解释为什么你看到这个问题,其他人不是。 –

+0

我无法相信你是对的!我的浏览器是95%,我确信它是一个IE8上的错误--.-从来没有想过...感谢我现在可以继续我的生活 – Edd

+0

嗯,这真的是IE8中的一个错误,而不是一个错误你期待:)我已经发表我的评论作为答案。 –

回答

2

如果您在IE8中存在其他人无法再现的偏离像素的错误,那么很可能您已将页面缩放到默认级别以外的其他位置。在某些情况下,IE在缩放页面方面似乎不太好,因此缩放有时会导致对象定位和图像缩放问题。

尝试重置缩放级别并查看问题是否消失。 (a)对此没有太多可以做的事情,(b)习惯性地使用放大IE8的人习惯了这些小问题,并且可能不会对此大叫......

1

与样品玩弄后,我想出了这一点:

$(document).ready(function() { 
    $("body").append('<div class="af_sel af_right"></div>'); 
    $("body").append('<div class="af_sel af_bottom"></div>'); 

     var _top = (screen.deviceXDPI/screen.logicalXDPI) < 1 ? 291 : 290; 

     $(".af_sel.af_right").css({ 
      'top': _top , 
      'left': 202, 
      'width': 400, 
      'height': 114 
     }); 

     $(".af_sel.af_bottom").css({ 
      'top': 404, 
      'left': 202, 
      'width': 400, 
      'height': 263 
     }); 

     $(".af_sel").css({ 
     'position': 'absolute', 
     'display': 'none', 
     'z-index': '1000' 
    }); 

    setTimeout(function() { 
     $(".af_sel").show(); 

     setTimeout(function(){ 
      $(".af_sel").css({ 
       'filter': ' alpha(opacity=50)' 
      }); 
     }, 1000); 
    }, 2000); 
    }); 
    window.onresize = function() 
    { 

     var _top = (screen.deviceXDPI/screen.logicalXDPI) < 1 ? 291 : 290; // (screen.deviceXDPI/screen.logicalXDPI) = Zoom Level 

     $(".af_sel.af_right").css({ 
      'top': _top , 
      'left': 202, 
      'width': 400, 
      'height': 114 
     }); 
    } 

当放大到125还有一个像素的差距%,但是这应该让你在路上。 (IE8)screen.deviceXDPI/screen.logicalXDPI 这将返回相对于1的缩放比例,即75%= 0.75,100%= 1,125%= 1.25,等等......

祝你好运!

+0

语法错误......在JSON中,键不应该用引号引起来,但值应该是。 –

+0

良好的通话。我不使用JSON或JQuery,我不会捕获它。 – rlemon

+0

谢谢,但我甚至没有意识到我的浏览器不是100%的缩放......但这可以是有用的,虽然:) – Edd