我有一个带有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兼容。
相关资源:
答案 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);
}
我显然对过滤器声明搞砸了,我很抱歉...... :(