1

我试图让透明度在 IE8 中工作。我见过的所有解决方案都是针对背景颜色的,但我正试图让它为前景颜色工作。

我想在 IE8 中获得这种效果(颜色是用户生成的,因此近似的混合颜色解决方案不起作用,因为这些不是目标颜色)

HTML:

<div>testing</div>
<span>testing</span>

CSS:

div {
    color: rgba(255, 0, 0, .5);
}
span {
    color: red
}
body {
    background: green;
}

http://jsfiddle.net/6L2DZ/

4

3 回答 3

1

在 CSS 中的 IE8 中没有本地方法可以做到这一点。IE8 不支持 CSS rgba 颜色。故事结局。

实现这一点的唯一方法是使用 polyfill 脚本,而我知道的唯一可以在 IE8 中执行 rgba 颜色的 polyfill 脚本是CSS3Pie

使用 CSS3Pie 将在某些情况下添加对 rgba 颜色的支持,但支持文本颜色。它适用于背景色和渐变色,但不适用于文本。

因此,我不认为您正在寻找的东西实际上可以按照您想要的方式完成。

通过将文本放入其自己的单独元素并为该元素设置不透明度,您可能会获得一些成功。由于元素中唯一的东西是您的文本,因此它会产生类似的效果,就好像您使用 rgba 为文本赋予了透明效果。这并不理想,但这是我能想到的唯一可行的解​​决方案。

于 2013-06-06T16:29:33.747 回答
0

尝试这个:filter: alpha(opacity=75);

或者这个:Opacity CSS not working in IE8

于 2013-06-06T16:23:18.313 回答
0

我按照这里所说的:http ://robertnyman.com/2010/01/11/css-background-transparency-without-affecting-child-elements-through-rgba-and-filters/

当我需要做类似的事情时工作了:D

于 2013-06-06T16:24:49.587 回答