Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Css 跨浏览器W3C兼容半透明背景色_Css_Background_Cross Browser_W3c_Transparent - Fatal编程技术网

Css 跨浏览器W3C兼容半透明背景色

Css 跨浏览器W3C兼容半透明背景色,css,background,cross-browser,w3c,transparent,Css,Background,Cross Browser,W3c,Transparent,要设置半透明背景,我使用: background-color: rgba(0, 120, 180, 0.8); 对于不支持rgba的IE,我使用具有相同颜色的1x1 png: background-image: url(http://i53.tinypic.com/2mgtu9e.png); () 问题1 我知道IE还有另一种使用过滤器的方法 这种方法被认为是W3C兼容的吗 问题2 假设我将20个1x1 png图像合并到一个sprite中 如何使用此精灵根据精灵中的第7个像素设置元素的背景

要设置半透明背景,我使用:

background-color: rgba(0, 120, 180, 0.8);
对于不支持rgba的IE,我使用具有相同颜色的1x1 png:

background-image: url(http://i53.tinypic.com/2mgtu9e.png); 
()

问题1

我知道IE还有另一种使用过滤器的方法

这种方法被认为是W3C兼容的吗

问题2

假设我将20个1x1 png图像合并到一个sprite中

如何使用此精灵根据精灵中的第7个像素设置元素的背景色?

答案#1

此方法不符合W3C。Internet Explorer使用过滤器的方式不是常规的。W3C规范根本不支持过滤器。过滤器是Internet Explorer插件

答复#2

没有办法使用它们。在精灵中,只能使用不在背景中重复的图像

例如:假设您有以下精灵

x y z
r t s
u v a x y z
r t s
u v a 如果您现在有一个区域,您喜欢使用作为背景的图像t从您的精灵。您可以将div的最左上方设置为显示t图像,但当需要重新复制背景时,您将从x重新开始。这意味着您将重复精灵中的所有图像。

回答#1

此方法不符合W3C。Internet Explorer使用过滤器的方式不是常规的。W3C规范根本不支持过滤器。过滤器是Internet Explorer插件

答复#2

没有办法使用它们。在精灵中,只能使用不在背景中重复的图像

例如:假设您有以下精灵

x y z
r t s
u v a x y z
r t s
u v a 如果您现在有一个区域,您喜欢使用作为背景的图像t从您的精灵。您可以将div的最左上方设置为显示t图像,但当需要重新复制背景时,您将从x重新开始。这意味着您将重复精灵中的所有图像。

问题1:。方框渐变显示如何使用MS过滤器

要检查是否有效:。我发现了一些错误,所以我猜它不被认为是有效的CSS问题1:。方框渐变显示如何使用MS过滤器


要检查是否有效:。我发现了一些错误,所以我想它不被认为是有效的CSS,正如其他人所说,没有IE过滤器是不符合W3C的。它们还会产生大量的开销,并对性能产生影响。除非我弄错了,当一个过滤器应用于一个HTML元素时,它将应用于该元素中的所有内容,包括它的文本。所以你也会得到半透明的文本。也许有一种方法可以阻止这种情况发生,但我还没有遇到过。此外,有时IE过滤器也不能很好地与半透明PNG配合使用

说到PNG,使用精灵的想法只有在你有特定的高度或宽度或两者都有的情况下才有效。正如梅里亚诺斯·尼科斯所说,这真的不能满足你的需要。此外,平铺1x1图像是一个非常糟糕的想法。我这样说是因为这样做时会出现性能问题,尤其是IE6。虽然IE6可能不关心这一点,但平铺如此小的图像仍然会导致性能下降,因为浏览器必须绘制和重画每个图像

对于这种情况,我会使用类似的东西,使rgba可以在不支持rgba的浏览器中使用。在为rgba和其他一些东西(HTML5 shim、yepnope和添加CSS类)定制下载后,下载量为6.1kb。这不是一个巨大的打击,使开发更容易


更新当我说Modernizer启用rgba时,我说错了。它不会这样做,但会让您知道rgba已在浏览器中启用。它会将类添加到
html
标记中,告诉您浏览器的功能。

正如其他人所说,没有IE过滤器不符合W3C。它们还会产生大量的开销,并对性能产生影响。除非我弄错了,当一个过滤器应用于一个HTML元素时,它将应用于该元素中的所有内容,包括它的文本。所以你也会得到半透明的文本。也许有一种方法可以阻止这种情况发生,但我还没有遇到过。此外,有时IE过滤器也不能很好地与半透明PNG配合使用

说到PNG,使用精灵的想法只有在你有特定的高度或宽度或两者都有的情况下才有效。正如梅里亚诺斯·尼科斯所说,这真的不能满足你的需要。此外,平铺1x1图像是一个非常糟糕的想法。我这样说是因为这样做时会出现性能问题,尤其是IE6。虽然IE6可能不关心这一点,但平铺如此小的图像仍然会导致性能下降,因为浏览器必须绘制和重画每个图像

对于这种情况,我会使用类似的东西,使rgba可以在不支持rgba的浏览器中使用。在为rgba和其他一些东西(HTML5 shim、yepnope和添加CSS类)定制下载后,下载量为6.1kb。这不是一个巨大的打击,使开发更容易


更新当我说Modernizer启用rgba时,我说错了。它不会这样做,但会让您知道rgba已在浏览器中启用。它会将类添加到
html
标记中,告诉您浏览器的功能。

这就是我在回答中所说的。IE过滤器是CSS的插件。这意味着它们不是常规的CSS规则,因此对CSST无效。这就是我在回答中所说的。IE过滤器是CSS的插件。这意味着这不是常规的CSS规则,因此对CSS无效。有趣的是,人们谈论的“跨浏览器兼容性”实际上是指“它在IE中不起作用”。有趣的是,人们谈论的“跨浏览器兼容性”实际上是指“它在IE中不起作用”。