SuperAPI AI 工具集

tailwind-errors-dynamic-classes

前端与建站

查看项目

更新于 10-15 22:18

技能介绍

本技能针对 Tailwind CSS 最常见问题:类名只在源码中以片段形式出现(如 bg-${color}-500、text-{{variant}}-600、服务端 JSON 或 CMS 属性)时,Tailwind 不会生成对应 CSS 规则,DOM 有 class 属性但样式表无规则,元素无样式。Tailwind 将源文件视为纯文本,不按代码解析,类名必须以完整字面 token 出现在被扫描文件中,v3 与 v4 均如此。开发环境可用是因打包器可能包含未清除的完整 Tailwind 输出,生产构建只扫描一次,缺失 token 的类会被移除。

按取值选择修复:取值限于已知集合用静态映射,如 variants 对象把每个类写成完整字符串;取值完全任意(用户取色器十六进制、CMS 长度)用内联 style;v3 项目类多但有限可用 tailwind.config.js 的 safelist,支持字面字符串与 pattern 正则,variant 必须写在 variants 数组而非正则内;v4 用 @source inline 指令,支持花括号展开与数值范围,如 @source inline("{hover:,focus:,}bg-{red,blue,green,amber,purple,pink,zinc}-{50,{100..900..100},950}"),可用 @source not inline 排除子集。若输入空间无界(用户手输 Tailwind 类名),应限制为固定白名单并预先 safelist,或改为设计令牌加内联样式,不可 safelist 全部工具类。

验证:生产构建后 grep 输出 CSS 检查目标选择器,逐一触发动态 prop 确认样式变化,清理 dev 缓存重启,并定期审计 safelist 是否与真实取值同步。更多实现细节见 references/methods.md、references/examples.md、references/anti-patterns.md。