客製化樣式
在 tailwind.config.js 檔的可以設定客製化樣式,共有兩種方式
- 寫在 theme 裡,會蓋掉原有 tailwind 的樣式,如下圖 tailwind 原有的 color 樣式會消失。
- 寫在 extend 裡,tailwind 原有的樣式會保留,並擴充新增的樣式
除了單獨字串寫法,也支援物件形式
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| theme: { colors: { transparent: 'transparent', current: 'currentColor', 'white': '#ffffff', 'tahiti': { 100: '#cffafe', 200: '#a5f3fc', 300: '#67e8f9', }, 'maroon': { 'light': '#FBF2F2', DEFAULT: '#AA0601', 'dark': '#650300' } }, },
|
所以當我們在 HTML 中使用時就會變成以下範例
文字顏色:
1 2 3
| <p class="text-maroon">文字 - 紅色</p> <p class="text-maroon-light">文字 - 紅淺色</p> <p class="text-maroon-dark">文字 - 紅深色</p>
|
背景色:
1 2 3
| <p class="bg-maroon">背景 - 紅色</p> <p class="bg-maroon-light">背景 - 紅淺色</p> <p class="bg-maroon-dark">背景 - 紅深色</p>
|
每個屬性在 theme 裡的名稱,可以在文件中查詢
全站樣式設定
tailwind 本身就有寫自己的 base 全站設定,是參考 css normalize 調整的。若要擴充專案的 base 全站樣式設定,可以使用 @layer base。
1 2 3 4 5 6 7 8 9 10 11 12
| // input.css @tailwind base; @tailwind components; @tailwind utilities;
@layer base { body { line-height: 500; color: #000; font-size: 1rem; } }
|
以上編譯順序為: base => 自己的 base => components => utilities
如果想帶入 tailwind 的變數時,可以使用 @apply
1 2 3 4 5 6 7 8 9 10
| // input.css @tailwind base; @tailwind components; @tailwind utilities;
@layer base { body { @apply font-medium; } }
|
擴充 utilities
如果想新增 tailwind 沒有的 utilities class ,可以用 @layer utilities 設定
1 2 3 4 5 6 7 8 9 10
| // input.css @tailwind base; @tailwind components; @tailwind utilities;
@layer utilities { .filter-none { filter: none; } }
|
自訂元件
若要自定義元件,可以用 @apply components,但作者不建議過度使用 component,因為違反了 tailwind utilities 的概念,只建議用在 btn 按鈕跟表單上。
1 2 3 4 5 6 7 8 9 10 11 12
| // input.css @tailwind base; @tailwind components; @tailwind utilities;
@layer components { .btn { background-color: blue; padding: 6px 12px; color: #fff; } }
|
也可用在定義外部套件樣式時
1 2 3 4 5 6 7 8 9 10 11 12
| @layer components { .select2-dropdown { @apply rounded-b-lg shadow-md; } .select2-search { @apply border border-gray-300 rounded; } .select2-results__group { @apply text-lg font-bold text-gray-900; } }
|