ARCTICLE

前端+設計+Tailwind

前端+設計+Tailwind

公司不少舊有產品在UI上凌亂的問題,因此在做新的專案時,決定導入了Design System;這是由設計主導的設計規範的東西。

簡單來說,如果專案有了Design System,那麼這個專案任何一頁,會因為各個項目,如:字體、間距、按鈕、標頭等等,都有了絕對的規範,所以任何一頁看起來都會有一種和諧感,不會因為不一樣的頁面有不一樣的設計稿,就導致使用者在操作起來,會感受到畫面凌亂的問題。

而且在Design System的規範下,設計如果是多個人,或是一大群設計群在設計同一個產品,也不會讓每個頁面或組件顯得凌亂。

Uber的DesignSystem Uber的DesignSystemy就對產品設定了全部的規範,本篇將以Uber做舉例.

由已被規範的程式碼交由tailwind去規範

如果設計稿,透過DesignSystem被規範,那麼轉為前端的程式,也可以輕鬆的寫成模組了。

以下用Uber的Figma DesgnSystem做舉例。

Typography

!(圖)[/pages/post/co-work-with-designer/1.png]

在CSSinJS的StyledComponent中,如果想寫將設計規範寫為Typography,此時通常會做類似下面使用方式的Component

<Typography body={4} semibold />

接著在Typography Component中,就會依props實作關於符合需求的Component。其實後來最懶人的方法,就是使用Styled-System去做。

而在tailwindCSS的世界中,就是修改tailwind.config.js,舉例如下:

FontSize: [14px, 16px]

接著,我們就可以在HTML中下以下指令

<span className=“text-body-4 semibold” />

就會有同樣的效果,是不是開始感覺有更輕量的感覺?而且tailwind有讓專案更輕的感覺,官方宣稱少掉90%的Style相關程式,並非唬爛。

Tailwind CSS將會把專案中所有的CSS class,在compilier過程中,包在main.css裡面

Color Set

顏色的色票,也是設計其實要規範的東西。其實tailwind也早就預設好色票組了;不過,就如同上述提到的Typography,其實設計師自己也有一套做法。所以前端工程師們,還是再寫一下config.js吧!如下:

{
  Gray: {
    200: ‘#202020’
  }
}

有了上面和設計師一起完工的規範,就可以在HTML加入以下class

<span className=“text-gray-200 border-gray-200” />

關於顏色,可以詳讀官方Document。

可以在text- border- bg- 等prefix字串中,後面加入色票設定。

沒有什麼Tailwind不能幫團隊的事

上面的範例只有講到一點點;除了上面基本設定外,也可以將div做component化,也就是可以不需要針對NavigationBar或Button等,再製作一組Component或加入Style.css;可以透過tailwind的設定,加入 .button或.navigation-bar的設定,這樣就是利用Tailwind做Component化的方式。

現階段回不去的CSS撰寫模式

事實上,在用完Tailwind之後,就的有回不去的感覺,有一種可以完全取代StyledComponent或emotion的感覺,而且它更加的使專案輕量化。

最後的重點,您只要安裝(Tailwind Plug-in For Visual Studio Code)[],您將暫時離不開這個天殺的好東西了。

CONTACT