0

有谁知道如何修复当透明 gif 覆盖在颜色上时看到的 CSS 中的白色背景笔划?

4

4 回答 4

0

如果您正在 IE 中寻找修复,请查看http://www.howtocreate.co.uk/alpha.html

于 2009-10-12T12:26:18.113 回答
0

我相信这与 CSS 无关,但与您导出的 GIF 有关。如果您有一张抗锯齿图片并尝试将其导出为具有透明度的 gif。它会自动为一些半透明像素渲染一个额外的哑光像素。

如果您希望阴影比 PNG 文件透明。PNG的问题是它不能在IE6中完美运行

于 2009-10-12T12:26:06.570 回答
0

您看到的白色小边框是图像程序试图猜测图像透明度的最佳背景颜色的产物。在这种情况下,它是白色的。

如果您的图像在浅色背景上,您将不会看到它如此花哨。

尝试使用较暗的哑光背景导出图像,以减少对眼球的像素攻击。

于 2009-10-12T12:31:28.213 回答
0

这是因为 GIF 文件中的透明度是如何处理的。该文件格式没有 Alpha 通道,只有一种标记为透明的颜色。这意味着每个像素只能是完全透明或完全不透明的。

当您将图像保存为 GIF 时,程序会将任何部分透明的像素转换为完全透明(如果它几乎是透明的)或完全不透明的,方法是将颜色更改为在纯背景颜色上绘制时的颜色 (称为哑光)。

在您的情况下,哑光颜色是默认的白色,因此任何部分透明的像素都会淡化为白色。如果您总是在相同的背景上显示图像,您只需将该颜色指定为无光泽,程序将淡化该颜色的部分透明像素,使过渡不可见。

如果您需要在不同的背景上显示图像,您要么需要为每种背景颜色使用一个图像,要么使用可以支持 Alpha 通道的 PNG 文件格式。

(请注意,IE6 无法正确显示带有 alpha 通道的 PNG 图像,但如果您需要支持 IE6,则可以解决此问题。)

于 2009-10-12T13:23:16.503 回答