[tailwind] Tailwind CSS 環境建置與相關語法
擴充套件
如果你是使用 VS Code 開發 Tailwind CSS 的話,強烈建議安裝 Tailwind CSS IntelliSense 套件,它會在你輸入 class 的時候,跳出 Tailwind CSS 相關語法的提示。
初始化
在一個空的資料夾底下執行以下指令來初始化專案:
npm init -y
接著安裝 Tailwind CSS
套件:
npm install -D tailwindcss
再安裝 Prettier
:
npm install -D prettier prettier-plugin-tailwindcss
都安裝完以後,執行以下指令初始化 Tailwind:
npx tailwindcss init -p
編譯
接著在根目錄新增兩個資料夾,分別為 public
和 src
,並在 src 資料夾底下建立一個檔案,名為 styles.css
,並將以下程式碼貼上:
@tailwind base;@tailwind components;@tailwind utilities;
之後在 package.json
的 scripts
底下新增兩條指令:
{ "name": "tailwind-basic", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "start": "tailwindcss build src/styles.css -o public/styles.css", "watch": "tailwindcss build src/styles.css -o public/styles.css --watch" }, "keywords": [], "author": "", "license": "ISC", "devDependencies": { "prettier": "^2.8.4", "prettier-plugin-tailwindcss": "^0.2.5", "tailwindcss": "^3.2.7" }}
最後在 tailwind.config.js
檔案中,將 content
的內容更改為以下:
/** @type {import('tailwindcss').Config} */module.exports = { content: ["./public/*.html"], theme: { extend: {}, }, plugins: [],};
然後就可以輸入以下指令來將 Tailwind CSS 相關語法編譯並輸出到我們指定的資料夾 public
底下:
npm start
如果不想要每次更改檔案就要重新執行 npm start
的話,可以改使用 npm run watch
,來監聽檔案有無更動,有的話就自動編譯並輸出:
npm run watch
Live Server
你也可以安裝 Live Server,來讓指定資料夾底下的檔案變更時自動重新整理:
npm install live-server -g
安裝成功後,執行以下指令來啟動 Live Server:
live-server public
Extend
如果想要客製化 CSS,可以在 tailwind.config.js
底下的 extend
新增:
/** @type {import('tailwindcss').Config} */module.exports = { content: ["./public/*.html"], theme: { extend: { colors: { primary: "#FF6363", secondary: { 100: "#E2E2D5", 200: "#888883", }, }, }, }, plugins: [],};
Custom Fonts
如果想要使用外部字體的話,先在 src/styles.css
底下, import
字體來源,這邊使用 Google Fonts 來展示:
@import url("https://fonts.googleapis.com/css2?family=Roboto+Condensed:ital,wght@0,400;0,700;1,400&display=swap");@tailwind base;@tailwind components;@tailwind utilities;
接著在 tailwind.config.js
的 extend
底下,新增 fontFamily
,並將字體名稱新增進去:
/** @type {import('tailwindcss').Config} */module.exports = { content: ["./public/*.html"], theme: { extend: { colors: { primary: "#FF6363", secondary: { 100: "#E2E2D5", 200: "#888883", }, }, fontFamily: { roboto: ["Roboto Condensed"], }, }, }, plugins: [],};
如果你是使用 Google Fonts 的話,字體名稱會顯示在 CSS rules to specify families
。
要使用該字體的話,只要在 class 打上 font-字體名稱
即可:
Media Query (RWD)
Tailwind 預設的 Media Query 尺寸為以下:
module.exports = { theme: { screens: { sm: "640px", // => @media (min-width: 640px) { ... } md: "768px", // => @media (min-width: 768px) { ... } lg: "1024px", // => @media (min-width: 1024px) { ... } xl: "1280px", // => @media (min-width: 1280px) { ... } "2xl": "1536px", // => @media (min-width: 1536px) { ... } }, },};
如果需要自行更改的話只要在 tailwind.config.js
覆寫就好了:
module.exports = { theme: { screens: { sm: "576px", // => @media (min-width: 576px) { ... } md: "960px", // => @media (min-width: 960px) { ... } lg: "1440px", // => @media (min-width: 1440px) { ... } }, },};
使用的方式也很簡單,只要打上尺寸名稱加上要給予的 style 就好:
@apply
如果檔案中有重複的 class 需要使用,則可以將其提取出來,在 css 檔案中使用 @apply
語法,來重複利用:
@import url("https://fonts.googleapis.com/css2?family=Roboto+Condensed:ital,wght@0,400;0,700;1,400&display=swap");@tailwind base;@tailwind components;@tailwind utilities;.card { @apply relative overflow-hidden rounded-lg bg-white shadow-lg;}.badge { @apply absolute top-0 ml-2 mt-2 rounded-full bg-secondary-100 p-2 text-sm font-bold uppercase text-secondary-200;}