css 背景透明_CSS的rgb颜色覆盖

530162148c734c6e035ee1aa41ce3472.png

最近逛论坛,看到一个帖子,里面有一个回复很有意思:
举一个刁钻的例子 背景: CSS 也算是 GUI 开发里应用最广泛的“语言”,讲到 GUI 就可以深入到计算机图形学,取 CSS 里最常见的颜色部分 问题: 两层元素 底层 (c1=rgb) 上层 (c2=rgba) 叠加之后,呈现为什么颜色?
自己试验了一下,查了一下相关的笔记,还有关于图形学的知识

总结:

  1. 只有底色为不透明(rgb或者rgba的透明度为1)、覆盖层半透明时,会有颜色变化
  2. 都是不透明,不会出现色彩叠加的问题
  3. 都是透明也不会(这就有点难理解...

叠加的方法和上面的笔记里面说的差不多:

  1. 底色的rgb记为r1,g1,b1
  2. 覆盖色rgba记为r2,g2,b2,alpha
  3. 则覆盖处计算得到的最终显示rgba可以表示为:

background-color:rgba(r1*(1-alpha)+r2*alpha,g1*(1-alpha)+g2*alpha,b1*(1-alpha)+b2*alpha,1); 复制代码
浅薄的研究了一下,希望可以和我讨论

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值