首页 > 代码库 > 利用rgba和filter设置CSS背景颜色半透明且不影响子元素,兼容IE6-8

利用rgba和filter设置CSS背景颜色半透明且不影响子元素,兼容IE6-8

目的需要,需要一个背景半透明的效果,于是马上想到“opacity:0.5″等等,为兼容IE可能还会用到filter,如:

filter:alpha(opacity=50); -moz-opacity:0.50; opacity:0.50;

上面的是可以达到半透明的效果,但是会影响里面的子元素也半透明,例如DIV里面的文字也半透明了,这不是我想要的

上英文google.com翻阅半天,稍加总结和修改,终于功夫不负有心人,实现了可以兼容各浏览器,达到背景颜色半透明而不影响子元素的代码,如下:

background:rgba(0,0,0,0.6);background: transparent\9;zoom:1\8; /* required for the filters */-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr=#99000000, endColorstr=#99000000)"; /* IE8 */filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#99000000, endColorstr=#99000000); /* IE5.5-7 */

上面的代码利用了rgba的半透明效果,为了兼容IE使用filter。

注意:这里的方法只是对背景颜色来说的,对于背景图片半透明不适用,背景图片半透明可以采用透明的png图片!


利用rgba和filter设置CSS背景颜色半透明且不影响子元素,兼容IE6-8