1

我有一个网站,我需要制作一些不透明度为 45% 的彩色图像,以便您可以看到背景。我的问题是,由于显而易见的原因,我不能使用 .png。我用过一个gif。当我在网站上拿到它时,不透明度已经读到颜色,但你看不透它。我如何做到这一点

编辑

如果没有必要,我不想使用 IE6 hack。据我尝试,没有可扩展的黑客攻击。

4

6 回答 6

11

GIF 不支持 Alpha 透明度。为什么不能使用 PNG 这么明显?

PNG 适用于所有现代浏览器,而 IE6 本机不支持 alpha 透明度。但是,在优秀的 'ol webernets 上有很多可用的修复程序。

如果您绝对必须支持“愚蠢的用户”,请强制他们使用Chrome Frame,即“我在您的浏览器中,使您的浏览器成为另一个更好的浏览器”的浏览器。Chrome Frame 是一个 IE 插件,它使用谷歌的 Chromium 引擎呈现页面。

于 2009-10-06T21:17:44.357 回答
4

gif只有1位不透明度,你不能有45%

于 2009-10-06T21:18:00.690 回答
3

GIF 透明度要么全部打开,要么全部关闭。它不支持部分透明。然而,PNG 确实有部分透明度支持。除非您有不使用 PNG 图像的特定要求,否则我认为没有理由不能使用它们。

于 2009-10-06T21:20:40.057 回答
2

使用透明 PNG 来获得完整的 Alpha 通道,然后使用 GIF 的 Internet Explorer 6 的备用 CSS,或在 IE6 中支持透明 PNG 的众多解决方法之一(使用AlphaImageLoader的“解决方法”除外)

于 2009-10-06T21:20:25.833 回答
1

如上所述,GIF 只有 1 位不透明度,表示打开或关闭,中间没有任何内容。这与 8 位 PNG 相同。

假设您不能使用 .PNG 的原因是因为您需要回退并在旧版本的 Internet Explorer 中工作。不幸的是,没有好的方法可以让它发挥作用。您可以使用一些技巧来使 PNG 在 IE6 中正常工作,但是如果您必须一直支持到 IE5,那么您就是 SOL。

于 2009-10-06T21:22:02.273 回答
0

在使用不同的透明 GIF 之后,有些不稳定并导致 CSS 故障。例如,如果你有一个<img>并且你使用最小的透明 GIF,它可以正常工作,但是,如果你希望你的透明 GIF 有一个background-image,那么这是不可能的。出于某种原因,某些 GIF(例如以下)会阻止 CSS 背景。

短暂但不稳定

data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==

我建议使用稍长且更稳定的版本,如下所示:

稳定但更长

data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7

于 2012-10-30T13:14:13.957 回答