在 tailwind.config.js 的 theme.spacing 中直接添加键值对即可新增间距值,键名需合法(如 two-point-five)、值须带单位(如 '0.25rem'),不可写在 extend.spacing 内,且修改后需重启开发服务器。

spacing 配置项里怎么加新数值
直接在 tailwind.config.js 的 theme.spacing 里加键值对就行,不需要改其他地方。Tailwind 会自动把键名映射成类名前缀(比如 my-2.5 对应 2.5 这个值),但注意:键名必须是合法的 CSS 类名组成部分(不能含小数点、斜杠等),所以 2.5 得写成 two-point-five 或 xs 这类别名。
- 推荐用语义化别名,比如
quarter: '0.25rem',而不是直接塞数字字符串 - 如果想保留数字感又合法,可用
'1_5'表示1.5rem,生成类名是mt-1_5(下划线会被转成连字符) - 别覆盖默认的
px、0.5、1等,除非你明确要统一替换——否则容易让团队成员困惑
为什么自定义后 class 不生效
最常见原因是没重启开发服务器,或者配置写在了 module.exports = { theme: { extend: { spacing: { ... } } } } 之外的位置。Tailwind 只读 theme.spacing,不读 extend.spacing 里的新增项——extend 只能扩展现有键的值,不能加新键。
- 新增间距必须写在
theme.spacing下,不是extend.spacing - 确认配置文件路径正确,Vite / Next.js 等框架有时会默认找
tailwind.config.cjs而非.js - 检查控制台有没有
Invalid value for `theme.spacing`报错,通常是值不是字符串或带单位的数字(比如写了2.5而不是'2.5rem')
rem vs px vs em 在 spacing 里怎么选
用 rem 最稳妥。Tailwind 默认所有 spacing 单位都是 rem,它相对于根元素字体大小缩放,适配响应式和用户字号调整;px 容易在高 DPI 屏幕上模糊,em 相对于父元素,嵌套深了容易失控。
-
'2rem'是推荐写法,清晰且可预测 - 避免混用单位,比如同时写
'8px'和'2rem',会导致视觉节奏断裂 - 如果项目强制要求像素值(如设计稿严格按 px 标注),统一用
'8px'也行,但记得全局 font-size 不变的前提下,rem和px数值才等价
自定义 spacing 影响构建体积吗
几乎不影响。Tailwind 是按需生成 CSS,你加了 quarter 这个键,但没在代码里写 mt-quarter,它就不会出现在最终 CSS 里。不过要注意:键名越多,匹配类名时的正则开销略增,但日常几百个键完全无感。
- 别为了“以后可能用”提前加一堆未使用的间距键
- 如果用到动态类名(比如
class={\`m-\${size}\`}),确保size的取值范围被静态分析覆盖,否则可能漏生成 - 用
@apply封装时,引用的自定义 spacing 会正常解析,没问题
extend,以及重启不及时——改完 config 别忘了 Ctrl+C 再 npm run dev。前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











