0

我有一个加载 div,以加载符号作为背景图像。我希望加载符号完全不透明。但是,为了淡化正在加载的页面,我将背景图像设置为 80% 的不透明度。这在 Chrome 和 Firefox 中运行良好,但在 IE8 中加载符号也是半透明的。有什么方法可以淡化ie8中的背景颜色而不是背景图像?

CSS:

#loadingDiv {
    background: url(../../images/Loading32.gif) no-repeat center center;
    background-color: rgba(255,255,255, .8);
    position: absolute;
    height: 330px;
    width: 890px;
    -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#88ffffff, endColorstr=#88ffffff)";
}
4

2 回答 2

3

IE8 不支持rgba,所以这就是它不透明的原因......

所以使用可能使用 2x2 像素图像的透明背景图像......或者

您可以查看CSS3 Pie以获取 IE8 支持

于 2012-11-26T20:43:50.573 回答
1

遗憾的是,IE8- 不支持 rgba,也不支持 CSS 不透明度规则。就个人而言,我会创建一个半透明的 1px png 图像,并将其作为背景图像重复。

首先,创建透明 1px png 并将其放置在图像目录中。将其命名为“translucentBG.png”。

其次,通过将以下内容放在源代码的头部,使用单独的样式表定位 IE:

<!--[if IE]>
    <link rel="stylesheet" type="text/css" href="css/all-ie-only.css" />
<![endif]-->

然后,在您的 css 目录中创建一个名为“all-ie-only.css”的文件。在“all-ie-only.css”中,创建以下规则:

.loadingdiv {
    background: url(../../images/translucentBG.png);
}
于 2013-05-16T18:15:06.187 回答