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的私有的,其他浏覽器不支持。