项目加了 UnoCSS 以后,Element Plus 或其他组件库的按钮背景突然变透明。先用 DevTools 选中按钮,看 background-color 最后由哪条规则决定。
确认是 reset 覆盖
如果入口引入了 @unocss/reset/tailwind.css,其中的 Preflight 可能对原生按钮设置透明背景。先在 Computed 面板确认来源,再从全局入口改,避免给每个按钮补样式。
- import '@unocss/reset/tailwind.css'
+ import '@unocss/reset/tailwind-compat.css'
兼容版保留大部分 Tailwind reset,去掉按钮的透明背景覆盖。这是 UnoCSS 针对组件库冲突提供的入口。原笔记的替换前后曾误写成同一个文件,上面是修正后的写法。
改完怎么确认
- 全局搜
@unocss/reset,确认布局或插件没有再加载一遍原版。 - 检查普通、主色和禁用三类按钮,核对实际背景与 Computed 面板里的来源。
- 只在生产环境复现时,查看打包后的 CSS 顺序与层级,留意组件库是否在运行时注入样式。
如果项目已有自己的基础样式,也可以移除这个 reset,再检查表单、标题和列表。