不确定,如何命名这个问题,但是,我遇到了一个问题(次要的,但仍然),我有一个主要的div容器,它基本上是一个白色文本框,这是92%的不透明度:
-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=92)";
filter: alpha(opacity=92);
opacity:.92;
但是,这工作正常,在某些页面上,我有一个 Jplayer 音频播放器,它也变成了 92% 的透明度。有谁知道一种方法,我仍然可以保持透明度,但保持主div 容器内的对象完全不透明?
使用此 CSS-
#div{
background: rgba(255, 255, 255, 0.92);
}
然后使用此脚本在 IE 中实现浏览器兼容性。
<!--[if IE]>
<style type="text/css">
.color-block {
background:transparent;
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#50990000,endColorstr=#50990000);
zoom: 1;
}
</style>
<![endif]-->
使用背景:rgba(255, 255, 255, 0.92);
当您使用 background 属性时,它仅将 alpha(最后一个值,不透明度)应用于背景本身。使用它而不是 ms-filter,因为它适用于所有**现代浏览器。
#parent{
-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=92)";
}
#parent>*{
-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
}
这将使父母的阿尔法达到92%,而孩子是100%。但是我不记得这是设置了元素的不透明度还是 alpha?因为如果它设置了元素的不透明度。父元素中的每个元素也会受到影响。另一种方法是使用背景图像,选择 ie 8 及更低版本以使用替代方法或一些非常尴尬的定位。