使用CSS设置透明的一些相关技巧
点击次数:更新时间:2011-08-31 11:08:18【打印】【关闭】
一、旧的Opacity设置
#myElement { -khtml-opacity: .5; -moz-opacity: 0.5; }
-khtml-opacity设置是针对旧版本的Webkit渲染引擎,这种专用属性现在已经过时了,除非你还有需要兼容Safari 1.x.的用户。
#myElement { opacity: .7; }
上述语法将设置一个元素为70%不透明(或30%透明)。设置opacity:1将使元素不透明,而设置opacity:0将使得元素完全不可见。你 只要记住“opacity”等同于“不透明”就很容易记住了,opacity值越小就越接近透明。
#myElement { filter: alpha(opacity=40); }
#myElement { filter: progid:DXImageTransform.Microsoft.Alpha(opacity=40);
/* 第一行在IE6, IE7和IE8下有效 */ -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(opacity=40)"; /*第二行仅在IE8下有效 */} 第一行代码针对当前所有IE版本,第二行仅针对IE8。
注意两行代码的不同之处:在第二行代码中,在filter属性前跟着-ms-前缀,并且属性值有加引号,这些都是语法所必须的。
document.getElementById("myElement").style.opacity = ".4";
// 针对所有现代浏览器 document.getElementById("myElement").style.filter = "alpha(opacity=40)"; // 针对IE
上面的代码可以使用行内循环或者其他动态函数递增修改透明度的值。当然,你必须先通过特征检测来决定使用哪一行代码。
$("#myElement").css({ opacity: .4 }); // 所有浏览器有效
您也可以使用一下jQuery代码使一个元素动画透明: $("#myElement").animate({ opacity: .4 }, 1000, function() { // 动画完成,所有浏览器下有效 });
#rgba { background: rgba(98, 135, 167, .4); }
在上面的定义中,通过RGB(前三个数字)给背景设定颜色,然后最后一个是alpha设置,以执行给定颜色的透明度。这个alpha设置跟opacity 属性一样,可设定任何0到1的数字,精确得到两位小数点。数字值越大,就越接近完全不透明的颜色。
#hsla { background: hsla(207, 38%, 47%, .4); }
|