2018年你应知道的9个 Css 组件化的 JS 库

英文:Jonathan Saring

译文: 众成翻译/_小生_

zcfy.cc/article/9-css-in-js-libraries-you-should-know-in-2018-bits-and-pieces


一个特别有趣的概念是在CSS中使用JS将CSS抽象到组件级别本身,使用JavaScript以声明性和可维护的方式描述样式。所以,我们已经列出了一些有用的项目来开始。

您还可以阅读这个推荐的讨论 ,以帮助您做出正确的决定,这是一个非常酷的项目比较。让我们深入了解一下吧。


1. Styled components



在Australian Whisky bar 的一个想法变成了一个18K星的项目,在社区中被广泛采用。样式组件使得在React组件中使用CSS变得更加容易,方法是使用封装样式定义样式化组件,而不使用CSS类作为中介层。


通过使用ES6模板文字表示法定义组件来创建样式组件。可以根据需要将CSS属性添加到组件中,就像通常使用CSS一样。解析JS时,样式组件将生成唯一的类名,并将CSS注入DOM。您可以在Max Stoiber的精彩演讲中了解更多信息。


提示:Styled-components也可以与Bit组合,在应用程序之间共享它们并在可视化的游乐场中进行开发。看一看。

另请参阅:Wix-Eng的Stylable仍处于开发阶段。


2. Radium



在6.5K星,由FormidableLabs创建,Radium被定义为“React组件样式的工具链”。它是使用React而不使用CSS来管理内联样式的工具集。 Radium提供标准接口和抽象,用于处理内联样式无法轻松容纳的CSS功能。


Radium允许您将样式与React组件捆绑在一起,将javascript,html和样式结合在一起。它还提供基于道具的渲染,允许您根据应用的状态设置组件样式。


3. Aphrodite


视频:https://youtu.be/84VZ1BHMkUA


Aphrodite是一个与框架无关的CSS-in-JS库,支持服务器端渲染,浏览器前缀和最小的CSS生成。 Aphrodite将所有内容转换为类并使用class属性。

在4Kstars,这个项目有或没有React工作,都一并提供诸如注入风格的Dom,自动前缀样式等功能。


4. Emotion


在4.2K星级,Emotion是一个高性能且灵活的CSS-in-JS库,允许您使用字符串或对象样式设置应用程序样式。它具有可预测的组合,以避免CSS的特殊性问题。基于glam 库及其理念,我们的想法是通过使用babel和PostCSS解析样式来编写CSS时保持运行时性能。核心运行时为2.3kb,React支持为4kb。


5. Glamorous

注意:虽然该项目不再积极维护!但它还是很酷:)



在3.6K星级,PayPal的Glamorous面向构建“可恢复的CSS with React”,其灵感来自样式组件和jsxtyle。 Kent C. Dodds 将该项目定义为“ React组件样式通过优雅(灵感)API解决,占地面积小(小于5kb gzipped),以及出色的性能”。它具有与样式组件非常相似的API,并使用类似的工具。


6. Glamor



受到这场精彩演讲的启发,Glamour小而有效。它允许您使用相同的Object CSS语法在组件中编写内联CSS,React支持样式prop。它快速高效,独立于框架,服务器端/静态渲染,并添加了供应商前缀/后备值。这是一篇简短的 API docs 介绍,Glamour中CSS技术的比较和Gatsby Glamby的有用教程 。


还可以看看:Glam(仍在工作中)


7. Fela


<FelaComponent
  style={{
    backgroundColor: 'blue',
    color: 'red'
  }}
  render={({ className, theme }) => (
    <div>I am red on blue.</div>
  )}
/>


Fela是一个为JavaScript中的状态驱动样式构建的项目,强调了三件事:默认情况下使样式动态化,带来框架无关(React的绑定)和高性能。它是动态的设计,并根据您的应用程序状态呈现样式。它生成原子CSS并支持所有常见的CSS功能,如媒体查询,伪类,关键帧和字体。它可以与任何视图库一起使用,包括React native。您可以在此处阅读有关V6功能的更多信息。


8. Styletron



拥有2.5k stars,Styletron是“面向组件的样式工具包”。 Styletron支持无状态,单元素样式的组件作为基本样式,具有用于条件/动态样式的prop接口,以及通过(类型化)JavaScript对象组合的样式,无需额外工具(例如Webpack加载器,Babel插件等)。它对风格对象的形状也没有任何意见。您可以在这个有趣的 HN thread中了解更多信息。


9. JSS


JSS是CSS的抽象,它使用JavaScript以声明和可维护的方式描述样式。它是一个高性能的JS to CSS编译器,可在运行时和服务器端运行。这个核心库是低级别和框架不可知的,大约6KB(缩小和gzip压缩)。它也可以通过插件API进行扩展。这是一个很好的转换SCSS(Sass)的教程。还可以查看React-JSS,它是React的JSS集成。

感兴趣的小伙伴,可以关注公众号【grain先森】,回复关键词 “小程序”,获取更多资料,更多关键词玩法期待你的探索~

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,386评论 6 479
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,939评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,851评论 0 341
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,953评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,971评论 5 369
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,784评论 1 283
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,126评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,765评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,148评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,744评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,858评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,479评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,080评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,053评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,278评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,245评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,590评论 2 343

推荐阅读更多精彩内容

  • 用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金 Cover 有什么料? 从这篇文章中你...
    hw1212阅读 12,691评论 2 59
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 27,421评论 1 45
  • 临近年关,要回家了,又要到了团聚的时刻,这时候,亲朋好友、三姑六婆齐聚一堂,一年一度,那些经典的问题就要出现了……...
    青铜央央阅读 907评论 0 5
  • 哈喽,仰望太久会累,那就歪着脖子看,知趣才能有趣,熊猫宝宝道 :晚安
    冰凌紫涵圆阅读 195评论 0 0
  • 没有人会关心你曾经做过什么,哪怕曾经的自己失魂落魄,只要最后拿到了结果,那么你身边总会站着为你鼓掌的人,包括你的家人。
    天蝎爱吃糖阅读 159评论 0 0