使用 CSS background-blend-mode 创造惊艳的视觉效果

引言

在现代 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 特性。

尝试在你的下一个项目中使用它,让你的设计更具创意!

相关推荐
IT古董几秒前
微前端的新纪元:Vite + Module Federation 最强指南(2025 全面技术解析)
前端
小小弯_Shelby5 分钟前
vue项目源码泄露漏洞修复
前端·javascript·vue.js
兔子零10246 分钟前
CSS 视口单位进化论:从 100vh 的「骗局」到 dvh 的救赎
前端·css
q***876016 分钟前
项目升级Sass版本或升级Element Plus版本遇到的问题
前端·rust·sass
k***121717 分钟前
【Nginx 】Nginx 部署前端 vue 项目
前端·vue.js·nginx
看晴天了23 分钟前
手势操控 Three.js!效果炸裂!
前端
喝咖啡的女孩30 分钟前
Promise × 定时器全场景手写
前端
h***346338 分钟前
MS SQL Server 实战 排查多列之间的值是否重复
android·前端·后端
本地跑没问题40 分钟前
Rect深入学习
前端
北辰alk40 分钟前
跨域难题终结者:Vue项目中优雅解决跨域问题的完整指南
前端