CodeKitHub
CSS 工具

CSS 背景图案生成器

最后更新:

这个工具只用 CSS 渐变就能生成可平铺的重复背景图案——完全不需要图片文件。选择波点、斜条纹、棋盘格或网格线,调整颜色和间距,然后直接把 background-image 的 CSS 代码复制到你的样式表里。

预览

生成的 CSS

工具介绍

CSS 可以完全不依赖图片文件,单靠渐变——radial-gradient() 和 linear-gradient()——画出重复图案:把渐变用作 background-image,再配合一个比元素本身小的 background-size,让渐变以平铺方式重复出现。波点用的是重复的 radial-gradient,条纹和棋盘格用重复或叠加的 linear-gradient(),网格线则用两条互相叠加的 linear-gradient() 直线。

这个工具会帮你生成这些渐变声明。选一种图案类型,调整图案颜色、背景颜色和间距,实时预览会同步更新——然后复制精确的 background-image 和 background-size CSS 代码。

来源:CSS Images Module Level 3, W3C —— 定义了 repeating-linear-gradient() 和 repeating-radial-gradient(),这些图案正是基于这两个函数构建的。

为什么使用它?

  • 不需要图片文件,不产生 HTTP 请求——图案是纯 CSS,在任何分辨率下都能立即渲染,包括视网膜/高分屏。
  • 颜色和间距完全可调,不用手写渐变语法,也不用自己计算平铺数学。
  • 实时预览让你在复制代码之前就能看到精确的重复图案效果。
  • 因为是矢量数学计算而不是位图图片,缩放时不会模糊,可以干净地适应各种尺寸。
  • 全部在浏览器本地计算,你调整的任何参数都不会上传。
  • 免费、不用注册,手机上也能用。

使用方法

  1. 选择图案类型:波点、斜条纹、棋盘格或网格线。
  2. 选择图案颜色,以及图案形状之间/背后显示的背景颜色。
  3. 调整尺寸滑块,让圆点、条纹或网格单元变大或变小——这同时也控制了图案重复的密度。
  4. 复制生成的 CSS,粘贴为任意元素的 background-image(以及显示出来的 background-size/background-position)。

示例

输入

图案:波点 · 颜色:蓝色 · 背景:白色 · 尺寸:24px

输出

background-color: #ffffff;
background-image: radial-gradient(rgba(59, 130, 246, 1) 3px, transparent 3px);
background-size: 24px 24px;
background-position: 0 0;

一种经典的浅色波点图案,常用作低调的区块背景或卡片纹理。

每种图案是怎么做出来的

  • 波点:一个 radial-gradient() 画出一个填色小圆,再用 background-size 让它以网格方式重复平铺成一片圆点。
  • 斜条纹:一个 45 度角的 repeating-linear-gradient() 按固定间隔在图案颜色和背景颜色之间交替。
  • 棋盘格:两层 45 度角的 linear-gradient(),互相错开半格,叠加在一起就产生了交替出现的深浅方块。
  • 网格线:两条细细的 linear-gradient() 直线——一条水平、一条垂直——按选定的间距平铺,组成一个类似方格纸的网格。

什么时候该用 CSS 图案而不是图片文件

CSS 渐变图案没有文件体积,也不产生 HTTP 请求,所以加载是瞬间完成的,在高分屏上也不会像光栅 PNG 背景平铺图那样显得模糊。它非常适合用作文字背后的低调纹理、区块分隔线、空状态插画或占位卡片。对于复杂的插画或照片类图案,真正的图片文件仍然是正确的选择——CSS 渐变最适合的是像这里这些简单、几何、重复的形状。

配合其他 CSS 效果一起用

图案很适合作为玻璃拟态卡片的背景,因为模糊效果需要背后有视觉纹理才能被看出来。它们也很适合搭配容器元素的圆角一起使用。

CSS 玻璃拟态生成器 · 圆角生成器

常见问题

这些图案需要任何图片文件吗?

不需要。这里的每种图案都是纯粹用 CSS 渐变作为 background-image 生成的——不涉及任何 PNG、SVG 或其他文件,所以不会产生额外的 HTTP 请求,在高分辨率屏幕上也不会有模糊的风险。

我可以改变图案的大小吗?

可以——尺寸滑块控制的是 background-size,决定了图案重复平铺一个单元的大小。数值越小,圆点、条纹或网格单元就排得越密;数值越大,它们就分布得越开。

为什么棋盘格图案要用两层渐变?

单独一个 linear-gradient() 只能沿一个方向交替颜色。把两层 45 度渐变叠加起来,并互相错开半格,才能产生棋盘格那种交替出现的深浅方块——这是纯 CSS 实现棋盘格的标准技巧。

这种图案在视网膜/高分屏上看起来清晰吗?

是的。因为图案是数学计算出的渐变,而不是位图图片,所以会按屏幕所需的任意分辨率渲染,不存在放大或模糊——这一点和被拉伸或在高像素密度下重复的小型光栅图片不同。

我可以把这种图案用作整页背景吗?

可以——把生成的 background-image、background-size 和(如果有的话)background-position 应用到 body 或任意全宽容器元素上。要注意对比度:一个花哨、高对比度的图案放在正文文字背后会影响可读性,所以大面积背景区域通常更适合用较浅、更含蓄的设置。

相关工具