2011-09-05 99 views
1

演示:http://jsbin.com/esupex/2IE6阴影问题

我有阴影的框,其制作的新生产线的股利去,如果我删除的影子,在div追溯到在同一直线上。以下是截图。

IE6阴影断开线错误 - full imageenter image description here

IE6没有影子(这只是表明它是什么样子没影后,但我们确实需要阴影) - full imageenter image description here

最终布局应该看起来像这样。这个截图是从Firefox - full imageenter image description here

以下是行导致了问题,我不知道如何解决这个问题:

filter: progid:DXImageTransform.Microsoft.Shadow(Strength=5, Direction=140, Color='#eeeeee'); 
+0

你真的要支持IE6? _真的?_ – Kyle

+0

是的,我的完整应用程序支持ie6,只是这个小问题是迄今为止留下的问题。 – Basit

+3

我想说,如果它在IE6中导致问题,那么只需从该浏览器中删除它。 – Kyle

回答

1

添加阴性切缘的框被渲染得太低,如果你必须在IE阴影。

http://jsbin.com/esupex/36

我加修改为:

#playerNavBox { 
    height:36px; 
    margin-right: 260px; 
    *margin-top: -43px; 
} 
+0

这是完美的,更好的宽度和右边距。非常感谢。 – Basit

0

你有固定或流动布局工作?问题是最正确的div不能把自己放在左边的旁边。给左边的一个左边的浮动和一个固定的宽度(以px或%为单位),并且都应该没问题。

如果你的布局流体:注意边界,阴影,margin和padding在PX如果你给一个元素一个不%发挥出色,不应该永远是在同一元素

此外,在IE6浮动并在同一边填充或边距,它将是您指定的边距/填充的两倍。这里描述的一样:

http://davidwalsh.name/prevent-double-margin-padding-ie6-css-float

对于IE6,你可以使用一个边框,而不是阴影来获得或多或少相同的外观。

+0

其流体布局。以及如果你点击示例链接并在ie6上运行它,你会看到错误,如果你只是从CSS中删除阴影线,那么它会正常工作。 – Basit

+0

对于IE6,您可以使用边框而不是阴影来获得更多或更少的相同外观。仔细看过它,但看起来IE6使得影子的方式更大,然后你将其定义为。 –

+1

这就是我对IE6的解决方案,从来没有为它设计过,但使它看起来可以接受之后。无论如何,无论如何,所有全球网页浏览量中仍有10%是用ie6完成的。不支持它会是可笑的。 –

0

减少边距和定义宽度可以解决问题。

老CSS:

#playerNavBox { 
     height:36px; 
     margin-right: 260px; 
     background-color:#fff; 
    } 

新的CSS:

#playerNavBox { 
    height:36px; 
    margin-right: 260px; 
    background-color:#fff; 
    /* ie6 shadow fix */ 
    *width:81%; 
    *margin-right: 250px; 
} 
+1

当改变分辨率时,这会给你带来棘手的问题,结合px大小和%大小从来没有效果好 –

+0

你是对的。只是想着我还能做什么,而不去除阴影。任何人!? – Basit