text-shadow 是唯一正解,box-shadow 对文字无效;参数顺序必须为 h-offset v-offset blur-radius color,错序或缺省即失效;常见失效原因包括 overflow: hidden 裁剪、文字透明、字体过小导致发虚、背景与阴影色对比不足及高分屏渲染差异。

text-shadow 是唯一正解,别碰 box-shadow——后者对文字无效,只会让阴影错位或发虚。
text-shadow 参数顺序写错就完全不生效
浏览器对语法极其敏感:必须是 h-offset v-offset blur-radius color,缺一或错序整条声明被忽略,且不报错。
-
text-shadow: 2px 2px #000;✅(省略blur-radius,默认为 0) -
text-shadow: 2px 2px 4px rgba(0,0,0,0.3);✅(完整四参数) -
text-shadow: #000 2px 2px;❌(颜色提前,失效) -
text-shadow: 2px #000 2px;❌(顺序混乱,失效) -
text-shadow: 2px 2px 0;❌(没颜色,且0后无空格接颜色,等价于未定义)
写了却看不见?先查这四个地方
90% 的“没效果”不是语法问题,而是渲染被意外拦截:
将调研报告、方案对比、数据分析、需求梳理、会议纪要、设计说明、代码评审、学习笔记等任务产物输出为可在浏览器直接打开的单文件 HTML,替代 Markdown 作为最终交付物。Markdown 在信息密度、视觉清晰度和可分享性上已跟不上 AI 产物的丰富度,HTML 能同时承载排版、表格、SVG 等。
- 父容器设了
overflow: hidden,而阴影(尤其大blur-radius或负偏移)超出边界被裁掉 - 文字颜色是
color: transparent或rgba(0,0,0,0)——text-shadow依赖文字内容作为载体,没颜色就没阴影 - 用了
-webkit-font-smoothing: antialiased,在 macOS Safari 下会显著削弱阴影对比度 - 伪元素(如
::before)里用content插入文字,但忘了给该伪元素单独加text-shadow
小字号和中文加阴影容易糊成一团
12px 及以下字体加 >2px 的 blur-radius,视觉上会严重发虚,甚至影响可读性:
- 12px 及以下字体,建议
blur-radius控制在1px内 - 标题(≥32px)可用到
6px,但 iOS Safari 对 >12px 渲染不稳定,慎用 - 深色背景配浅色阴影:
text-shadow: 0 0 6px rgba(255,255,255,0.6); - 浅色背景配深色阴影:
text-shadow: 0 0 4px rgba(0,0,0,0.4); - 别用纯黑/纯白——
#000在深底上几乎不可见,#fff在白底上等于没写
真正麻烦的是同一组 text-shadow 值,在 Windows 高分屏和 macOS Retina 屏上视觉重量可能差一倍,得实机多测,不能只看开发机效果。










