# 背景滤镜——视觉的多彩世界


## 概述

平面设计大师们常说：**层次感来自对比**。

颜色深浅的对比、虚实之间的对比、清晰和模糊的对比——这些对比让页面有了深度和节奏。

Tailwind 提供了一整套背景和滤镜工具，让你能用工具类快速制造视觉层次。

## 纯色背景

```html
<div class="bg-white">纯白背景</div>
<div class="bg-gray-50">浅灰背景，常用作区块底色</div>
<div class="bg-blue-600 text-white">深色品牌背景，文字需用白色</div>
```

## 渐变

### 方向

渐变的写法是 `bg-gradient-to-{方向}`，配合 `from-{色}`、`via-{色}`、`to-{色}`：

```html
<div class="h-32 bg-gradient-to-r from-blue-500 to-purple-600">
  从蓝到紫的从左到右渐变
</div>

<div class="h-32 bg-gradient-to-br from-cyan-500 via-blue-500 to-purple-600">
  从青到蓝到紫的对角线渐变
</div>

<div class="h-32 bg-gradient-to-t from-blue-500 to-transparent">
  底部蓝色渐变到透明，常用于图片底部遮罩
</div>
```

| 方向类名 | 渐变方向 |
|----------|----------|
| `bg-gradient-to-t` | 从下到上 |
| `bg-gradient-to-r` | 从左到右 |
| `bg-gradient-to-b` | 从上到下 |
| `bg-gradient-to-l` | 从右到左 |
| `bg-gradient-to-tr` | 从下到右上 |
| `bg-gradient-to-bl` | 从右上到左下 |

![](images/06-gradients.svg)

### 常用配色组合

```html
<!-- 科技感 -->
<div class="bg-gradient-to-r from-cyan-500 to-blue-600"></div>

<!-- 温暖感 -->
<div class="bg-gradient-to-r from-orange-500 to-pink-500"></div>

<!-- 优雅感 -->
<div class="bg-gradient-to-r from-violet-500 to-fuchsia-500"></div>

<!-- 自然感 -->
<div class="bg-gradient-to-r from-emerald-500 to-teal-500"></div>
```

> [!tip] 技巧
> 渐变和按钮、页头搭配效果最好。不要大面积使用饱和度高的渐变，容易引起视觉疲劳。

## 滤镜

滤镜是给元素加视觉效果，比如模糊、亮度、对比度。

### 模糊

```html
<img class="blur-none" src="photo.jpg" />     <!-- 清晰 -->
<img class="blur-sm" src="photo.jpg" />        <!-- 稍微模糊 -->
<img class="blur-md" src="photo.jpg" />         <!-- 中等模糊 -->
<img class="blur-lg" src="photo.jpg" />         <!-- 大模糊 -->
<img class="blur-2xl" src="photo.jpg" />        <!-- 非常模糊，用于背景图 -->
```

模糊最常见的用法：**给背景图加模糊，上面显示文字**：

```html
<div class="relative overflow-hidden rounded-2xl">
  <img class="absolute inset-0 w-full h-full object-cover blur-sm" src="bg.jpg" />
  <div class="relative z-10 p-12 text-center text-white">
    <h2 class="text-3xl font-bold">内容标题</h2>
    <p class="mt-4">背景让文字可读，又保留了视觉氛围。</p>
  </div>
</div>
```

### 亮度

```html
<img class="brightness-100" src="photo.jpg" />  <!-- 原图 -->
<img class="brightness-75" src="photo.jpg" />   <!-- 变暗 -->
<img class="brightness-125" src="photo.jpg" />  <!-- 变亮 -->
<img class="brightness-50 hover:brightness-100" src="photo.jpg" />  <!-- 悬停变亮 -->
```

### 对比度、灰度、饱和度

```html
<!-- 灰度图，像黑白照片 -->
<img class="grayscale" src="photo.jpg" />

<!-- 悬停恢复彩色，常用于团队成员头像 -->
<img class="grayscale hover:grayscale-0 transition duration-300" src="avatar.jpg" />

<!-- 高饱和度，更鲜艳 -->
<img class="saturate-150" src="photo.jpg" />

<!-- 老照片效果 -->
<img class="sepia" src="photo.jpg" />
```

## 毛玻璃效果

毛玻璃（backdrop filter）是 CSS 中非常出效果的一个特性——它模糊的是元素**后面**的内容，而不是元素本身。

```html
<div class="fixed top-0 inset-x-0 bg-white/70 backdrop-blur-lg border-b border-white/20">
  半透明毛玻璃导航栏
</div>
```

关键点：

1. `bg-white/70` —— 半透明白色背景
2. `backdrop-blur-lg` —— 对后面的内容做模糊
3. `border-white/20` —— 半透明边框增加光泽感

这种效果在苹果的 iOS/macOS 中随处可见，用来做导航栏、浮层、侧边栏效果很好：

![](images/06-backdrop-blur.svg)

```html
<!-- 毛玻璃卡片 -->
<div class="bg-white/80 backdrop-blur-md rounded-2xl shadow-xl p-8">
  <h2 class="text-xl font-bold">毛玻璃卡片</h2>
  <p class="mt-2 text-gray-600">透过半透明背景，可以看到后面的颜色或图片。</p>
</div>

<!-- 毛玻璃导航栏（深色背景版） -->
<nav class="fixed top-0 inset-x-0 bg-black/30 backdrop-blur-md text-white z-50">
  <div class="max-w-5xl mx-auto flex items-center justify-between px-6 h-16">
    <span class="font-bold">Logo</span>
    <div class="flex gap-6">导航链接</div>
  </div>
</nav>
```

## 背景图片

```html
<!-- 内联样式 -->
<div class="bg-cover bg-center" style="background-image: url('hero.jpg')">
  <!-- 内容 -->
</div>

<!-- 通过配置复用（v4 CSS-first） -->
```

背景图片的常见辅助类：

| 类名 | 效果 |
|------|------|
| `bg-cover` | 图片覆盖整个容器 |
| `bg-contain` | 图片完整显示在容器内 |
| `bg-center` / `bg-top` | 图片对齐位置 |
| `bg-no-repeat` | 不重复平铺 |

## 实战：升级产品页的视觉效果

```html
<!DOCTYPE html>
<html lang="zh-CN">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>星光科技 · 智能灯</title>
  <script src="https://unpkg.com/@tailwindcss/browser@4"></script>
</head>
<body>
  <!-- 毛玻璃导航栏 -->
  <nav class="fixed top-0 inset-x-0 bg-white/70 backdrop-blur-md border-b border-gray-100/50 z-50">
    <div class="max-w-5xl mx-auto flex items-center justify-between px-6 h-16">
      <span class="text-xl font-bold text-gray-900">星光科技</span>
      <div class="flex gap-8 text-gray-600">
        <a href="#" class="hover:text-gray-900">产品</a>
        <a href="#" class="hover:text-gray-900">特性</a>
        <a href="#" class="hover:text-gray-900">用户评价</a>
        <a href="#" class="hover:text-gray-900">联系我们</a>
      </div>
    </div>
  </nav>

  <main class="max-w-5xl mx-auto px-6 pt-32 pb-16">
    <!-- Hero 区域 + 渐变背景 -->
    <div class="bg-gradient-to-br from-blue-50 via-white to-purple-50 rounded-3xl p-16 text-center">
      <h1 class="text-5xl font-extrabold text-gray-900 tracking-tight">
        智能台灯 <span class="text-transparent bg-clip-text bg-gradient-to-r from-blue-600 to-purple-600">Lumina</span>
      </h1>
      <p class="mt-6 text-xl text-gray-500 leading-relaxed max-w-2xl mx-auto">
        光线随你而变。一盏懂你的台灯。
      </p>
      <button class="mt-8 px-8 py-4 bg-gradient-to-r from-blue-600 to-purple-600 text-white text-lg font-semibold rounded-xl shadow-lg shadow-blue-600/30 hover:shadow-xl hover:shadow-blue-600/40 transition-shadow">
        立即购买
      </button>
    </div>

    <!-- 特性卡片 -->
    <section class="mt-32">
      <h2 class="text-3xl font-bold text-gray-900 text-center">为什么选择 Lumina</h2>
      <div class="mt-12 grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-8">
        <div class="p-6 bg-white/80 backdrop-blur-sm rounded-2xl border border-gray-100 shadow-md hover:shadow-lg">
          <div class="w-12 h-12 bg-gradient-to-br from-blue-100 to-blue-50 rounded-xl flex items-center justify-center">
            <span class="text-2xl">🧠</span>
          </div>
          <h3 class="mt-4 text-xl font-semibold text-gray-900">AI 调光</h3>
          <p class="mt-2 text-gray-500 leading-relaxed">内置传感器实时感知环境光线，自动调整亮度和色温。</p>
        </div>

        <div class="p-6 bg-white/80 backdrop-blur-sm rounded-2xl border border-gray-100 shadow-md hover:shadow-lg">
          <div class="w-12 h-12 bg-gradient-to-br from-green-100 to-green-50 rounded-xl flex items-center justify-center">
            <span class="text-2xl">👁️</span>
          </div>
          <h3 class="mt-4 text-xl font-semibold text-gray-900">护眼模式</h3>
          <p class="mt-2 text-gray-500 leading-relaxed">无频闪、低蓝光，通过德国莱茵 TÜV 护眼认证。</p>
        </div>

        <div class="p-6 bg-white/80 backdrop-blur-sm rounded-2xl border border-gray-100 shadow-md hover:shadow-lg">
          <div class="w-12 h-12 bg-gradient-to-br from-purple-100 to-purple-50 rounded-xl flex items-center justify-center">
            <span class="text-2xl">🎤</span>
          </div>
          <h3 class="mt-4 text-xl font-semibold text-gray-900">语音控制</h3>
          <p class="mt-2 text-gray-500 leading-relaxed">支持 Siri、小爱同学、Google Assistant 语音指令。</p>
        </div>
      </div>
    </section>

    <!-- 用户评价 -->
    <section class="mt-32">
      <h2 class="text-3xl font-bold text-gray-900 text-center">用户评价</h2>
      <div class="mt-12 divide-y divide-gray-100">
        <div class="py-6 flex gap-4">
          <img class="w-12 h-12 rounded-full grayscale hover:grayscale-0 transition duration-300" src="https://i.pravatar.cc/48?img=1" alt="用户" />
          <div>
            <p class="font-semibold text-gray-900">设计师小王</p>
            <p class="mt-1 text-gray-500">"用了两周，眼睛舒服多了。AI 调光真的很智能。"</p>
          </div>
        </div>
        <div class="py-6 flex gap-4">
          <img class="w-12 h-12 rounded-full grayscale hover:grayscale-0 transition duration-300" src="https://i.pravatar.cc/48?img=2" alt="用户" />
          <div>
            <p class="font-semibold text-gray-900">程序员大刘</p>
            <p class="mt-1 text-gray-500">"晚上写代码的时候，灯光会自动变暖，不刺眼。"</p>
          </div>
        </div>
        <div class="py-6 flex gap-4">
          <img class="w-12 h-12 rounded-full grayscale hover:grayscale-0 transition duration-300" src="https://i.pravatar.cc/48?img=3" alt="用户" />
          <div>
            <p class="font-semibold text-gray-900">学生小林</p>
            <p class="mt-1 text-gray-500">"期末复习全靠它了，灯光可以跟着时间变化。"</p>
          </div>
        </div>
      </div>
    </section>

    <footer class="mt-32 pt-8 border-t border-gray-100 flex items-center justify-between text-sm text-gray-400">
      <span>&copy; 2026 星光科技</span>
      <div class="flex gap-6">
        <a href="#" class="hover:text-gray-600">隐私政策</a>
        <a href="#" class="hover:text-gray-600">服务条款</a>
      </div>
    </footer>
  </main>
</body>
</html>
```

这一版的变化：

- Hero 区域加了 `bg-gradient-to-br from-blue-50 via-white to-purple-50` 的渐变背景
- 品牌名 "Lumina" 用 `text-transparent bg-clip-text bg-gradient-to-r from-blue-600 to-purple-600` 实现渐变文字
- 按钮也从纯色改为渐变 `from-blue-600 to-purple-600`
- 导航栏加了 `bg-white/70 backdrop-blur-md` 实现毛玻璃效果
- 卡片图标背景改为渐变
- 用户头像 `grayscale hover:grayscale-0` 鼠标悬停从黑白变彩色

> [!summary] 本章小结
> - 渐变用 `bg-gradient-to-{方向} from-{色} to-{色}`，三个要素缺一不可
> - 毛玻璃用 `backdrop-blur-*` + 透明背景色，适合导航栏和浮层
> - 滤镜 `blur-*`、`grayscale`、`brightness-*` 控制元素自身外观
> - 渐变文字用 `text-transparent bg-clip-text bg-gradient-to-*`

---

页面视觉已经很丰富了。下一篇我们让它**动起来**——添加过渡和动画效果。


---

> 作者: Aphros  
> URL: https://blog.papergate.top/posts/06.%E8%83%8C%E6%99%AF%E6%BB%A4%E9%95%9C%E8%A7%86%E8%A7%89%E7%9A%84%E5%A4%9A%E5%BD%A9%E4%B8%96%E7%95%8C/  

