
css颜色叠加的真相:红绿蓝叠加并非黑色?
CSS颜色叠加的结果有时会与直觉相悖。为什么红、绿、蓝三种基础色叠加后并非黑色?
关键在于:叠加并非混合
通常情况下,CSS颜色叠加并非颜料混合,而是层叠覆盖。就像叠放彩色透明纸,上层颜色会遮盖下层颜色。
光学三原色与颜料三原色:不同的混合原理
立即学习“前端免费学习笔记(深入)”;
光学三原色(红绿蓝)叠加产生白色,这是因为光线叠加,而非颜料吸收。而颜料混合则吸收光线,因此红绿蓝颜料混合趋向于黑色。
实现颜色混合:CSS混合模式
要模拟颜料混合,需要使用CSS的mix-blend-mode属性。该属性控制元素如何与底层元素进行混合。
以下示例演示了如何使用mix-blend-mode: multiply;实现颜色混合:
.container { width: 100px; height: 100px; display: flex; justify-content: center; align-items: center;}.red { width: 50px; height: 50px; background: red; opacity: 0.5;}.green { width: 50px; height: 50px; background: green; opacity: 0.5; mix-blend-mode: multiply; /* 关键属性 */}.blue { width: 50px; height: 50px; background: blue; opacity: 0.5; mix-blend-mode: multiply; /* 关键属性 */}
将三个div层叠,使用multiply混合模式,就能观察到红绿蓝叠加后的颜色,并非黑色,而是更接近于深色调的混合色。 这才是真正的色彩混合效果。
以上就是CSS颜色叠加为何红绿蓝叠加不是黑色?的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1561701.html
微信扫一扫
支付宝扫一扫