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及更高版本,Safari1.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的私有的,其他浏览器不支持。