【2章】Next.jsのチュートリアルをやってみた

Next.js

 

これはNext.jsの公式チュートリアルの2. CSS Styling に関するメモです

 

前章のメモ

 

Next.jsの公式チュートリアルの該当ページ

 

Learn Next.js: CSS Styling | Next.js
Style your Next.js application with Tailwind and CSS modules.

 

学ぶこと

 

  1. グローバルにCSSファイルをアプリに適用する方法
  2. Tailwind CSSローカルにCSSファイルの使用方法
  3. clsxを使用したクラス名の条件付き適用

 

グローバルなスタイル

 

グローバル=アプリケーション全体に適用させる

本チュートリアルでは、app/ui/global.css をグローバルなCSSとして設定します。

 

設定方法は、アプリケーションの最上位コンポーネントでこのCSSを読み込みます。

Next.js(App Router)では、/app/layout.tsx が最上位コンポーネントになります

 

なので、/app/layout.tsx で app/ui/global.cssを読み込みます

1行目のimport文(ハイライト部)を追加してください

 

http://localhost:3000 にアクセスして変更内容を確認します。

開発サーバを起動していない方は
npm run dev
を実行して、起動してからアクセスしましょう

 

CSSファイルを読み込む前と大きく見た目が変わりました!

これは、次で紹介するTailwindのおかげです。

/app/ui/global.css を見てみると @tailwindと書かれた3行があります。

 

@tailwind base
Tailwindのベーススタイルを読み込む。
これによりブラウザのデフォルトスタイルをリセットしてくれる
@tailwind components
Containerクラスを読みこむ
@tailwind utilities
Utilityクラスを読み込む。
いろいろなクラスがあるらしいが、具体的にはよくわからない

参考:Tailwind CSSとは #tailwindディレクティブとは 

 

Tailwind

 

TailwindとはCSSのフレームワークのこと。

HTML要素にクラス名を追加することでスタイルを適用できます。

ちなみにNext.jsのアプリを0から作る場合にはTailwindを使うか聞かれます。
yesを選択するとアプリ作成時に自動でTailwindを使えるようにしてくれます。

 

/app/page.tsx を見てみると、要素に様々なクラス名が付与されていると思います。

 

試しに自分でも追加してみましょう

/app/page.tsx に1行追加してみます

 

ブラウザで確認すると、▲のマークが新たに追加されました!

 

CSS モジュール

 

CSSファイルを作成し、それを適用させていきます。

 

まずは、/app/ui/home.module.css を作ります。

 

/app/page.tsx でstylesという名前でインポートし、Tailwindで追加したdivタグのclassNameを変更します。

 

先ほどと同じように黒い三角形が表示されています

 

clsxライブラリを使用したクラス名の切り替え

 

状態やその他の条件によってスタイルを切り替えられるのがclsxライブラリ。

ドキュメントはこちら

 

↓のコードのようにstatusの値によって適用するクラスを変えられます。

 

 

最後に

 

今回の方法だけでなく、

  • Sass
  • styled-jsxなどの CSS-in-JS ライブラリ

など、CSSを適用する方法はいろいろあります。

 

詳しくはドキュメントをご覧ください

Building Your Application: Styling | Next.js
Learn the different ways you can style your Next.js application.

 

次章のメモ

 

コメント

タイトルとURLをコピーしました