当前位置:首页 >> 网页制作

CSS 透明度属性

Firefox3.5已不支持私有属性-moz-opacity了,在Mozilla 1.7 (Firefox 0.9)之前FF都是使用这个私有属性的,Firefox 0.9-Firefox3同时支持-moz-opacity和opacity这两个属性,Firefox升级到3.5之后,一些网站原来有的透明没有了,呵呵。

除了IE之外,目前主流浏览器, Opera 9.0及更高版本,Safari  1.2(WebKit 125) 及更高版本,chrome等等都支持opacity这个设置透明度的属性,opacity的属性值是0<number<1的数值,默认值是1。

例如50%透明的类:.example { opacity: 0.5;}

IE的透明度的属性从IE4-IE8使用filter: alpha(opacity=number),这里的number是0-100之间的整数数值,IE8中我们也可以用-ms-filter: "alpha(opacity=number)"。IE中还支持progid:DXImageTransform.Microsoft.Alpha(Opacity=xx)这种写法,但是不建议使用。

所以我们可以这样写透明度类:

.example { /* make the box translucent (80% opaque) */
   opacity: 0.8;                    /* Firefox, Safari(WebKit), Opera */
   -ms-filter: "alpha(opacity=80)"; /* IE 8 */
   filter: alpha(opacity=80);       /* IE 4-7 */
   zoom: 1;/* set "zoom", "width" or "height" to trigger "hasLayout" in IE 7 and lower */
}

这些可以参照:https://developer.mozilla.org/En/CSS:-moz-opacity

当然我们还会用js来设置元素的透明度,例如:

var el=document.getElementById("mybox");
el.style.opacity=50/100; //这里写出50/100主要是为了和ie的写法统一,便于一参数形式传入
el.style.filter='Alpha(Opacity=50)';

这里要说的是,Firefox3.5在css上已不支持私有属性-moz-opacity了,但是js中的el.style.MozOpacity=val/100;还是被Firefox3.5支持的,但是我不建议使用,因为这是ff的私有的,其他浏览器不支持。