IE8:CSS不透明度过滤器结果字体颜色变得与背景div的背景颜色相同

时间:2011-08-30 12:46:21

标签: css internet-explorer css3 filter

我遇到了一个非常奇怪的错误:有一个div(#inner)放在另一个(#container)中。如果我在IE8中为内部元素赋予不透明度,则内部div(#inner)的字体颜色将与外部(#container)元素的背景颜色相同。

之前有没有人遇到过这种行为?

包含有问题的CSS的网站:http://beta.sminktanfolyamok.hu

这些部分的CSS部分:

div#container {
    width: 940px;
    margin-left: auto;
    margin-right:auto;
    border:1px solid #ccc;
    box-shadow: 3px 3px 10px rgba(10,10,10,0.4);
    -moz-box-shadow: 3px 3px 10px rgba(10,10,10,0.4);
    -khtml-box-shadow: 3px 3px 10px rgba(10,10,10,0.4);
    -webkit-box-shadow: 3px 3px 10px rgba(10,10,10,0.4);
    position:relative;
    padding-left:10px;
    padding-right:10px;
    padding-top:1em;
    background-image:url('images/navigation.jpg');
    background-repeat:no-repeat;
    background-position:center left;
    background-color: #000;
}

div#inner {
    background-color: #999;
    color:#222;
    opacity: 0.7;
    -moz-opacity: 0.7;
    -khtml-opacity: 0.7;
    -webkit-opacity: 0.7;
    filter:alpha(opacity=70);
}

1 个答案:

答案 0 :(得分:1)

解决方案与ClearType错误相同:我添加了

 position:relative

到所有相关层,问题就解决了。