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

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

相关推荐
不听话坏1 小时前
Ignition篇(下 一) 动态执行前的事情
开发语言·前端·javascript
likeyi071 小时前
require 和 import的区别
开发语言·前端
pany2 小时前
做 AI 友好的开源 Vue3 模板 🌈
前端·vue.js·ai编程
小二·2 小时前
React 19 + Next.js 15 现代前端开发实战:App Router / Server Components / 流式渲染
前端·javascript·react.js
谙忆10243 小时前
前端图片直传对象存储:OSS/S3 预签名 URL、STS 临时凭证与回调校验
前端
CHNE_TAO_EMSM4 小时前
Android studio 打开文件时自动下载源码
前端·javascript·android studio
一孤程5 小时前
Airtest自动化测试第五篇:小程序与Web测试——跨平台自动化全覆盖
前端·自动化测试·小程序·自动化·测试·airtest
IT_陈寒5 小时前
SpringBoot自动配置不是你以为的那样的智能
前端·人工智能·后端
yume_sibai6 小时前
大屏数据可视化 - 边框红绿呼吸灯实现详解
前端·信息可视化·typescript
Hyyy6 小时前
很多Desktop都在上的Computer Use是什么
前端·llm