CSS 彩色文字
样式所有处理都在浏览器本地完成,数据不上传服务器
彩虹字的标准做法是 `background-clip: text`:把一段渐变铺在文字底下,再裁成文字的形状。 三层声明缺一不可,而少任何一条的表现都是「看起来完全没生效」:`background-image` 是那条渐变;`background-clip: text`(连同 `-webkit-` 前缀)把背景裁成文字形状;`color: transparent` 让原来的字色让位。少第二条会看到一块矩形渐变压在字上,少第三条则会看到渐变被字色完全盖住。 为什么不是「每个字一个颜色」? 逐字着色要往文字里插 `<span>`,也就是改 HTML 结构 —— 而这类工具的契约是「交出一段 CSS」,预览的文字由页面写入,模块拿不到也不该拿到 DOM。`background-clip: text` 恰好是这个需求的标准答案,顺带还带来一个好处:产物是一段 CSS 加一个类名,粘到任何标题上都行,而插 span 的做法一改文案就得重做。 ⚠️ 文字必须留在元素自己身上:`background-clip` 裁剪的是这个元素的背景,子元素里的文字不在裁剪范围内。所以别写成 `<h1 class="rainbow-text"><span>标题</span></h1>`。
功能
- 彩虹渐变裁进文字形状(`background-clip: text`),产物只有一段 CSS
- 色带数量 2–12 可调,停靠点写出百分比,位置是确定的
- 方向可选左到右、上到下、斜向 135°、右到左
- 饱和度与亮度可调,浅底与深底都能找到合适的档
- 同时给出 `-webkit-` 前缀的声明,Safari 与旧版 Chrome 上也显示
- 预览区实时显示,满意后再复制
- 产物带 `.rainbow-text` 选择器,粘进样式表即可用
- 全部在浏览器本地计算,输入的文字不上传
使用方法
- 在上面的输入框里打几个字
- 选渐变方向与色带数量
- 调饱和度与亮度,直到深浅合适
- 复制 CSS,贴到你的标题上
常见问题
- 为什么我看到的是「一块矩形色块压着字」,或者「字干脆看不见了」?
- 这两种都是缺声明造成的,而且原因正好相反。看到矩形色块说明背景没有被裁成文字形状 —— 少了 `background-clip` 那一条(记得带上 `-webkit-` 前缀那份,Safari 与旧版 Chrome 只认它)。字完全看不见说明字色没让位 —— 少了 `color: transparent`,于是不透明的字色盖在渐变上,看起来就是一片空白。上面给出的完整规则里这几条都在。
- 为什么不给每个字单独上色?
- 逐字着色必须往文字里插 `<span>` 包裹每一个字,也就是修改 HTML 结构。而这类工具的产物是一段 CSS:预览区的文字由页面用 `textContent` 写入,模块拿不到也不该拿到 DOM。`background-clip: text` 是这个需求的标准答案,而且产物更耐用 —— 一段 CSS 加一个类名粘到任何标题上都行,插 span 的做法一改文案(或者内容来自后台)就得重做一遍。
- 我把文字包在 span 里,颜色就没了?
- 对,文字必须直接留在带这个类的元素里。`background-clip: text` 裁剪的是这个元素自己的背景,子元素里的文字不在裁剪范围内,于是那部分文字照常显示自己的字色(`color: transparent` 也传不下去,因为它是承袭的但被裁掉的是父元素的背景)。所以 `<h1 class="rainbow-text">标题</h1>` 是对的,里面再套一层 `<span>` 就不对了。
相关工具
霓虹灯文字
样式调颜色与强度,实时预览霓虹灯文字效果并复制 CSS。多层 text-shadow 叠出光晕,预览区配深色底。
故障文字效果
样式调颜色与强度,实时预览故障文字(glitch)效果并复制 CSS。两份错位的副本配裁剪条带,含 data-text 的写法说明。
CSS 渐变生成器
样式调角度、颜色与形状,实时预览渐变效果,一键复制 CSS。支持线性、径向与锥形三种渐变,可选中间色标。
CSS 圆角生成器
样式调四个角的圆角值,实时预览并复制 CSS。支持 px、rem 与百分比 —— 百分比在非正方形盒子上是椭圆,预览区里一眼就能看出来。
毛玻璃效果生成器
样式调模糊、透明度、饱和度与边框,实时预览毛玻璃效果并复制 CSS。代码含 -webkit- 前缀,iOS 上也能真的出现模糊。
新拟态效果生成器
样式调距离、模糊、强度与凹凸方向,实时预览新拟态(柔和 UI)效果并复制 CSS。两个阴影色由底色算出,色相保持不变。