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
发表评论