引言
在现代 Web 设计中,CSS 提供了许多强大的属性来增强视觉效果,而 background-blend-mode
就是其中之一。它允许开发者混合背景图像和颜色,创造出类似 Photoshop 的图层混合效果,而无需依赖图片编辑软件。
本文将介绍 background-blend-mode
的基本概念、常见混合模式、浏览器支持、实际应用案例。
background-blend-mode
概念
background-blend-mode
是一个 CSS 属性,属性定义了背景层的混合模式(图片与颜色)
基本语法
css
background-blend-mode: normal|multiply|screen|overlay|darken|lighten|color-dodge|saturation|color|luminosity;
常见混合模式
background-blend-mode
支持多种混合模式,以下是几种常用的:
混合模式 | 效果描述 |
---|---|
normal |
默认模式,不混合 |
multiply |
正片叠底模式,使图像变暗 |
screen |
滤色模式,使图像变亮 |
overlay |
叠加模式 |
darken |
变暗模式 |
lighten |
变亮模式 |
color-dodge |
颜色减淡模式 |
hard-light |
饱和度模式 |
hue |
颜色模式 |
luminosity |
亮度模式 |
浏览器支持
background-blend-mode
在现代浏览器(Chrome、Firefox、Safari、Edge)中支持良好,但 IE 完全不支持
实际应用案例
html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
.pic {
width: 200px;
height: 200px;
margin: 50px;
text-align: center;
font-size: 42px;
line-height: 420px;
float: left;
background-image: url('img/logo2.jpg');
background-size: cover;
}
.pic1 {
background-image: url('img/logo2.jpg'), linear-gradient(#f00, #f00);
background-blend-mode: lighten;
background-size: cover;
}
.pic2 {
background-image: url('img/logo2.jpg'), linear-gradient(#27be72, #27be72);
background-blend-mode: lighten;
background-size: cover;
}
.pic3 {
background-image: url('img/logo2.jpg'), linear-gradient(#f00, #00f);
background-blend-mode: lighten;
background-size: cover;
}
</style>
</head>
<body>
<div class="pic">原图</div>
<div class="pic pic1">红色</div>
<div class="pic pic2">绿色</div>
<div class="pic pic3">渐变色</div>
</body>
</html>
渲染效果如下:

结语
background-blend-mode
为 Web 设计提供了强大的视觉控制能力,可以轻松实现双色调、纹理叠加、动态换肤等效果。虽然浏览器兼容性有限,但在现代 Web 项目中,它仍然是一个值得探索的 CSS 特性。
尝试在你的下一个项目中使用它,让你的设计更具创意!