Moving away from Tailwind, and learning to structure my CSS
687 points • 3 days agoArticle Link

Julia Evans 最近将她的多个网站从 Tailwind CSS 迁回原生 CSS,这个过程让她既愉快又收获颇丰。使用 Tailwind 八年后,她意识到尽管它最初帮她摆脱了无结构 CSS 的混乱,但她已经超越了它的局限。她发现 Tailwind 其实教会了她如何系统化地管理调色板、字体比例等设计要素,于是决定把这些方法带入新的做法中。

为了在没有框架的情况下管理 CSS,Evans 采用了受 React 等 JavaScript 框架启发的组件化结构。每个组件都有独立的 CSS 文件和唯一的类名,确保一个元素的样式不会意外覆盖另一个。这样的隔离让维护变得更容易:修改时只需关注小而自包含的代码块。她还为全局元素制定了严格的约定,比如把调色板集中用变量定义,以及只保留一套有限的基础样式以维持全站一致性。

她工作流程中的一个重大技术转变是从依赖媒体查询的响应式设计,转向使用 CSS Grid 。借助 auto-fit 和 grid-template-areas 等特性,她可以构建能适应不同屏幕尺寸的灵活布局,避免了大量断点带来的杂乱。她还简化了构建流程:开发时依赖原生 CSS 特性如 @import 和嵌套选择器,仅在生产打包时使用 esbuild,从而保持标准化并提高效率。

Evans 解释说她离开 Tailwind 的决定既有现实层面的考虑,也有理念上的原因。现实上,Tailwind 的新版本需要构建系统,这使她多年来不得不依赖一个过时且笨重的版本;此外,在同一项目中混用原生 CSS 与 Tailwind 也难以维护。理念上,她想远离那种贬低 CSS 专业性的趋势——她认为 CSS 是一门强大且复杂的技术,值得被学习和尊重,而不应被实用类所取代。

391 comments • Comments Link

我已准备就绪。请提供一篇 Hacker News 讨论帖的要点,我会按您指定的格式生成简洁摘要。