用CSS3的RGBA模式实现半透明效果
当前位置:以往代写 > 网页教程 >用CSS3的RGBA模式实现半透明效果
2019-06-14

用CSS3的RGBA模式实现半透明效果

       大自然的颜色都可以分解为红绿蓝三种色光,它们分别用字母R、G和B表示。那么,这后面的A是什么呢?它就是css3新增的功能——Alpha(不透明度)。

  alpha有效值介于0~1之间。alpha=0时,颜色全透明,不可见,alpha=1时,颜色全不透明,跟不设置的效果一样。如果大于0小于1,那它将会让被当前色块遮挡的元素透出一部分的颜色,从而形成半透明的效果。

  为了测试这个新功能,我们先构建好基础的html代码:

用CSS3的RGBA模式实现半透明效果_RGBA_CSS3实例_半透明_课课家

  运行效果如下图所示,页面显示出两个不同颜色的色块

  基础代码运行效果

  接着,我们用rgba改成半透明看看,方法是把rgb改成rgba,然后后面传入一个介于0~1之间的数值。

rgba代码

  运行效果如下图所示

rgba代码运行效果

  可能有的朋友会觉得,这只是变浅了而已,并没有看到什么透明的效果啊。

  确实,我们用rgb也一样能实现出来。只要背景是白色,那以下写法跟rgba完全等价。

rgb代码

  但是,如果它们重叠呢?比如我让绿色层使用绝对定位。

让绿色使用绝对定位代码

  那么效果将如下图所示,红色层被绿色层完全遮挡了

让绿色使用绝对定位效果

  但若改用rgba呢

改用rgba代码

  我们就会发现红色层的文字被透出了一部分,试问用传统的rgb,这个效果好实现吗?

改用rgba代码效果

  大家可能会想到用opacity实现透明度,没错,对于纯色块来说opacity+rgb能达到同样的效果。

利用opacity实现透明代码

  然而不幸的是,文字也会一起被透明掉

利用opacity实现透明效果

  可见rgba在很多场合仍然无法被rgb+opacity彻底取代,更常见的一个例子就是透明度渐变。比如下面的水晶按钮,高光就是用透明度渐变实现的。

水晶按钮

  早期的web设计师都只能通过图片来实现半透明的效果,这样的做法不仅制作流程繁琐,增大文件体积,而且限制也非常多,想要实现一个淡出的过渡,我们还得导出多个不同alpha值的图片来实现轮播,而且每次修改都要重新作图,相当不便。所以对于Web设计师来说,CSS3的rgba颜色可是老天爷赐予他们最好的礼物了。熟记这个功能,我们的网页制作之路将会畅通无阻,一帆风顺。

    关键字:

在线提交作业