グローバルスタイル
CSS Modules はコンポーネントレベルのスタイルに便利です。しかし、すべてのページで読み込まれるCSSが必要な場合、Next.jsはそれもサポートしています。
アプリケーションにグローバルCSSを読み込むには、pages/_app.js
というファイルを作成し、次の内容を記述します:
_app.js
のデフォルトエクスポートは、アプリケーション内のすべてのページをラップするトップレベルのReactコンポーネントです。このコンポーネントを使用して、ページ間のナビゲーション時に状態を保持したり、ここで行っているようにグローバルスタイルを追加したりできます。_app.js
ファイルの詳細をご覧ください。
開発サーバーの再起動
重要: pages/_app.js
を追加したら、開発サーバーを再起動する必要があります。Ctrl + cでサーバーを停止し、次のコマンドを実行します:
グローバルCSSの追加
Next.jsでは、グローバルCSSファイルをpages/_app.js
からインポートすることで追加できます。グローバルCSSは他の場所ではインポートできません。
グローバルCSSがpages/_app.js
以外でインポートできない理由は、グローバルCSSがページ上のすべての要素に影響を与えるためです。
ホームページから/posts/first-post
ページに移動すると、ホームページのグローバルスタイルが意図せず/posts/first-post
に影響を与える可能性があります。
グローバルCSSファイルは任意の場所に配置でき、任意の名前を使用できます。次の手順で進めましょう:
- トップレベルに
styles
ディレクトリを作成し、global.css
ファイルを追加します。 styles/global.css
に次のCSSを追加します。このコードはいくつかのスタイルをリセットし、a
タグの色を変更します:
最後に、先ほど作成したpages/_app.js
ファイル内でCSSファイルをインポートします:
これで、http://localhost:3000/posts/first-postにアクセスすると、スタイルが適用されているのがわかります。_app.js
でインポートしたスタイルは、アプリケーションのすべてのページにグローバルに適用されます。
動作しない場合:
pages/_app.js
を更新したら、開発サーバーを再起動してください。