最近、RailsでTailswindCSSを導入してみたのですが、思った以上に使い勝手が良い。
特に、カスタムコンポーネントでデザインを簡単に、自由自在に表現できる点は素晴らしいですね(さよなら、Bootstrap 笑)。
ところで、カスタムコンポーネントを作成する際は、application.tailwind.css
の@tailwind componets;
以下に追加する形になるかと思います。
@tailwind base;
@tailwind components;
/* ここにカスタムコンポーネント(クラス)を作成する */
@tailwind utilities;
ただ、カスタムコンポーネントの量が多くなるとごちゃごちゃしてくるので、別途カスタムコンポーネント用のCSSファイルを作成して管理した方が分かりやすいのではないかと思った次第です。
そこで、今回はカスタムコンポーネント作成用のカスタムCSSを別途作成し、インポートする方法についてまとめました。
開発環境
- Ruby 3.1.2
- Ruby on Rails 7.0.4
- tailwindcss 3.1.8
- M1 Macbook Air 2020
- mac OS Monterey (ver. 12.4)
- ターミナル bash (Rosetta 2 使用)
カスタムコンポーネント用CSSを作成・インポートする方法
TailwindCSSの導入($ rails new)
Railsアプリ新規作成時にTailwindCSSを事前インストールしておきます。
(既存のアプリにTailwindCSSを導入する方法については、またいつか書きたいと思います)
$ rails new myapp --css tailwind -j esbuild
TailwindCSSのコンパイルを自動化するため、-j esbuild
オプションでesbuild
もインストールしておきます。
新規作成されたアプリケーションフォルダの、app/assets/stylesheets
以下を確認すると、application.tailwind.css
というファイルが自動生成されており、以下のような記述があります。
@tailwind base;
@tailwind components;
@tailwind utilities;
ここでTailwindCSSを読み込んでいるようです。
カスタムコンポーネント用CSS(custom.css)を新規作成
app/stylesheets
ディレクトリ下にcustom.css
ファイルを新規作成します。
ファイル名はなんでも良いですが、わかりやすい名前がおすすめです。
カスタムコンポーネントCSSをインポート
先ほど作成したcustom.css
を読み込むための記述をします。
application.tailwind.css
に以下の1行を追記します↓
@tailwind base;
@tailwind components;
/* ↓追記 */
@import "custom";
@tailwind utilities;
これで、custom.css
の内容がapplication.tailwind.css
に反映されるようになるはずです。
もし上記で反映されない場合は、以下のように書き換えるとうまくいくかと思います
@import "tailwindcss/base";
@import "tailwindcss/components";
@import "custom";
@import "tailwindcss/utilities";
以上です。
コメント