深色背景白字发虚需用双层text-shadow:首层0 0 0 rgba(0,0,0,0.5)压实边缘,次层0.5px 0.5px 0.5px rgba(0,0,0,0.15)造纵深,参数顺序必须为h-offset v-offset blur-radius color,且逗号分隔。

深色背景上白字发虚、边缘融进背景?不是阴影加得不够,而是加错了参数顺序和层次结构。
text-shadow 参数顺序写错就完全失效
浏览器只认固定顺序:h-offset v-offset blur-radius color。写成 text-shadow: rgba(0,0,0,0.3) 1px 1px 2px 这种,整条声明会被忽略——你根本看不到任何效果。
- 水平偏移为正:阴影往右;负:往左
- 垂直偏移为正:阴影往下;负:往上
-
blur-radius建议显式写出,不写默认是0(硬边),小字号时容易割裂感强 - 颜色务必用
rgba(),比如rgba(0,0,0,0.6),纯黑#000在深色背景上反而“压字”
单层阴影在深色背景上基本没用
只写 1px 1px 2px rgba(0,0,0,0.8) 这类常见组合,对可读性提升有限:它只是把字往下右拖了一点,没解决边缘模糊、轮廓不清的核心问题。
- 真正有效的组合是两层:
0 0 0 rgba(0,0,0,0.6)(压实文字边缘) +1px 1px 1px rgba(0,0,0,0.2)(制造轻微纵深) - 必须用逗号分隔,漏掉逗号就只剩第一层
- 三层及以上渲染负担明显上升,且在移动端易触发重绘卡顿
小字号文字慎用模糊半径 >1px
14px 以下的正文或按钮文字,blur-radius 超过 1px 就容易让字变糊,尤其在高 PPI 屏幕上更明显。
- 推荐搭配:
0 0 0 rgba(0,0,0,0.5)+0.5px 0.5px 0.5px rgba(0,0,0,0.15) - 单位建议用
px或相对单位如em(如0.05em),避免在缩放时失衡 - 别依赖
text-shadow替代对比度达标——WCAG 要求文字与背景对比度 ≥ 4.5:1,阴影只是辅助手段
最容易被忽略的是:阴影效果在不同缩放比例、不同设备像素比下表现差异极大。上线前务必在 100%、125%、150% 缩放下分别验证,特别是 macOS 的 Retina 屏和 Windows 的高 DPI 设置。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











