防止IE8使内容透明

时间:2014-04-24 17:28:59

标签: html css internet-explorer-8 transparency

我有一个带有IE8个别CSS的div,它是透明的。如何防止IE8使这个div内的内容也透明​​?它应该是100%可见且不透明。非常感谢您的建议。

Fiddle (to be watched at in IE8)

.mybox {
    position: absolute;
    top: 362px;
    left: 0;
    width: 460px;
    height:94px;
    overflow: hidden;
    text-align: left;
    padding-left: 10px;
    padding-top: 3px;
    overflow:hidden;
    background-color:#000000;
    /* background: transparent;  */
    -ms-filter: "alpha(opacity=60)"; 
    /* zoom:1 ; */
    /*  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#99000000, endColorstr=#99000000)";   */
    /*  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"; */
    /*filter: alpha(opacity=60);*/
}
OT:好的我知道这是一所老派。但我的客户仍希望此页面与IE8兼容。

相关资源:

3 个答案:

答案 0 :(得分:2)

通过设计继承所有孩子的不透明度。新的浏览器可以使用alpha通道(RGBA)绕过这个,IE8不能。

您所能做的就是使用绝对定位将您想要的内容放在透明位的顶部。您当然需要重新排列元素堆叠顺序才能执行此操作。

您可以通过复制内容,减去透明元素,并使用JS将其放在现有元素的顶部来作弊。

答案 1 :(得分:0)

如果div有一个名为.mybox的类,那么尝试通过添加opacity: 1;

来明确设置不透明度

答案 2 :(得分:0)

最后,我找到了一个更好的解决方案:

.mybox { 
background:none transparent scroll repeat 0 0;
filter:progid:DXImageTransform.Microsoft.gradient(startColorStr=#98000000,endColorStr=#98000000);
}

更新:Take a look with IE8

我显然对过滤器声明搞砸了,我很抱歉...... :(