你对 CSS 中的半透明颜色可能已经有了基础的了解,CSS透明算得上是一种相当流行的技术,但在跨浏览器支持上,对于开发者来说,可以说是一件令人头疼的事情。目前还没有一个通用方法,以确保透明度设置可以在目前使用的所有浏览器上有效,但是总得来说它是一个巨大的变革。关于CSS 透明度,有一点需要注意的是,它虽然使用了很多年,但它一直以来都不是一个标准属性,它是一种非标准技术,应该是CSS3规范的一部分。
怎样在CSS样式中设置背景的透明度
怎样在CSS样式中设置背景的透明度,下面给出一个具体的实例。把类为box的层设为透明。
其中background:#000; filter:alpha(opacity:30); opacity:0.3;为关键代码,当opacity值为1时,表示完全不透明,为0时表示完全透明。其他的属性介绍如下:
opacity: 0.3;这是“最重要的”,因为它是在CSS的现行标准。这将在Firefox,Safari和Opera的大多数版本的工作。这将是你所需要的一切如果所有的浏览器都支持目前的标准。当然是他们不会错。
filter:alpha(opacity=30);这一个是针对IE浏览器
-moz-opacity:0.3;你需要这一个支持老版本的Mozilla浏览器如Netscape Navigator。
-khtml-opacity: 0.3;这是旧版本的Safari(1.×)当渲染引擎是使用仍被称为kthml,而不是目前的WebKit。
CSS中用javascript或jquery实现透明度的改变
如何用CSS实现背景半透明效果?我们一般的做法是用两个层,一个用于放文字,另一个用于做透明背景,因为透明滤镜的效果会影响到里面的内容。
不过如果你只需求在IE下实现,使用CSS实现透明度有很多方案,这里只是介绍大家通用的方法:
1. .transparent_class {
2. filter:alpha(opacity=50);//标准的css透明度,在大部分的标准浏览器Firefox, Safari, and Opera都有效
3. opacity:0.5;//兼容IE解决方案
4. -moz-opacity:0.5;//老的Mozilla browsers如NetscapeNavigator.几乎没有可以不需要
5. -khtml-opacity:0.5;//兼容老的Safari (1.x) 版本,很少可以不用
6. }
知道了CSS改变透明度的原理,那么使用javascript动态改变透明度就简单了:
1. 2.
3. 4. 5. 8. 17. 18. 19. this istransparent div