Bootstrapでは事前に準備されているボタン、メニュー、パンくずリストなどのコンポーネントは準備されておらず、utility classを使って独自のコンポーネントを作成し、デザインを行っていく。
その為、bootstrapよりオリジナリティの高いサイトを構築できる。
<button class="bg-indigo-700 font-semibold text-white py-2 px-4 rounded">ボタン</button>
– 文字の大きさは9種類、色の数はかなりの数のutility classが準備されている。
### cdnを利用する場合
<link href="https://unpkg.com/tailwindcss@^1.0/dist/tailwind.min.css" rel="stylesheet">
### npmを使用する場合
$ npm init -y
$ npm install tailwindcss
/css/style.css を作成
@tailwind base; @tailwind components; @tailwind utilities;
/public/css フォルダを作成
$ npx tailwind build ./css/style.css -o ./public/css/style.css
package.jsonにbuildコマンドを追加
"scripts": { "test": "echo \"Error: no test specified\" && exit 1", "build": "tailwind build css/style.css -o public/css/style.css" },
/public/index.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <link rel="stylesheet" href="css/style.css"> </head> <body> <h1>Hello Tailwind</h1> </body> </html>
<h1 class="text-4xl text-green-700 text-center font-semibold">Hello Tailwind</h1>
文字の大きさにはtext-xs, txt-sm, text-base … など10の値がある
文字の太さはfont-hairline, font-thin, font-light … など9つの値がある
色はtext-{色}-{色の濃さ}で設定を行う text-green-100, text-green-200 ..など濃さは9個設定できる
<button class="bg-indigo-700 font-semibold text-white py-2 px-4 rounded">ボタン</button>
css/sytle.css
@tailwind base; @tailwind components; .btn { @apply font-semibold text-white py-2 px-4 rounded; } @tailwind utilities;
$ npm run build
<div class="text-center mt-10"> <button class="bg-indigo-700 font-semibold text-white py-2 px-4 rounded">ボタン</button> <button class="bg-red-700 btn hover:bg-red-500">ボタン</button> </div>
### 設定ファイルの追加
$ npx tailwind init
tailwind.config.js
module.exports = { future: { // removeDeprecatedGapUtilities: true, // purgeLayersByDefault: true, }, purge: [], theme: { extend: { colors: { cyan: '#9cdbff', } }, }, variants: {}, plugins: [], }
$ npm run build
<button class="bg-cyan btn hover:bg-red-500 focus:outline-none focus:shadow-outline">ボタン</button>
なるほど、良く出来ている