在IE9和大多数浏览器,使用rgba就能避免父级影响后代的不透明度问题:
background: rgba(0,0,0,0.8);//前面3个0为红绿蓝颜色值,最后一个为不透明度
在IE6-8中,没有直接解决的办法,常用方案是:
在父级中添加2个DIV,第一个设置opacity不透明度,第二个定位到第一个上面。因为2个DIV是同级,所以避免了opacity的影响。
filter: alpha(opacity=80); //IE6-8
opacity:0.8;//标准浏览器
你这个需求很诡异啊,如果你子层不要半透明,你干嘛把这个半透明属性设置给父层?为什么不设置给父层中其他需要半透明的元素?
或者说你的子层为什么非要放到这个父层里面?
这个你考虑下用别的方法 比如添加一个半透明的图片什么的
在子层里面重新定义