一个关于CSS in JS方法的很棒的集合
- fela - 通用的、动态的、高性能的JavaScript样式
- styled-jss - 在JSS上有样式的组件
- react-jss - 在react中集成jss
- jss - JSS是一种CSS创作工具,它使用JavaScript作为宿主语言
- rockey - 使用js的组件的Stressless CS. 编写基于组件的CSS和功能混合.
- styled-components - 通用的、动态的、高性能的JavaScript样式
- aphrodite - 它是内联样式,但他们工作!还支持通过CSS样式化
- csx - ϟ 一个cssin - js解决方案,用于功能性UI组件的功能性CSS
- styled-jsx - 完整的CSS对JSX的支持
- glam - 在你的js中使用疯狂的css
- glamor - 在你的js中使用css
- glamorous - 通过优雅的API、小的足迹和出色的性能(通过glamor)来解决组件样式的问题
- styletron - ⚡️ 通用、高性能JavaScript风格
- radium - 在react元素上用于管理内联样式的工具集
- aesthetic - Aesthetic是用于样式组件的强大的react库,无论是使用对象的cssin - js,导入样式表,还是仅仅引用外部类名。
- j2c - CSS在JS库中,小巧而又有特点
注释表还没有完成。如果有bug或需要添加另一个库,请建议PR。
如何阅读表格:
As Object - 当使用对象声明CSS时。
{
color: 'red',
}
As TL - 当使用模板文本声明CSS时。
`
color: red;
`
SSR - 服务端渲染。
RN Support - React Native支持。
Agnostic - 框架不可知的。 意味着这个库可以用于任何框架。
Dynamic - 当可以编写依赖于运行时值的CSS时,就像组件道具一样。
{
color: props => props.color
}
props => ({
color: props.color
})
`
color: ${props => props.color}
`
Babel plugins - 如果有任何用于性能优化的babel插件。
Bindings - 如果有为另一个框架或库提供绑定的包。
Package | As Object | As TL | SSR | RN Support | Agnostic | Dynamic | Babel plugins | Bindings |
---|---|---|---|---|---|---|---|---|
fela | ✅ | ✅ | ✅ | ✅ | ✅ | react-fela native-fela preact-fela inferno-fela | ||
jss | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | react-jss styled-jss | |
rockey | ✅ | ✅ | ✅ | rockey-react | ||||
styled-components | ✅ | ✅ | ✅ | ✅ | ✅ | |||
aphrodite | ✅ | ✅ | ✅ | |||||
csx | ✅ | ✅ | ✅ | |||||
glam | ✅ | ✅ | ✅ | ✅ | ||||
glamor | ✅ | ✅ | ✅ | ✅ | ||||
glamorous | ✅ | ✅ | ✅ | ✅ | ||||
styletron | ✅ | ✅ | ✅ | ✅ | styletron-react | |||
aesthetic | ✅ | ✅ | ||||||
j2c | ✅ | ✅ | ✅ |
- A Unified Styling Language - 为什么在JavaScript中写你的样式并不是一个可怕的想法,为什么我认为你应该关注这个快速发展的空间。
- Is CSS-in-JS really bad for UX? - CSS在JS性能方面的影响——JS开发人员过于专注于DX,而忘记了用户体验的重要性。
- I swore never to use CSS in JS, here are 6 reasons why I was wrong- “当我第一次听说这个想法的时候,我震惊了……”但这里有6个原因,为什么它有用。
- Journey to Enjoyable, Maintainable Styling with React, ITCSS, and CSS-in-JS - 用更好的CSS /带有组件/ JavaScript和最终的方法,使用ITCSS和Aphrodite
- Rockey. Motivation and Requirements - 关于JS方法中的CSS需求和在JS库中开发另一个CSS的动机——rockey。
- CSS in JS: The Argument Refined
- Inline Styles are so 2016
- “Scale” FUD and Style Components
- JSS is a better abstraction over CSS
- A 5-minute Intro to Styled Components
- Styled Components: Enforcing Best Practices In Component-Based Systems
- 💅 styled components 💅 — Production Patterns
- Introducing glamorous 💄
- Styling React/ReactNative Applications - Max Stoiber at React Amsterdam
- CSS in JS tech chat with Kent C. Dodds and Sarah Drasner
- CSS in JS without Compromise by François de Campredon at react-europe 2016
- Glamorous Walkthrough by Kent C. Dodds
- ColdFront16 • Glenn Maddern: The Future of Reusable CSS
- Ryan's Random Thoughts on Inline Styles by Ryan Florence
- tuchk4/css-in-js-app - 使用不同的cssin - js方法和库进行应用。
- A-gambit/CSS-IN-JS-Benchmarks RESULTS.md
- hellofresh/css-in-js-perf-tests - CSS-in-JS性能测试
- jsperf: jss-vs-css
- jsperf: classes vs inline styles
- MicheleBertoli/css-in-js React: CSS in JS 技术比较。