サイト全体にスタイルを追加する
概要ページにスタイルを適用できたので、サイトの残りの部分にグローバルスタイルを追加しましょう!
ここで学ぶことは…
- スタイルをグローバルに適用する
グローバルスタイルシートを追加する
Astroの<style>
タグはデフォルトでスコープされることを確認しました。つまり、そのファイル内の要素にのみ影響します。
Astroでは、スタイルをグローバルに定義する方法がいくつかありますが、このチュートリアルではglobal.css
ファイルを作成して各ページにインポートします。スタイルシートと<style>
タグの組み合わせにより、サイト全体のスタイルを制御したり、特定のスタイルをピンポイントに適用したりできます。
-
src/styles/global.css
に新しいファイルを作成します(まずstyles
フォルダを作成する必要があります)。 -
以下のコードを新しいファイル
global.css
にコピーします。src/styles/global.css html {background-color: #f1f5f9;font-family: sans-serif;}body {margin: 0 auto;width: 100%;max-width: 80ch;padding: 1rem;line-height: 1.5;}* {box-sizing: border-box;}h1 {margin: 1rem 0;font-size: 2.5rem;} -
about.astro
のフロントマターに以下のインポート文を追加します。src/pages/about.astro ---import '../styles/global.css';const pageTitle = "私について";const identity = {firstName: "サラ",country: "カナダ",occupation: "技術ライター",hobbies: ["写真", "バードウォッチング", "野球"],};const skills = ["HTML", "CSS", "JavaScript", "React", "Astro", "ドキュメントの執筆"];const happy = true;const finished = false;const goal = 3;const skillColor = "navy";const fontWeight = "bold";const textCase = "uppercase";--- -
概要ページをブラウザのプレビューで確認すると、新しいスタイルが適用されているはずです!
やってみよう - グローバルスタイルシートをインポートする
プロジェクトの各.astro
ファイルに必要なコードを追加して、サイトのすべてのページにグローバルスタイルを適用しましょう。
✅ コードを表示 ✅
以下のインポート文をsrc/pages/index.astro
とsrc/pages/blog.astro
の2つのページファイルに追加します。
---import '../styles/global.css';---
ページテンプレートに静的または動的にHTML要素を追加して、概要ページのコンテンツを変更または追加してみましょう。JavaScriptをフロントマタースクリプトに追加して、HTMLで使用する値を準備します。ページの出来に満足したら、次のレッスンに進む前にGitHubに変更をコミットしてください。
パターンを分析する
概要ページは現在、インポートされたglobal.css
ファイルと<style>
タグの両方を使用してスタイリングされています。
-
両方のスタイリング方法からスタイルが適用されていますか?
-
競合しているスタイルはありますか?あれば、どちらが適用されますか?
-
global.css
と<style>
の関係を説明してください。 -
global.css
ファイルでスタイルを宣言するか、または<style>
タグで宣言するか、どのように選択すればよいですか?