2010-11-08 72 views
0

我有1px x 1px灰度像素。它被用作BG图像:IE 8特定背景图像错误

background-attachment:scroll; 
background-color:transparent; 
background-image:url("../image/vertical-border.png"); 
background-position:393px 0; 
background-repeat:repeat-y; 

所以我期望灰色的垂直线是任何div在div中最高的高度。常用的技巧。

所以我在每个浏览器中正确地看到这个除了IE 8以外。在IE 8中它显示为渐变。顶部变暗,下面变淡。那有多疯狂?我从来没有见过这样的事情,并会喜欢一些见解。

谢谢!

+2

你能提供一个活链接或的jsfiddle? – 2010-11-08 22:24:39

+0

我遇到过类似的问题,但最终只是因为我的显示器对顶部较暗。 – drudge 2010-11-08 22:25:34

+0

是的,我很好奇,也看到它。 – AGoodDisplayName 2010-11-08 22:25:48

回答

2

不幸的是,这是一个PNG渲染错误(意外的惊喜),在大多数情况下人们增加了平铺PNG图像的大小,10x10和问题被删除。希望这对你有好处 - 可能使用1x10或更好的1x50 ...

从内存中得到的部分解释是IE需要将其过滤应用到1x1图像时的处理量,当你乘以它出现在屏幕上的次数 - 它对IE来说太硬了。

请参阅:IE8's rendering of transparent pngs is FUBARed on my site,和相关的帖子/评论。

编辑: 嘿,既然它只是一条垂直线,是否可以使用GIF格式呢?或者可能是8位,非alpha透明的PNG?

+0

更改为1px 10px PNG使这项工作流行。多么奇怪的问题......谢谢! – 2010-11-11 00:39:00

0

如果它只是1px的灰色边框,为什么不使用1px灰色边框?

例子:

border-right: 1px solid #cccccc; 
+1

他可能会用一个更简单的例子来说明他的实际代码。 – 2012-10-26 13:25:07