正如您在“CSS颜色”中所了解的,rgba ( )、hsla ( ) )可以设置颜色的透明度,但它们只能在定义颜色的同时设置透明度,而不能为图像或其他元素设置透明度。
CSS 中提供了一个 opacity 属性用来设置元素的透明度,它不仅对颜色有效,对图像或者页面中其它的元素也有效。其语法格式如下:
opacity: number;
其中 number 为一个 0~1 之间的浮点数(小数),用来表示元素的透明度,值越小则越透明(0 表示完全透明,1 表示完全不透明)。
另外,在使用 opacity 属性时,还需要注意以下几点:
- 当一个元素定义了 opacity 属性,并且其值小于 1 时,那么它的子元素也会拥有同样的透明度;
- 当一个元素定义了 opacity 属性,并且其值小于 1 时,将会重新定义该元素默认的 z-index 属性,如果其它的元素为非定位元素,那么该元素的堆叠级别将会高于其它元素;
- 如果定义的 opacity 属性值超过了指定的范围,那么则截取与之最相近的值,例如 1.5 将截取为 1。
【示例】使用 opacity 属性设置元素的透明度:
- <!DOCTYPE html>
- <html>
- <head>
- <style>
- img {
- width: 150px;
- }
- img:last-child {
- opacity: 0.4;
- margin-left: 30px;
- }
- </style>
- </head>
- <body>
- <img src=“./css.png” alt=“”>
- <img src=“./css.png” alt=“”>
- </body>
- </html>
运行结果如下图所示:
图:opacity 属性演示
IE8 或者更早版本的 IE 浏览器不支持 opacity 属性,若想要在这些浏览器中实现透明效果可以使用 filter 属性,语法格式如下:
filter: alpha(opacity = number);
其中 number 的取值范围为 0~100,值越小则越透明。
【示例】使用 filter 属性设置元素的透明度:
- <!DOCTYPE html>
- <html>
- <head>
- <style>
- img {
- width: 150px;
- }
- img.img_two {
- filter: alpha(opacity=50);
- margin-left: 30px;
- }
- </style>
- </head>
- <body>
- <img src=“./css.png” class=“img_one”>
- <img src=“./css.png” class=“img_two”>
- </body>
- </html>
运行结果如下图所示:
图:filter: alpha(opacity=x) 属性演示
为了让所有浏览器都可以实现透明效果,您可以同时定义 opacity 和 filter 两个属性,如下所示:
p {
opacity: 0.5;
filter: alpha(opacity=50);
}
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容