之前做了一个需要兼容低版本浏览器的业务需求,目标是 Chrome 84。这个版本恰好开始支持 Flex Gap,倒是为 UI 还原省了不少事。
但项目使用的是 UnoCSS 的 Tailwind v4 预设,对浏览器版本的要求比较高。它用到了 @layer、新的颜色语法等现代 CSS 特性,涉及的地方很多,也很难全部通过 polyfill 补齐。
最后,我决定降回 Tailwind v3 预设,再补上一份 v4 原本自带、v3 中没有的 Tailwind reset 样式。这里一定要选 compat 版本,避免 reset 本身又引入兼容性问题。这样调整之后,低版本浏览器中的样式问题就基本解决了。