使用 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 特性。

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

相关推荐
子兮曰3 天前
jev-ultrafast 深度解析:7 秒订机票的浏览器 Agent 是如何炼成的
前端·后端·agent
子兮曰3 天前
Jev 爆发一周:7 秒 Agent 背后的 System One 生态与三场争议
前端·后端·ai编程
前端小万3 天前
写公众号赚了 3000 块后,我做了一款叫 "一键成稿" 的软件
前端·微信小程序
爱勇宝3 天前
ZCode 开源 24 小时:一份没有历史的账本,回答不了"有没有偷代码"
前端·后端·chatglm (智谱)
三十而立洋3 天前
Cookie 详解:从产生到安全,一次讲透
前端·javascript
卡布鲁3 天前
把一个 Vite + Vue3 应用塞进 qiankun (React + Umi3) 主站:十个坑的复盘
前端·javascript·react.js
汉堡大王95273 天前
Jev:不是聊天机器人, 而是一个智能 if 语句
前端·人工智能·后端
梦想很大很大3 天前
从运行事实到回归证据:Workrun 的 Telemetry 与 Evaluation 实践
前端·人工智能·后端
计算机魔术师3 天前
Meta Muse agent 接入 Shopify 的 Shop Pay 实现代理式购物
前端
沙蒿同学3 天前
我用 Go 搭了一条 AI Agent 流水线:从 1 张商品图到一整套淘宝详情页
前端·javascript·后端