【发布时间】:2009-10-12 12:20:12
【问题描述】:
有谁知道如何修复当透明 gif 覆盖在颜色上时看到的 css 中的白色背景笔触?
【问题讨论】:
-
“gif被覆盖”是什么意思?我很困惑。您能否向我们展示一个示例以及对问题的更准确描述?
标签: css colors background transparent
有谁知道如何修复当透明 gif 覆盖在颜色上时看到的 css 中的白色背景笔触?
【问题讨论】:
标签: css colors background transparent
您看到的白色小边框是图像程序试图猜测图像透明度的最佳背景颜色的产物。在这种情况下,它是白色的。
如果您的图像在浅色背景上,您就不会看到它那么花哨。
尝试导出具有较暗哑光背景的图像,以减少对眼球的像素攻击。
【讨论】:
我相信这与 CSS 无关,但与您导出的 GIF 有关。如果您有一张抗锯齿图片并尝试将其导出为具有透明度的 gif。它会自动为一些半透明像素渲染一个额外的哑光像素。
如果您希望阴影比 PNG 文件透明。 PNG 的问题是它在 IE6 中无法完美运行
【讨论】:
如果您正在 IE 中寻找修复,请查看 http://www.howtocreate.co.uk/alpha.html
【讨论】:
这是因为 GIF 文件中的透明度是如何处理的。该文件格式没有 Alpha 通道,只有一种标记为透明的颜色。这意味着每个像素只能是完全透明或完全不透明的。
当您将图像保存为 GIF 时,程序会将任何部分透明的像素转换为完全透明(如果它几乎是透明的)或完全不透明的,方法是将颜色更改为在实体上绘制时的颜色背景颜色(称为哑光)。
在您的情况下,哑光颜色是默认的白色,因此任何部分透明的像素都会淡化为白色。如果您始终在相同的背景上显示图像,您只需将该颜色指定为遮罩,程序就会将部分透明的像素淡化为该颜色,使过渡不可见。
如果您需要在不同的背景上显示图像,您要么需要为每种背景颜色使用一个图像,要么使用可以支持 alpha 通道的 PNG 文件格式。
(请注意,IE6 无法正确显示带有 alpha 通道的 PNG 图像,但如果您需要支持 IE6,则可以解决此问题。)
【讨论】: