两步前进,一步后退

Avatar of Chris Coyier
Chris Coyier

DigitalOcean 为您旅程的每个阶段提供云产品。 立即开始使用 200 美元的免费额度!

Brent Jackson 说 CSS 实用程序库在某种程度上失败了

最终,您需要添加一些实用程序库无法涵盖的单次样式,并且并不总有一种清晰的方法来扩展您正在使用的内容。 如果没有一种明确的方法来处理此类问题,开发人员往往会添加不一致的 hack 和追加样式。

我感觉 Tailwind 的人会不同意。 我在这里没有特别的意见,我只是注意到 Tailwind 似乎拥有比早期 Basscss/Tachyons 更加狂热的粉丝群。

Brent 接着说 CSS-in-JS 解决了相同的问题,但以一种更好的方式

CSS-in-JS 库以一种**更好**的方式帮助解决了基于实用程序的 CSS 方法所关注的许多相同问题(以及更多问题)。 它们将样式直接连接到元素,而无需命名事物或在类选择器中创建抽象。 它们通过封装和哈希类名避免了追加样式表。 这些库与现有的构建工具一起工作,允许代码拆分、延迟加载和死代码消除,几乎无需任何努力,并且它们不需要 Sass 或 PostCSS 等其他工具。 许多库还包括 CSS 性能优化,例如**关键 CSS**,默认情况下启用,因此开发人员不需要其他工具甚至不需要考虑它们。

难怪人们对此赞不绝口。

一步后退是指 CSS-in-JS 更开放,并且没有像以前那样鼓励一致性。 我不确定这一点。 似乎如果您已经以组件为基础的方式构建,那么一致性就会随之而来,甚至在使用设计 token 等之前——CSS-in-JS 方法也鼓励这样做。

直接链接 →