新手小白如何详细设置CSS透明度(opacity)

正如您在“CSS颜色”中所了解的,rgba ( )、hsla ( ) )可以设置颜色的透明度,但它们只能在定义颜色的同时设置透明度,而不能为图像或其他元素设置透明度。

CSS 中提供了一个 opacity 属性用来设置元素的透明度,它不仅对颜色有效,对图像或者页面中其它的元素也有效。其语法格式如下:

opacity: number;

其中 number 为一个 0~1 之间的浮点数(小数),用来表示元素的透明度,值越小则越透明(0 表示完全透明,1 表示完全不透明)。

另外,在使用 opacity 属性时,还需要注意以下几点:

  • 当一个元素定义了 opacity 属性,并且其值小于 1 时,那么它的子元素也会拥有同样的透明度;
  • 当一个元素定义了 opacity 属性,并且其值小于 1 时,将会重新定义该元素默认的 z-index 属性,如果其它的元素为非定位元素,那么该元素的堆叠级别将会高于其它元素;
  • 如果定义的 opacity 属性值超过了指定的范围,那么则截取与之最相近的值,例如 1.5 将截取为 1。

【示例】使用 opacity 属性设置元素的透明度:

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <style>
  5. img {
  6. width: 150px;
  7. }
  8. img:last-child {
  9. opacity: 0.4;
  10. margin-left: 30px;
  11. }
  12. </style>
  13. </head>
  14. <body>
  15. <img src=“./css.png” alt=“”>
  16. <img src=“./css.png” alt=“”>
  17. </body>
  18. </html>

运行结果如下图所示:

1453533W2-0
图:opacity 属性演示

IE8 或者更早版本的 IE 浏览器不支持 opacity 属性,若想要在这些浏览器中实现透明效果可以使用 filter 属性,语法格式如下:

filter: alpha(opacity = number);

其中 number 的取值范围为 0~100,值越小则越透明。

【示例】使用 filter 属性设置元素的透明度:

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <style>
  5. img {
  6. width: 150px;
  7. }
  8. img.img_two {
  9. filter: alpha(opacity=50);
  10. margin-left: 30px;
  11. }
  12. </style>
  13. </head>
  14. <body>
  15. <img src=“./css.png” class=“img_one”>
  16. <img src=“./css.png” class=“img_two”>
  17. </body>
  18. </html>

运行结果如下图所示:

145353M53-1
图:filter: alpha(opacity=x) 属性演示

为了让所有浏览器都可以实现透明效果,您可以同时定义 opacity 和 filter 两个属性,如下所示:

p {
    opacity: 0.5;
    filter: alpha(opacity=50);
}

© 版权声明
THE END
喜欢就支持一下吧
点赞6 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片