文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

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

敲键小勇士

敲键小勇士

2024-04-23 22:53

关注

       大自然的颜色都可以分解为红绿蓝三种色光,它们分别用字母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颜色可是老天爷赐予他们最好的礼物了。熟记这个功能,我们的网页制作之路将会畅通无阻,一帆风顺。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-前端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯