あなたのサイトはさまざまなデバイスで表示されます。複数の画面サイズに対応可能なページナビゲーションを作成しましょう!
ここで学ぶことは…
- ナビゲーションコンポーネントを含んだサイトのヘッダーを作成する
- ナビゲーションコンポーネントをレスポンシブにする
やってみよう - 新しいヘッダーコンポーネントを作成する
-
新しいヘッダー(Header)コンポーネントを作成してみましょう。既存のNavigation.astro
コンポーネントをインポートし、<header>
要素の中にある<nav>
要素の中で使用します。
コードを表示
src/components/
にHeader.astro
という名前のファイルを作成します。
やってみよう - ページを更新する
-
各ページで、既存の<Navigation/>
コンポーネントを新しいヘッダーに置き換えます。
コードを表示
-
ブラウザのプレビューを開き、ヘッダーがすべてのページに表示されていることを確認します。まだ見た目は変わりませんが、開発者ツールを使用してプレビューを検査すると、ナビゲーションリンクの周りに<header>
や<nav>
などの要素があることがわかります。
レスポンシブスタイルを追加する
-
Navigation.astro
を更新して、ナビゲーションリンクを制御するためのCSSクラスを追加します。既存のナビゲーションリンクをnav-links
というクラスをもつ<div>
で囲みます。
-
global.css
に以下のCSSスタイルをコピーします。これらのスタイルは以下のことをおこないます。
- モバイル向けにナビゲーションリンクをスタイリングして配置する
- モバイルでリンクを表示または非表示にするために切り替えられる
expanded
クラスを含める
- 大きな画面サイズに対して異なるスタイルを定義するために
@media
クエリを使用する
ウィンドウのサイズを変更して、異なる画面幅で異なるスタイルが適用されていることを確認してください。@media
クエリの使用により、ヘッダーは画面サイズに対してレスポンシブになりました。
参考
Tutorials