2018年你應(yīng)知道的9個(gè) Css 組件化的 JS 庫(kù)

英文:Jonathan Saring

譯文:?眾成翻譯/_小生_

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


一個(gè)特別有趣的概念是在CSS中使用JS將CSS抽象到組件級(jí)別本身余赢,使用JavaScript以聲明性和可維護(hù)的方式描述樣式泡嘴。所以,我們已經(jīng)列出了一些有用的項(xiàng)目來開始孙乖。

您還可以閱讀這個(gè)推薦的討論 庸毫,以幫助您做出正確的決定逊抡,這是一個(gè)非车春酷的項(xiàng)目比較。讓我們深入了解一下吧甚垦。


1. Styled components



在Australian Whisky bar 的一個(gè)想法變成了一個(gè)18K星的項(xiàng)目茶鹃,在社區(qū)中被廣泛采用。樣式組件使得在React組件中使用CSS變得更加容易艰亮,方法是使用封裝樣式定義樣式化組件闭翩,而不使用CSS類作為中介層。


通過使用ES6模板文字表示法定義組件來創(chuàng)建樣式組件迄埃∧需荆可以根據(jù)需要將CSS屬性添加到組件中,就像通常使用CSS一樣调俘。解析JS時(shí)伶棒,樣式組件將生成唯一的類名旺垒,并將CSS注入DOM。您可以在Max Stoiber的精彩演講中了解更多信息肤无。


提示:Styled-components也可以與Bit組合先蒋,在應(yīng)用程序之間共享它們并在可視化的游樂場(chǎng)中進(jìn)行開發(fā)⊥鸾ィ看一看竞漾。

另請(qǐng)參閱:Wix-Eng的Stylable仍處于開發(fā)階段。


2. Radium



在6.5K星窥翩,由FormidableLabs創(chuàng)建业岁,Radium被定義為“React組件樣式的工具鏈”。它是使用React而不使用CSS來管理內(nèi)聯(lián)樣式的工具集寇蚊。 Radium提供標(biāo)準(zhǔn)接口和抽象笔时,用于處理內(nèi)聯(lián)樣式無法輕松容納的CSS功能。


Radium允許您將樣式與React組件捆綁在一起仗岸,將javascript允耿,html和樣式結(jié)合在一起。它還提供基于道具的渲染扒怖,允許您根據(jù)應(yīng)用的狀態(tài)設(shè)置組件樣式较锡。


3. Aphrodite


視頻:https://youtu.be/84VZ1BHMkUA


Aphrodite是一個(gè)與框架無關(guān)的CSS-in-JS庫(kù),支持服務(wù)器端渲染盗痒,瀏覽器前綴和最小的CSS生成蚂蕴。 Aphrodite將所有內(nèi)容轉(zhuǎn)換為類并使用class屬性。

在4Kstars俯邓,這個(gè)項(xiàng)目有或沒有React工作骡楼,都一并提供諸如注入風(fēng)格的Dom,自動(dòng)前綴樣式等功能看成。


4. Emotion


在4.2K星級(jí)君编,Emotion是一個(gè)高性能且靈活的CSS-in-JS庫(kù)跨嘉,允許您使用字符串或?qū)ο髽邮皆O(shè)置應(yīng)用程序樣式川慌。它具有可預(yù)測(cè)的組合,以避免CSS的特殊性問題祠乃∶沃兀基于glam 庫(kù)及其理念,我們的想法是通過使用babel和PostCSS解析樣式來編寫CSS時(shí)保持運(yùn)行時(shí)性能亮瓷。核心運(yùn)行時(shí)為2.3kb琴拧,React支持為4kb。


5. Glamorous

注意:雖然該項(xiàng)目不再積極維護(hù)嘱支!但它還是很酷:)



在3.6K星級(jí)蚓胸,PayPal的Glamorous面向構(gòu)建“可恢復(fù)的CSS with React”挣饥,其靈感來自樣式組件和jsxtyle。 Kent C. Dodds 將該項(xiàng)目定義為“ React組件樣式通過優(yōu)雅(靈感)API解決沛膳,占地面積腥臃恪(小于5kb gzipped),以及出色的性能”锹安。它具有與樣式組件非常相似的API短荐,并使用類似的工具。


6. Glamor



受到這場(chǎng)精彩演講的啟發(fā)叹哭,Glamour小而有效忍宋。它允許您使用相同的Object CSS語法在組件中編寫內(nèi)聯(lián)CSS,React支持樣式prop风罩。它快速高效糠排,獨(dú)立于框架,服務(wù)器端/靜態(tài)渲染泊交,并添加了供應(yīng)商前綴/后備值乳讥。這是一篇簡(jiǎn)短的 API docs 介紹,Glamour中CSS技術(shù)的比較和Gatsby Glamby的有用教程 廓俭。


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


7. Fela


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


Fela是一個(gè)為JavaScript中的狀態(tài)驅(qū)動(dòng)樣式構(gòu)建的項(xiàng)目云石,強(qiáng)調(diào)了三件事:默認(rèn)情況下使樣式動(dòng)態(tài)化,帶來框架無關(guān)(React的綁定)和高性能研乒。它是動(dòng)態(tài)的設(shè)計(jì)汹忠,并根據(jù)您的應(yīng)用程序狀態(tài)呈現(xiàn)樣式。它生成原子CSS并支持所有常見的CSS功能雹熬,如媒體查詢宽菜,偽類,關(guān)鍵幀和字體竿报。它可以與任何視圖庫(kù)一起使用铅乡,包括React native。您可以在此處閱讀有關(guān)V6功能的更多信息烈菌。


8. Styletron



擁有2.5k stars阵幸,Styletron是“面向組件的樣式工具包”。 Styletron支持無狀態(tài)芽世,單元素樣式的組件作為基本樣式挚赊,具有用于條件/動(dòng)態(tài)樣式的prop接口,以及通過(類型化)JavaScript對(duì)象組合的樣式济瓢,無需額外工具(例如Webpack加載器荠割,Babel插件等)。它對(duì)風(fēng)格對(duì)象的形狀也沒有任何意見旺矾。您可以在這個(gè)有趣的 HN thread中了解更多信息蔑鹦。


9. JSS


JSS是CSS的抽象夺克,它使用JavaScript以聲明和可維護(hù)的方式描述樣式。它是一個(gè)高性能的JS to CSS編譯器嚎朽,可在運(yùn)行時(shí)和服務(wù)器端運(yùn)行懊直。這個(gè)核心庫(kù)是低級(jí)別和框架不可知的,大約6KB(縮小和gzip壓縮)火鼻。它也可以通過插件API進(jìn)行擴(kuò)展室囊。這是一個(gè)很好的轉(zhuǎn)換SCSS(Sass)的教程。還可以查看React-JSS魁索,它是React的JSS集成融撞。

感興趣的小伙伴,可以關(guān)注公眾號(hào)【grain先森】粗蔚,回復(fù)關(guān)鍵詞 “小程序”尝偎,獲取更多資料,更多關(guān)鍵詞玩法期待你的探索~

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末鹏控,一起剝皮案震驚了整個(gè)濱河市致扯,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌当辐,老刑警劉巖抖僵,帶你破解...
    沈念sama閱讀 217,657評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異缘揪,居然都是意外死亡耍群,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,889評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門找筝,熙熙樓的掌柜王于貴愁眉苦臉地迎上來蹈垢,“玉大人,你說我怎么就攤上這事袖裕〔芴В” “怎么了?”我有些...
    開封第一講書人閱讀 164,057評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵急鳄,是天一觀的道長(zhǎng)谤民。 經(jīng)常有香客問我,道長(zhǎng)攒岛,這世上最難降的妖魔是什么赖临? 我笑而不...
    開封第一講書人閱讀 58,509評(píng)論 1 293
  • 正文 為了忘掉前任胞锰,我火速辦了婚禮灾锯,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘嗅榕。我一直安慰自己顺饮,他們只是感情好吵聪,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,562評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著兼雄,像睡著了一般吟逝。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上赦肋,一...
    開封第一講書人閱讀 51,443評(píng)論 1 302
  • 那天块攒,我揣著相機(jī)與錄音,去河邊找鬼佃乘。 笑死囱井,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的趣避。 我是一名探鬼主播庞呕,決...
    沈念sama閱讀 40,251評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼程帕!你這毒婦竟也來了住练?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,129評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤愁拭,失蹤者是張志新(化名)和其女友劉穎讲逛,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體岭埠,經(jīng)...
    沈念sama閱讀 45,561評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡妆绞,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,779評(píng)論 3 335
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了枫攀。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片括饶。...
    茶點(diǎn)故事閱讀 39,902評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖来涨,靈堂內(nèi)的尸體忽然破棺而出图焰,到底是詐尸還是另有隱情,我是刑警寧澤蹦掐,帶...
    沈念sama閱讀 35,621評(píng)論 5 345
  • 正文 年R本政府宣布技羔,位于F島的核電站,受9級(jí)特大地震影響卧抗,放射性物質(zhì)發(fā)生泄漏藤滥。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,220評(píng)論 3 328
  • 文/蒙蒙 一社裆、第九天 我趴在偏房一處隱蔽的房頂上張望拙绊。 院中可真熱鬧,春花似錦、人聲如沸标沪。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,838評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽金句。三九已至檩赢,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間违寞,已是汗流浹背贞瞒。 一陣腳步聲響...
    開封第一講書人閱讀 32,971評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留趁曼,地道東北人憔狞。 一個(gè)月前我還...
    沈念sama閱讀 48,025評(píng)論 2 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像彰阴,于是被迫代替她去往敵國(guó)和親瘾敢。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,843評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • 用兩張圖告訴你尿这,為什么你的 App 會(huì)卡頓? - Android - 掘金 Cover 有什么料簇抵? 從這篇文章中你...
    hw1212閱讀 12,723評(píng)論 2 59
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML標(biāo)準(zhǔn)射众。 注意:講述HT...
    kismetajun閱讀 27,485評(píng)論 1 45
  • 臨近年關(guān)碟摆,要回家了,又要到了團(tuán)聚的時(shí)刻叨橱,這時(shí)候典蜕,親朋好友、三姑六婆齊聚一堂罗洗,一年一度愉舔,那些經(jīng)典的問題就要出現(xiàn)了……...
    青銅央央閱讀 920評(píng)論 0 5
  • 哈嘍,仰望太久會(huì)累伙菜,那就歪著脖子看轩缤,知趣才能有趣,熊貓寶寶道 :晚安
    冰凌紫涵圓閱讀 199評(píng)論 0 0
  • 沒有人會(huì)關(guān)心你曾經(jīng)做過什么贩绕,哪怕曾經(jīng)的自己失魂落魄火的,只要最后拿到了結(jié)果,那么你身邊總會(huì)站著為你鼓掌的人淑倾,包括你的家人馏鹤。
    天蝎愛吃糖閱讀 160評(píng)論 0 0