ascoders / weekly

前端精读周刊。帮你理解最前沿、实用的技术。
28.41k stars 3.23k forks source link

精读《css-in-js 杀鸡用牛刀》 #38

Closed ascoders closed 6 years ago

ascoders commented 6 years ago

文章地址:https://codeburst.io/css-in-js-is-like-replacing-a-broken-screwdriver-with-your-favorite-hammer-c9765c9ee43b

文章提到,虽然 css 还有许多不足,但已经在改进中,并且提醒我们关注已经产生的 OOCSS, SMACSS, BEM, ITCSS, 和 ECSS 方案。同时 css-in-js 的模块化思维确实可取,但曲解了 css 本意,被抱怨的全局冲突问题,也是为了控制整站样式与切换主题。

也许 css-in-js 是一条误解 css 本意的道路,那么问题来了,显然 css 在初期(未来应该也是)被设计用来控制全局,那么就越来越复杂的 web 生态而言,是整体控制好呢,还是局部控制好?

DanielWLam commented 6 years ago

css in js在vue的实现就是scoped吧,react是怎样的?

ascoders commented 6 years ago

@DanielWLam css in js 通用方案热门可以看 css-modules,基于 react 的定制方案有 原生-内连样式 社区-styled-components,底层一点的有 cssx

更多可以参考:awesome-css-in-js

AlwaysHacking commented 6 years ago

css in js最早是react社区提出来的,vue的作者比较反对css in js这种行为,当然也要认可社区的活跃和创造性。 这篇文章说的是同样的主题,提到从书写代码便利性的角度反对css in js。