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颜色叠加为何红绿蓝叠加不是黑色?的详细内容,更多请关注知识资源分享宝库其它相关文章!
版权声明
本站内容来源于互联网搬运,
仅限用于小范围内传播学习,请在下载后24小时内删除,
如果有侵权内容、不妥之处,请第一时间联系我们删除。敬请谅解!
E-mail:dpw1001@163.com
发表评论