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

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

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

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

如下,实现了可以兼容各浏览器,达到背景颜色半透明而不影响子元素的代码:

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图片!

posted @ 2014-01-22 22:27  懦酷  阅读(866)  评论(0编辑  收藏  举报