【初心者向け】CSSで背景の色を変えるbackground-color入門


【初心者向け】CSSで背景の色を変える background-color 入門:色の魔法でウェブサイトを彩ろう!

ウェブサイト作り、始めてみようと思ったあなた。HTMLでページの構造を作ったけれど、なんだか文字ばかりで寂しいな、もっと見た目を華やかにしたいな、と感じていませんか? その願いを叶えるのが CSS (Cascading Style Sheets) です。

CSSは、ウェブページの「見た目」や「デザイン」を決めるための言語です。HTMLで作った箱(要素)に、色を塗ったり、大きさを変えたり、配置を調整したり、様々な装飾を施すことができます。

そして、CSSでできることの中でも、最も基本的で、かつウェブサイトの印象を大きく左右する設定の一つが、要素の「背景色」を変えることです。

この記事では、CSSの基礎の基礎から出発して、背景色を設定するための最も重要なプロパティである background-color について、徹底的に、そして誰にでもわかるように解説していきます。約5000語というボリュームで、あなたが background-color を完全にマスターできるよう、様々な角度から深掘りしていきますので、ぜひ最後までお付き合いください。

この記事を読めば、以下のことができるようになります。

  • CSSの基本的な仕組みを理解する。
  • background-color プロパティを使って、HTML要素の背景色を設定できるようになる。
  • 色の様々な指定方法(キーワード、16進数、RGB/RGBA、HSL/HSLA)を理解し、使い分けられるようになる。
  • 他のCSSプロパティやCSSの基本ルール(カスケード、詳細度、継承)との関連性を理解する。
  • 実践的な例を通して、様々なデザインに背景色を活用できるようになる。
  • アクセシビリティ(色の見やすさ)についても考慮できるようになる。

さあ、一緒にCSSの色の魔法を学んで、あなたのウェブサイトを魅力的に彩りましょう!

第1章:CSSの超基本 – スタイルの魔法をかける準備

まずは、背景色を設定する前に、CSSそのものについて簡単な準備体操をしておきましょう。

CSSとは? なぜ学ぶの?

CSS (Cascading Style Sheets) は、HTML文書の見た目を定義するためのスタイルシート言語です。HTMLがウェブページの「骨組み」や「構造」を作るのに対して、CSSは「装飾」や「デザイン」を担当します。

家を建てるのに例えるなら、HTMLは柱や壁、ドアや窓といった家の構造材を組み立てる作業です。一方、CSSは壁紙を選んだり、外壁の色を塗ったり、家具の配置を決めたり、庭を飾ったりする作業です。

HTMLだけで作ったページは、情報の内容はわかりますが、見た目は非常にシンプルで味気ないものになります。CSSを使うことで、文字の大きさやフォント、色、要素の配置、余白などを自由に調整し、美しく、見やすく、そして魅力的なデザインを実現できるのです。

HTMLとCSSの関係性

HTMLとCSSは密接に関係していますが、役割は明確に分かれています。

  • HTML: 文書の構造化(見出し、段落、画像、リンクなどの要素を配置)
  • CSS: 文書の視覚的な表現(要素のスタイル設定)

この役割分担により、コンテンツ(HTML)とデザイン(CSS)を分離することができます。これにより、以下のようなメリットが生まれます。

  1. 保守性の向上: デザインを変更したい場合、CSSファイルだけを編集すれば済みます。HTMLファイルはコンテンツが変わらない限り触る必要がありません。
  2. 効率化: 同じCSSファイルを複数のHTMLページに適用すれば、サイト全体で統一されたデザインを簡単に実現できます。
  3. アクセシビリティとSEO: HTMLは意味のある構造を保つため、検索エンジンや支援技術(スクリーンリーダーなど)が内容を理解しやすくなります。

CSSのルール(セレクタ、プロパティ、値)

CSSは、「どの要素に」「どんなスタイルを」適用するか、というルールを記述していきます。このルールは、大きく分けて3つの部分から構成されます。

css
セレクタ {
プロパティ: 値;
プロパティ: 値;
/* ... 他のプロパティ ... */
}

  • セレクタ (Selector): スタイルを適用したいHTML要素を指定します。「どの要素に?」の部分です。例えば、全ての段落(<p>タグ)や、特定のクラス名が付いた要素などを指定できます。
  • プロパティ (Property): 変更したいスタイルの種類を指定します。「どんなスタイルを?」の部分です。例えば、文字の色を変えたいなら color、文字の大きさを変えたいなら font-size といったプロパティを使います。そして、今回の主役は background-color です。
  • 値 (Value): プロパティに対して、具体的にどのようなスタイルを適用するかを指定します。例えば、文字の色を赤にしたいなら red、文字の大きさを16ピクセルにしたいなら 16px といった値を指定します。background-color の場合は、具体的にどんな色にするかを値で指定します。
  • 宣言ブロック ({ … }): セレクタに続く波括弧 {} の中に、適用したいスタイルを記述します。複数のスタイルを指定する場合は、セミコロン ; で区切ります。

例:

css
p { /* pタグ(段落)がセレクタ */
color: blue; /* 文字色を青にする プロパティ: 値; */
font-size: 18px; /* 文字サイズを18ピクセルにする プロパティ: 値; */
}

この例では、すべての <p> 要素に対して、文字色を青に、文字サイズを18ピクセルにするというスタイルを適用しています。

スタイルシートの3つの適用方法(インライン、内部、外部)

CSSのルールをHTMLに適用する方法は、主に3つあります。初心者の方には、外部スタイルシートが最も一般的で推奨される方法ですが、他の方法も知っておくと役立ちます。

  1. インラインスタイルシート (Inline Styles):
    HTMLタグの style 属性に直接CSSを記述する方法です。

    html
    <p style="color: blue; font-size: 18px;">この段落は青い文字になります。</p>

    メリット: 手軽に特定要素にスタイルを適用できる。
    デメリット: スタイルがHTMLと混ざり合い、管理しにくい。同じスタイルを複数の要素に適用する場合、繰り返し記述する必要がある。後述する詳細度が高くなりすぎる。

  2. 内部スタイルシート (Internal / Embedded Styles):
    HTMLファイルの <head> セクションに <style> タグを記述し、その中にCSSを記述する方法です。

    html
    <!DOCTYPE html>
    <html>
    <head>
    <title>内部スタイルシートの例</title>
    <style>
    p {
    color: blue;
    font-size: 18px;
    }
    </style>
    </head>
    <body>
    <p>この段落は青い文字になります。</p>
    <p>この段落も青い文字になります。</p>
    </body>
    </html>

    メリット: HTMLファイル一つにスタイル情報も含まれるため、単一のページやシンプルなサイトでは管理しやすい。
    デメリット: 複数のページで同じスタイルを使いたい場合、各HTMLファイルに同じCSSを記述する必要がある。

  3. 外部スタイルシート (External Styles):
    CSSの記述を .css という拡張子を持つ別のファイル(例: style.css)に記述し、HTMLファイルからそのCSSファイルを読み込む方法です。これが最も一般的で推奨される方法です。

    まず、style.css というファイルを作成し、CSSコードを記述します。

    css
    /* style.css */
    p {
    color: blue;
    font-size: 18px;
    }

    次に、HTMLファイルの <head> セクションで <link> タグを使ってこのCSSファイルを読み込みます。

    html
    <!DOCTYPE html>
    <html>
    <head>
    <title>外部スタイルシートの例</title>
    <link rel="stylesheet" href="style.css">
    </head>
    <body>
    <p>この段落は青い文字になります。</p>
    <p>この段落も青い文字になります。</p>
    </body>
    </html>

    メリット: HTMLファイルとCSSファイルが完全に分離され、管理が容易。同じCSSファイルを複数のHTMLページから参照できるため、サイト全体で統一感のあるデザインを効率的に実現できる。CSSファイルを変更するだけで、サイト全体のデザインを一度に変更できる。
    デメリット: HTMLファイルとは別にCSSファイルを作成・管理する必要がある。

初心者の方は、まず外部スタイルシートを使ってCSSを記述することをおすすめします。この後の説明も、外部スタイルシートを使うことを前提に進めていきます。

初めての外部スタイルシート

それでは、実際にHTMLファイルとCSSファイルを作成し、基本的なスタイルを適用する準備をしましょう。

  1. フォルダの作成: PCの任意の場所に、作業用フォルダを作成します。例えば、「my-website」など。
  2. HTMLファイルの作成: 作成したフォルダ内に、テキストエディタ(Windowsならメモ帳、Macならテキストエディット、またはVS Codeなどの高機能エディタ)で新しいファイルを作成し、以下のコードを記述して index.html という名前で保存します。

    html
    <!DOCTYPE html>
    <html lang="ja">
    <head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>私の初めてのウェブサイト</title>
    <link rel="stylesheet" href="style.css"> <!-- ★ここが重要★ CSSファイルを読み込む -->
    </head>
    <body>
    <h1>ようこそ!</h1>
    <p>これは最初の段落です。</p>
    <p>これは二番目の段落です。</p>
    <div class="info-box">
    <p>ここは情報ボックスです。</p>
    </div>
    </body>
    </html>

    3. CSSファイルの作成: 同じフォルダ内に、テキストエディタで新しいファイルを作成し、以下のコードを記述して style.css という名前で保存します。(まだ内容は空でもOKです)

    css
    /* style.css はじめの一歩 */
    /* ここにCSSコードを書いていきます */

これで準備完了です! index.html ファイルをダブルクリックしてブラウザで開いてみてください。まだCSSファイルには何も書いていないので、シンプルな白背景のページが表示されるはずです。

第2章:background-colorプロパティとは? – 色を変える主役

いよいよ本題です。HTML要素の背景色を設定するには、CSSの background-color プロパティを使います。

background-colorの役割と目的

background-color プロパティは、指定したHTML要素の背景を、指定した色で塗りつぶすためのプロパティです。

その主な目的は以下の通りです。

  • 視覚的な区分け: 要素ごとに背景色を変えることで、コンテンツの区切りを明確にし、情報を見やすく整理できます。例えば、ヘッダー、フッター、サイドバー、メインコンテンツなどで異なる背景色を使うことがあります。
  • 注目を集める: 特定の要素(例: 重要な情報ボックス、ボタンなど)に目立つ背景色をつけることで、ユーザーの注意を引くことができます。
  • ブランドイメージの構築: ブランドカラーを背景色に取り入れることで、ウェブサイト全体に統一感や企業・サービスの個性を出すことができます。
  • デザイン性の向上: 美しい配色を用いることで、ウェブサイト全体のデザインレベルを高めることができます。
  • アクセシビリティの改善: 背景色と文字色のコントラストを適切に設定することで、コンテンツの読みやすさを向上させることができます(これについては後ほど詳しく触れます)。

どんな要素に使えるの?

ほとんど全てのHTML要素に対して background-color を適用することができます。

  • <body>: ウェブページ全体の背景色を設定します。
  • <div>, <section>, <article>, <aside>, <header>, <footer>, <nav>: ページの特定のブロック要素の背景色を設定します。
  • <p>, <h1><h6>: 段落や見出しの背景色を設定します。ただし、これらの要素は通常、内容の幅いっぱいに広がります。
  • <span>, <a>, <strong>, <em>: インライン要素の背景色を設定します。インライン要素の背景色は、内容の幅に合わせてだけ表示されます。
  • <img>: 画像要素自体には通常背景色は見えませんが、要素の背景色が設定されている場合、画像が透過PNGなどで背景が透けている場合に見えます。
  • <table>, <tr>, <th>, <td>: テーブルやそのセルに背景色を設定できます。
  • <input>, <button>, <textarea>: フォーム要素の背景色もカスタマイズできます。

要するに、ブラウザに表示されるほとんど全ての箱に対して色を塗ることができる、と考えてOKです。

第3章:色の指定方法を完全マスター – 🎨 カラフルな世界の扉を開ける

background-color プロパティの「値」として指定できる色の形式は、いくつか種類があります。それぞれの特徴を知って、目的に応じて使い分けましょう。

色のキーワード名(便利なショートカット)

CSSには、あらかじめ定義された色の「名前」がたくさんあります。これらは、簡単な色を指定する際に非常に便利です。

例:

  • red
  • blue
  • green
  • yellow
  • white
  • black
  • gray
  • skyblue
  • lightgreen
  • gold

など、140種類以上の色名が定義されています(CSS Color Module Level 3以降)。

使い方:

“`css
/ style.css /
body {
background-color: lightblue; / ページ全体の背景を明るい青に /
}

h1 {
background-color: yellow; / h1の見出しの背景を黄色に /
}

.info-box { / info-boxクラスを持つ要素の背景を緑に /
background-color: lightgreen;
}
“`

index.html を開き、style.css に上記のコードを書いてブラウザをリロードしてみてください。それぞれの要素の背景色が指定した色に変わっているはずです。

メリット: 直感的で分かりやすい。簡単な色を指定するのに便利。
デメリット: 定義されている色しか使えないため、微妙な色の調整ができない。

すべての色名を知りたい場合は、「CSS color keywords list」などで検索すると一覧が見つかります。

16進数カラーコード(Web色の定番)

Webデザインで最もよく使われる色の指定方法の一つが、16進数カラーコードです。# から始まり、6桁(または3桁)の16進数で色を表現します。

形式は #RRGGBB です。

  • #: 16進数カラーコードであることを示します。
  • RR: 赤 (Red) の色の強さを 00 から FF までの16進数で指定します。
  • GG: 緑 (Green) の色の強さを 00 から FF までの16進数で指定します。
  • BB: 青 (Blue) の色の強さを 00 から FF までの16進数で指定します。

Web上の色は、光の三原色である赤(R)、緑(G)、青(B)を混ぜ合わせて表現します。それぞれの色の強さを 0(全く含まない)から 255(最大)までの数値で指定できますが、16進数では 00 から FF で表現します。

  • 00: 0 (最小)
  • FF: 255 (最大)

例:

  • #000000: 黒(R=0, G=0, B=0)
  • #FFFFFF: 白(R=255, G=255, B=255)
  • #FF0000: 赤(R=255, G=0, B=0)
  • #00FF00: 緑(R=0, G=255, B=0)
  • #0000FF: 青(R=0, G=0, B=255)
  • #FFFF00: 黄色(赤と緑の組み合わせ R=255, G=255, B=0)
  • #808080: 灰色(R=128, G=128, B=128)

もし、各色の桁が同じ数値で繰り返される場合(例: #FFCC99 のような #aabbcc 形式ではなく、#AABBCC#112233 のように各色が2桁ずつ同じ数値で構成される場合)、3桁に省略して書くこともできます。形式は #RGB です。

  • #F00#FF0000 と同じ(赤)
  • #0F0#00FF00 と同じ(緑)
  • #00F#0000FF と同じ(青)
  • #FFF#FFFFFF と同じ(白)
  • #888#808080 と同じ(灰色)
  • #FC0#FFCC00 と同じ(オレンジっぽい黄色)

使い方:

“`css
/ style.css /
body {
background-color: #f0f0f0; / ページ全体の背景を薄いグレーに /
}

h1 {
background-color: #3366cc; / h1の見出しの背景を少し濃い青に /
color: white; / 見やすいように文字色を白に /
}

.info-box {
background-color: #ffcc00; / info-boxクラスを持つ要素の背景をオレンジっぽい黄色に /
}
“`

多くのデザインツールやカラーピッカーが16進数カラーコードを使用するため、Webデザインでは非常に一般的です。

メリット: 非常に多くの色を正確に表現できる。Web業界で標準的に使われることが多い。ツールとの連携が良い。
デメリット: どんな色かコードを見ただけでは直感的に分かりにくい(慣れが必要です)。

RGB形式(光の三原色で色を指定)

RGB形式は、光の三原色(赤、緑、青)の強さを、それぞれ 0 から 255 までの数値で指定する方法です。形式は rgb(R, G, B) です。

  • R: 赤 (Red) の強さを 0 〜 255 で指定。
  • G: 緑 (Green) の強さを 0 〜 255 で指定。
  • B: 青 (Blue) の強さを 0 〜 255 で指定。

例:

  • rgb(0, 0, 0): 黒
  • rgb(255, 255, 255): 白
  • rgb(255, 0, 0): 赤
  • rgb(0, 255, 0): 緑
  • rgb(0, 0, 255): 青
  • rgb(255, 255, 0): 黄色
  • rgb(128, 128, 128): 灰色

16進数カラーコードと表現できる色の範囲は同じですが、数値で直接指定するため、グラフィックソフトなどで慣れている方には分かりやすいかもしれません。

使い方:

“`css
/ style.css /
body {
background-color: rgb(240, 240, 240); / 16進数の #f0f0f0 と同じ薄いグレー /
}

h1 {
background-color: rgb(51, 102, 204); / 16進数の #3366cc と同じ色 /
color: rgb(255, 255, 255); //
}

.info-box {
background-color: rgb(255, 204, 0); / 16進数の #ffcc00 と同じ色 /
}
“`

メリット: 数値で直感的に色の配合を理解しやすい。グラフィックソフトとの連携が良い場合がある。
デメリット: 16進数ほどコンパクトではない。

RGBA形式(透明度を加える魔法)

RGBA形式は、RGB形式に「透明度(Alphaチャンネル)」を加えたものです。形式は rgba(R, G, B, A) です。

  • R, G, B: RGB形式と同じく、赤、緑、青の強さを 0 〜 255 で指定。
  • A: 透明度(Alpha)を 0.0 から 1.0 までの数値で指定します。
    • 0.0: 完全な透明
    • 1.0: 完全な不透明(つまり、全く透明ではない)
    • 0.5: 50%の透明度

この透明度が非常に重要で、要素の背景を少しだけ透けさせたい場合などに利用します。例えば、背景画像の上に半透明の背景色を持つボックスを重ねて、画像を見せつつコンテンツを読みやすくする、といったデザインが可能です。

例:

  • rgba(0, 0, 0, 0.5): 半透明の黒(背景が50%透ける黒)
  • rgba(255, 0, 0, 0.2): ほとんど透明に近い赤(背景が80%透ける赤)
  • rgba(0, 0, 255, 1.0): 完全な不透明の青(rgb(0, 0, 255) と同じ)

使い方:

HTMLに背景画像を追加したと仮定します。

“`html


ようこそ!

これは最初の段落です。

ここは背景が少し透ける情報ボックスです。

“`

“`css
/ style.css /
body {
/ 背景画像の設定は省略、HTMLで指定 /
}

h1 {
background-color: #3366cc;
color: white;
}

.info-box {
/ 背景色を半透明の黒にする /
background-color: rgba(0, 0, 0, 0.6); / 黒を60%の不透明度(40%透明)で指定 /
color: white; / 見やすいように文字色は白に /
padding: 20px; / 背景色の範囲を広げるためにpaddingを追加 /
}
``
この例では、
.info-boxの背景色が半透明になるため、その背後にあるbody` の背景画像がうっすらと透けて見えます。

メリット: 透明度を設定できるため、よりリッチで奥行きのあるデザインが可能になる。背景画像や他の要素との組み合わせで表現の幅が広がる。
デメリット: IE8以下の古いブラウザではサポートされていません(ただし、現代のウェブサイト開発ではほとんど気にする必要はありません)。

HSL形式(人間が見る色で指定)

HSL形式は、色を「色相(Hue)」「彩度(Saturation)」「輝度(Lightness)」の3つの要素で指定する方法です。人間が色を認識する感覚に近い表現方法と言われます。形式は hsl(H, S, L) です。

  • H: 色相 (Hue)。色の種類を角度(0 〜 360)で指定します。
    • 0/360: 赤
    • 60: 黄色
    • 120: 緑
    • 180: シアン
    • 240: 青
    • 300: マゼンタ
      色相環をイメージすると分かりやすいです。
  • S: 彩度 (Saturation)。色の鮮やかさを % で指定します(0% 〜 100%)。
    • 0%: 灰色(無彩色)
    • 100%: 最も鮮やかな色
  • L: 輝度 (Lightness)。色の明るさを % で指定します(0% 〜 100%)。
    • 0%: 黒
    • 50%: 通常の明るさの色
    • 100%: 白

HSLは、色の調整が直感的に行いやすいという特徴があります。例えば、特定の色(色相)を基準に、明るさや鮮やかさだけを変えたバリエーションの色を簡単に作り出すことができます。

例:

  • hsl(0, 100%, 50%): 鮮やかな赤(色相0度、彩度100%、輝度50%)
  • hsl(120, 100%, 50%): 鮮やかな緑(色相120度、彩度100%、輝度50%)
  • hsl(240, 100%, 50%): 鮮やかな青(色相240度、彩度100%、輝度50%)
  • hsl(0, 0%, 0%): 黒(輝度0%)
  • hsl(0, 0%, 100%): 白(輝度100%)
  • hsl(0, 0%, 50%): 灰色(彩度0%)
  • hsl(240, 50%, 75%): 少し薄く、鮮やかさを抑えた青

使い方:

“`css
/ style.css /
body {
background-color: hsl(0, 0%, 95%); / 薄いグレー (彩度0%、輝度95%) /
}

h1 {
background-color: hsl(210, 70%, 40%); / 少し暗めの青 (色相210度、彩度70%、輝度40%) /
color: white;
}

.info-box {
background-color: hsl(40, 100%, 50%); / 鮮やかなオレンジに近い黄色 (色相40度、彩度100%、輝度50%) /
}
“`
メリット: 人間の色の感覚に近いので、直感的に色を調整しやすい。特定の色を基準に、明るさや鮮やかさだけを変えた色を作りやすい。
デメリット: RGBや16進数ほど一般的ではないかもしれない(最近は普及してきています)。

HSLA形式(HSLに透明度をプラス)

HSLA形式は、HSL形式に透明度(Alphaチャンネル)を加えたものです。形式は hsla(H, S, L, A) です。

  • H, S, L: HSL形式と同じく、色相、彩度、輝度を指定。
  • A: 透明度(Alpha)を 0.0 から 1.0 までで指定。

RGBA形式と同様に、透明度を指定したい場合に利用します。HSL形式の直感的な色の指定方法と透明度を組み合わせることができます。

例:

  • hsla(0, 100%, 50%, 0.5): 半透明の鮮やかな赤
  • hsla(120, 50%, 60%, 0.8): 少し明るく、やや鮮やかさを抑えた、80%不透明の緑

使い方:

css
/* style.css */
.info-box {
/* HSLで色を指定しつつ、半透明にする */
background-color: hsla(240, 100%, 20%, 0.7); /* 濃い青を70%の不透明度で */
color: white;
padding: 20px;
}

HSLAは、HSLの利便性と透明度を兼ね備えた形式です。

メリット: HSLの直感的な色指定に加えて、透明度も設定できる。
デメリット: RGBAと同様、古いブラウザではサポートされていません(現代では問題ない場合が多い)。

結局、どの方法を使えばいいの? 用途別ガイド

これらの色の指定方法には、それぞれ利点があります。どれを使うかは、状況や好みによりますが、一般的な使い分けのヒントをいくつかご紹介します。

  • 簡単な色を指定したい: red, blue などのキーワード名が最も手軽です。
  • デザインツールやカラーピッカーで指定した色を使いたい: 16進数カラーコードがよく使われます。多くのツールがこの形式で色を出力します。Web業界では最も標準的な形式と言えるでしょう。
  • 色を数値で細かく調整したい、プログラミング的に扱いたい: RGBHSLが適しています。特にHSLは、色相を固定して明るさや鮮やかさだけを調整しやすいので、色のバリエーションを作るのに便利です。
  • 要素を半透明にしたい: RGBAまたはHSLAを使う必要があります。透明度はこれらの形式でしか指定できません。

初心者のうちは、まずキーワードと16進数カラーコードに慣れるのが良いでしょう。次に透明度が必要になったらRGBAを使ってみる、というステップで学ぶのがおすすめです。HSL/HSLAは、より高度な色のコントロールが必要になった際に挑戦してみましょう。

どの形式を使っても、同じ色を表現することは基本的に可能です(透明度を除く)。チームで開発する場合は、どの形式を使うかルールを決めておくと、コードの統一性が保たれます。

第4章:background-colorの基本的な使い方 – 実際に要素に色を塗ってみよう

第3章で色の指定方法を学んだので、いよいよ background-color プロパティを使って様々な要素に背景色を塗ってみましょう。

HTMLファイル(index.html)とCSSファイル(style.css)は、第1章で作成したものを使います。

HTML要素に直接指定(要素セレクタ)

最も基本的な使い方は、要素セレクタを使って特定のタグを持つ全ての要素にスタイルを適用することです。

例えば、全ての <body> 要素(ページ全体)の背景色を変えたい場合:

css
/* style.css */
body {
background-color: #f4f4f4; /* 薄いグレー */
font-family: sans-serif; /* ついでにフォントも見やすく */
}

全ての <h1> 要素の背景色を変えたい場合:

“`css
/ style.css /
/ bodyのスタイルに加えて、h1のスタイルを追加 /
body {
background-color: #f4f4f4;
font-family: sans-serif;
}

h1 {
background-color: #007bff; / 青色 /
color: white; / 文字色は白 /
padding: 10px; / 内側の余白を追加して背景色の範囲を広げる /
}
``
HTMLファイルを開いてブラウザで確認すると、
タグの中身全体が薄いグレーになり、

` 要素の背景が青色になっていることが分かります。

クラスを使って複数の要素に指定(クラスセレクタ)

特定の複数の要素に同じスタイルを適用したい場合は、HTMLで class 属性を使い、CSSでクラスセレクタ(.クラス名)を使うのが便利です。

例えば、複数の「情報ボックス」や「注意書き」に同じ背景色を設定したい場合を考えます。

HTML側で、スタイルを適用したい要素に同じクラス名を付けます。

“`html



ようこそ!

これは最初の段落です。

これは二番目の段落です。

ここは情報ボックスです。

もう一つの情報ボックスです。

この段落の背景色も変えてみましょう。



“`

CSS側で、そのクラス名に対してスタイルを記述します。

“`css
/ style.css /
body {
background-color: #f4f4f4;
font-family: sans-serif;
}

h1 {
background-color: #007bff;
color: white;
padding: 10px;
}

.info-box { / .info-box クラスを持つ全ての要素に適用 /
background-color: #e9ecef; / 薄めのグレー /
border: 1px solid #ced4da; / ボーダーを追加 /
padding: 15px;
margin-bottom: 20px; / 下に余白を追加 /
}

.highlight { / .highlight クラスを持つ全ての要素に適用 /
background-color: yellow; / 黄色 /
}
``
ブラウザで確認すると、
class=”info-box”が付いた2つのdiv要素両方に同じ背景色とスタイルが適用され、class=”highlight”が付いたp` 要素の背景色が黄色になっているはずです。

クラスセレクタは非常に汎用性が高く、再利用もしやすいため、CSSで最もよく使われるセレクタの一つです。

特定の要素に指定(IDセレクタ)

サイト内でただ一つしかない特定の要素(例: メインのヘッダー、特定のセクションなど)にスタイルを適用したい場合は、HTMLで id 属性を使い、CSSでIDセレクタ(#ID名)を使うことができます。

HTML側で、スタイルを適用したい特定の要素に一意の id 名を付けます。ID名はページ内で重複してはいけません。

“`html



ようこそ!

これはヘッダー内のキャッチフレーズです。

ここは情報ボックスです。



“`

CSS側で、そのID名に対してスタイルを記述します。

“`css
/ style.css /
body {
background-color: #f4f4f4;
font-family: sans-serif;
}

main-header { / #main-header IDを持つ特定の要素に適用 /

background-color: #007bff; / 青色 /
color: white; / 文字色は白 /
padding: 20px;
text-align: center; / テキストを中央寄せに /
margin-bottom: 30px; / 下に余白 /
}

.info-box {
background-color: #e9ecef;
border: 1px solid #ced4da;
padding: 15px;
margin-bottom: 20px;
}

/ h1やpのスタイルは、#main-headerの中で上書きされるか、個別に指定 /

main-header h1 { / #main-headerの中のh1 /

color: white; /* 親要素から継承されない文字色を明示的に指定 */
background-color: transparent; /* h1自身の背景色は透明にする */
padding: 0; /* h1自身のpaddingをリセット */
margin: 0; /* h1自身のmarginをリセット */

}

main-header p { / #main-headerの中のp /

color: white;
background-color: transparent;
margin: 0;

}
``
ブラウザで確認すると、
id=”main-header”が付いた特定の

` 要素にスタイルが適用されていることが分かります。

IDセレクタは特定の要素を指定できる強力なセレクタですが、ページ内に一度しか使えないため、汎用性はクラスセレクタほど高くありません。スタイルの優先順位(詳細度)も高くなる傾向があります。

基本的なコード例とその解説

これまでの要素セレクタ、クラスセレクタ、IDセレクタを使った基本的な background-color の設定例をまとめます。

HTML:
“`html






背景色の基本

セクション1

このセクションの背景色を変えてみましょう。

セクション2

こちらも同じ背景色になります。

このボックスは特別な背景色です。

普通の段落です。

© 2023 私のサイト


“`

CSS (style.css):
“`css
/ ページ全体の背景色 /
body {
background-color: #f8f9fa; / ごく薄いグレー /
font-family: Arial, sans-serif;
margin: 0; / bodyのデフォルト余白をなくす /
padding: 0; / bodyのデフォルト余白をなくす /
}

/ ヘッダーの背景色 /

page-header {

background-color: #343a40; / 濃いグレー /
color: white; / 文字色を白に /
padding: 20px 0; / 上下20px、左右0の余白 /
text-align: center;
}

/ セクションの背景色 (クラスで指定) /
.content-section {
background-color: #ffffff; //
margin: 20px; / 外側の余白 /
padding: 15px; / 内側の余白 /
border-radius: 8px; / 角を丸くする /
box-shadow: 0 2px 4px rgba(0,0,0,0.1); / 影をつける /
}

/ 特殊なボックスの背景色 (クラスで指定) /
.special-box {
background-color: #dc3545; / 赤っぽい色 /
color: white; / 文字色を白に /
padding: 15px;
margin: 20px;
border-radius: 8px;
}

/ フッターの背景色 /
footer {
background-color: #6c757d; / 中くらいのグレー /
color: white;
padding: 15px 0;
text-align: center;
margin-top: 30px; / 上に余白 /
}
“`

この例では、要素型セレクタ (body, footer)、IDセレクタ (#page-header)、クラスセレクタ (.content-section, .special-box) を組み合わせて、異なる要素にそれぞれの背景色を設定しています。

padding プロパティは、要素の内側に余白を追加するもので、この余白も背景色の範囲に含まれるため、背景色を持つ要素に padding を設定すると、背景色が広がるように見えます。

margin プロパティは、要素の外側に余白を追加するもので、こちらは背景色の範囲には含まれません。要素と要素の間に隙間を作るために使います。

このように、background-color は他のプロパティ(color, padding, margin, border, border-radius, box-shadow など)と組み合わせて使うことで、より洗練されたデザインを作り出すことができます。

第5章:CSSのルールを理解する – なぜスタイルが適用されたり、されなかったりするの?

CSSを書いていて、「あれ?なんでこのスタイルが適用されないんだろう?」「意図した色にならないな?」と悩むことはよくあります。これは、CSSにはスタイルが適用される際の優先順位やルールがあるためです。特に初心者の方が混乱しやすい「カスケード」「詳細度」「継承」について説明します。

background-color プロパティも、これらのルールに従って適用されるかどうかが決まります。

カスケードの原則

CSS (Cascading Style Sheets) の「Cascading」は、「滝のように流れ落ちる」「連続して適用される」といった意味合いです。CSSには、複数のスタイルルールが競合した場合に、どれが最終的に適用されるかを決定するためのルールがあります。これが「カスケード」です。

カスケードは、以下の3つの要素に基づいて優先順位を決定します。

  1. ソースの順序: 同じ優先順位のルールがあった場合、後から書かれた(定義された)ルールが優先されます。
  2. 詳細度 (Specificity): より具体的な要素を指定しているセレクタを持つルールほど優先されます。
  3. 重要度 (Importance): !important というキーワードが付いたルールは、他のほとんどのルールよりも優先されます(ただし、使用は非推奨です)。

詳細度(スタイルの優先順位)

「詳細度」は、セレクタがどれだけ具体的かを示す数値のようなものです。詳細度が高いセレクタほど、そのセレクタを持つスタイルの優先順位が高くなります。

詳細度は通常、3つのレベル(または4つ)に分けて考えられ、それぞれのレベルでの数の合計で比較されます。

  • a: インラインスタイル(HTMLタグの style 属性)。これが最も高い詳細度を持ちます(ただし、セレクタではありません)。
  • b: IDセレクタ(#my-id)。IDの数だけカウントされます。
  • c: クラスセレクタ(.my-class)、属性セレクタ([type="text"])、疑似クラス(:hover, :first-child など)。これらの数だけカウントされます。
  • d: 要素型セレクタ(p, div)、疑似要素(::before, ::after)。これらの数だけカウントされます。

詳細度は、a-b-c-d のように、左側の数値が優先されます。例えば、0-1-0-0 よりも 0-1-0-1 の方が詳細度が高いです(IDが1つと要素が1つ vs IDが1つ)。そして、0-1-0-0 よりも 0-0-1-0 の方が詳細度が低いです(IDが1つ vs クラスが1つ)。最も詳細度が高いのはインラインスタイルです。

詳細度の計算例:

  • p (要素型セレクタ): 0-0-0-1
  • .my-class (クラスセレクタ): 0-0-1-0
  • #my-id (IDセレクタ): 0-1-0-0
  • div p (要素型セレクタ2つ): 0-0-0-2
  • .container p (クラスセレクタ1つ, 要素型セレクタ1つ): 0-0-1-1
  • #main .content p (IDセレクタ1つ, クラスセレクタ1つ, 要素型セレクタ1つ): 0-1-1-1
  • <p style="color: red;"> (インラインスタイル): 1-0-0-0 (これは特別扱いされることが多い)

例:

“`html

この段落の色は何になる?

“`

“`css
/ style.css /
p { / 詳細度: 0-0-0-1 /
color: blue;
}

.text { / 詳細度: 0-0-1-0 /
color: green;
}

intro { / 詳細度: 0-1-0-0 /

color: red;
}
``
この場合、
#intro` の詳細度が最も高いため、段落の文字色は になります。

もし、詳細度が全く同じルールが複数あった場合は、カスケードの「ソースの順序」ルールが適用され、CSSファイル内で後から書かれたルールが優先されます。

background-color と詳細度:

background-color プロパティも、他のプロパティと同様に詳細度のルールに従います。より詳細度の高いセレクタで指定された background-color が、より詳細度の低いセレクタで指定された background-color よりも優先されます。

この詳細度を理解しておくと、「なぜこの要素に背景色が適用されないんだろう?」と思ったときに、他の場所でより詳細度の高いセレクタで別の背景色が指定されていないか確認する、といったデバッグに役立ちます。

継承(親子のスタイル関係) – background-colorは継承されない!

CSSには「継承」という仕組みがあります。これは、親要素に適用されたスタイルが、特に指定がない場合に子要素にも自動的に引き継がれるという性質です。

しかし、全てのプロパティが継承されるわけではありません。例えば、color(文字色)や font-family(フォントの種類)は継承されます。親要素で文字色を青に指定すれば、その中の子要素の文字も青になります。

一方で、background-color プロパティは、デフォルトでは継承されません

つまり、親要素に背景色を設定しても、その子要素はデフォルトの背景色(通常は透明 transparent)を維持します。子要素にも同じ背景色を適用したい場合は、子要素に対しても明示的に background-color を指定する必要があります。

例:

HTML:
“`html

これは親要素です。

これは子要素の段落です。

“`

CSS:
“`css
.parent {
background-color: lightblue; / 親要素に背景色を設定 /
color: darkblue; / 文字色を設定(これは継承される) /
padding: 20px;
}

.parent p {
/ background-color は親から継承されない /
/ color は親から継承される /
border: 1px solid blue; / 子要素にボーダーを追加 /
padding: 10px;
}
``
このコードをブラウザで見ると、
.parentクラスを持つdiv全体が明るい青色の背景になります。しかし、その中の

要素は、**背景色が透明のまま**です。文字色(color`)は親要素から引き継がれて濃い青になりますが、背景色は継承されません。

もし、子要素の <p> にも同じ背景色を適用したい場合は、以下のように明示的に指定する必要があります。

“`css
.parent {
background-color: lightblue;
color: darkblue;
padding: 20px;
}

.parent p {
background-color: lightblue; / ★ 子要素にも明示的に指定 ★ /
border: 1px solid blue;
padding: 10px;
}
``
このように、
background-color` が継承されないことを覚えておくことは、CSSでレイアウトやデザインを行う上で非常に重要です。意図せず背景が透明になってしまったり、逆に親と同じ色になってほしいのに透明になっていたりする場合、この継承の仕組みが原因かもしれません。

!important について(使うべきではない理由)

!important は、CSSの宣言(プロパティと値のセット)の末尾に付けるキーワードで、そのスタイルの優先順位を他のほとんど全てのスタイルよりも高くします。

“`css
p {
background-color: yellow !important; / このスタイルは非常に強く適用される /
}

p {
background-color: lightblue; / 上のルールで上書きされる /
}
“`

メリット: 強力にスタイルを適用できる。緊急でスタイルを上書きしたい場合に使えることがある。
デメリット:
* 詳細度やカスケードのルールを無視する: これにより、スタイルの管理が非常に難しくなります。「なぜこのスタイルが適用されないんだ?」というデバッグが困難になります。
* 上書きがさらに困難になる: !important が付いたスタイルをさらに上書きするには、さらに詳細度の高いセレクタで !important を使うか、ソースの順序を利用するなど、さらに複雑な対応が必要になります。
* 保守性が低下する: コードが読みにくく、将来的に変更を加える際に予期せぬ問題を引き起こしやすくなります。

ウェブサイト開発において、特別な理由がない限り !important の使用は避けるべきです。スタイルの優先順位を制御したい場合は、詳細度とソースの順序を適切に利用するのがCSSの正しいやり方です。

第6章:background-colorと他の背景プロパティの関係 – 画像と色のハーモニー

background-color は、要素の背景に関する様々な設定ができる「background」関連プロパティの一つです。CSSには、背景に画像を表示したり、画像の繰り返しを制御したりするための他の background-* プロパティがあります。これらのプロパティと background-color はどのように連携するのでしょうか?

background ショートハンド – 効率的な指定方法

背景に関する複数のプロパティ(background-color, background-image, background-repeat, background-position, background-size, background-attachment, background-origin, background-clip)をまとめて一度に指定できる便利なショートハンドプロパティが background です。

background プロパティを使う場合、background-color はリストの最初の項目として指定されることが一般的です(必須ではありませんが、慣習的にそう書かれます)。

例:

“`css
/ 個別のプロパティで指定 /
div {
background-color: lightblue;
background-image: url(‘pattern.png’);
background-repeat: repeat-x;
background-position: top left;
}

/ ショートハンドで同じスタイルを指定 /
div {
background: lightblue url(‘pattern.png’) repeat-x top left;
}
“`
ショートハンドを使うことで、CSSの記述量を減らすことができます。

注意点: background ショートハンドプロパティで指定しなかった背景関連プロパティは、全てそのプロパティの初期値に戻ってしまいます。例えば、すでに background-image が設定されている要素に対して、background: lightblue; とだけ指定した場合、background-image の値は初期値(none)に戻ってしまい、背景画像は消えて背景色だけになります。

この挙動から、すでに背景画像が設定されている要素に色だけ追加したい場合など、既存の背景設定を維持したまま色だけを変更したいときは、background-color プロパティを単独で使う方が安全な場合が多いです。

background-imageとの組み合わせ – 画像の下に色を敷く

ここで重要なのは、background-colorbackground-image よりもに描画されるという点です。

要素に background-imagebackground-color の両方が指定されている場合、ブラウザはまず指定された background-color で要素の背景を塗りつぶし、そのbackground-image を描画します。

  • 画像が完全に不透明な場合: 背景画像が背景色を完全に覆い隠すため、背景色は見えなくなります。
  • 画像が透過している(PNGなど)場合: 画像の透過している部分から、下の背景色が透けて見えます。
  • 画像が表示できない場合(パス間違いなど): 背景画像が表示されないため、代わりに背景色が表示されます。

この性質は非常に便利です。

  1. 画像が表示されない場合の代替色: 背景画像のパスが間違っていたり、画像ファイルが削除されたりして画像が表示できない場合でも、背景色を指定しておけば、真っ白な背景になるのを防ぎ、最低限のデザインや視認性を保つことができます。
  2. 透過画像の背景: ロゴ画像やアイコンなど、透過PNGを使っている場合に、その背後に背景色を敷くことで、画像の色と背景色の組み合わせを制御できます。
  3. 背景画像が見つかりにくい場合のサポート: テクスチャ画像などを背景に敷く場合、画像だけでは視認性が低いことがあります。その下に薄い背景色を敷くことで、画像の効果を保ちつつ、背景全体を明るくしたり暗くしたりして、その上の文字などを見やすくすることができます。
  4. 重ね合わせ効果: RGBAやHSLAで半透明の背景色を使う場合、background-image の上に半透明の色を重ねることで、画像の色調を変化させたり、画像を見せつつ文字などを読みやすくしたりする効果を生み出せます。

例:

HTML:
“`html

“`

CSS:
css
.banner {
background-image: url('banner.png'); /* 存在しない、または透過部分がある画像 */
background-color: #ffcc00; /* 画像の下に敷かれる色 */
background-size: cover;
background-position: center;
padding: 30px;
color: white;
text-shadow: 1px 1px 2px black; /* 文字を見やすくする影 */
}

もし banner.png が見つからない場合や透過部分がある場合、指定した #ffcc00 の背景色が見えることになります。画像が完全に不透明で表示された場合は、背景色は隠れます。

background-repeat, background-position, background-sizeなどとの連携

background-color は要素全体を塗りつぶすため、他の背景関連プロパティ(background-repeat, background-position, background-size など)の設定内容に関わらず、常に要素の背景全体に適用されます。

例えば、background-image を繰り返し表示しない (background-repeat: no-repeat;) 設定にして、画像を中央に配置した場合でも、background-color は画像が表示されていない領域も含めて要素全体に適用されます。

これは、背景色の役割が「要素の背景全体を色で満たす」ことであるため、画像の設定とは独立して機能するからです。

第7章:応用テクニック – インタラクティブな背景色や特殊な装飾

基本的な使い方が分かったところで、もう少し応用的な使い方を見てみましょう。ユーザーの操作や要素の状態に応じて背景色を変化させたり、疑似要素を使って装飾的な背景を作ったりする方法です。

疑似クラスを使った色の変化(:hover, :active, :focus)

「疑似クラス」は、要素が特定の状態にあるときにだけスタイルを適用できる特別なセレクタです。background-color は、これらの疑似クラスと組み合わせることで、ユーザー操作に対して視覚的なフィードバックを提供するのに非常に役立ちます。

よく使われる疑似クラスと background-color の組み合わせ例です。

  • :hover: 要素にマウスカーソルが乗ったときに適用されるスタイル。ボタンやリンクの背景色を変化させて、クリック可能であることを示唆するのに使われます。
  • :active: 要素がクリック(またはタップ)されている間に適用されるスタイル。ボタンが押された感じを出すために使われます。
  • :focus: 要素がフォーカスされているときに適用されるスタイル。フォームの入力欄などが選択された状態を示すのに使われます。

例: ボタンの背景色をマウスホバーで変える

HTML:
html
<button class="my-button">クリックしてください</button>

CSS:
“`css
.my-button {
background-color: #007bff; / 通常時の背景色(青) /
color: white; / 文字色 /
padding: 10px 20px;
border: none;
border-radius: 5px;
cursor: pointer; / カーソルを指マークに /
transition: background-color 0.3s ease; / 色の変化を滑らかにする /
}

.my-button:hover { / マウスカーソルが上に乗ったとき /
background-color: #0056b3; / 少し濃い青に /
}

.my-button:active { / ボタンがクリックされている間 /
background-color: #004085; / さらに濃い青に /
}
``
この例では、ボタンにマウスカーソルを乗せると背景色が少し濃くなり、クリックするとさらに濃くなることで、ユーザーにボタンが反応していることを伝えています。
transition` プロパティを使うと、色の変化をアニメーションのように滑らかにすることができます。

疑似要素を使った装飾(::before, ::after)

「疑似要素」は、HTML構造には存在しないけれども、CSSでコンテンツの前や後ろに挿入できる仮想的な要素です。::before::after が代表的です。これらの疑似要素にも background-color を設定することで、様々な装飾的な表現が可能です。

疑似要素を使う際は、通常 content プロパティ(中身を指定)と display, position プロパティなどを組み合わせて、要素のサイズや位置を調整します。背景色だけを指定する場合でも、content: ""; を指定する必要があります。

例: 見出しの下に装飾的なラインを引く

HTML:
“`html

装飾付きの見出し

“`

CSS:
“`css
.decorated-heading {
position: relative; / 疑似要素の基準位置とする /
padding-bottom: 10px; / 下にラインを引くスペースを作る /
margin-bottom: 20px;
}

.decorated-heading::after { / 見出しの下に疑似要素を挿入 /
content: “”; / 疑似要素の中身は空 /
display: block; / ブロック要素にして幅を持つように /
width: 50px; //
height: 4px; / 高さ(ラインの太さ) /
background-color: #007bff; / ラインの色 /
position: absolute; / 親要素を基準に絶対配置 /
bottom: 0; / 親要素の下端に配置 /
left: 0; / 親要素の左端に配置 /
}
``
この例では、
::after` 疑似要素を使って、見出しの下に青い短いラインを表示しています。このラインはHTML構造には存在しない、CSSだけで作られた装飾です。

疑似要素に background-color を設定し、サイズや位置を調整することで、様々な図形(四角、丸など)を作成し、要素の角に飾りをつけたり、区切り線として使ったりと、幅広いデザインが可能になります。

フォーム要素の背景色をカスタマイズ

<input>, <button>, <textarea>, <select> といったフォーム要素も、デフォルトでブラウザごとに異なるスタイルを持っていますが、CSSで background-color を含めた様々なプロパティを適用して、デザインを統一したりカスタマイズしたりすることができます。

例: 入力欄とボタンの背景色を変更する

HTML:
“`html



“`

CSS:
“`css
.my-input {
background-color: #e9ecef; / 薄いグレー /
border: 1px solid #ced4da;
padding: 8px;
border-radius: 4px;
}

.my-input:focus { / フォーカスされたとき /
background-color: #ffffff; / 白に戻す /
border-color: #007bff; / ボーダーの色を変える /
outline: none; / デフォルトのアウトラインを消す /
}

.my-button-form {
background-color: #28a745; / 緑色 /
color: white;
padding: 8px 15px;
border: none;
border-radius: 4px;
cursor: pointer;
}

.my-button-form:hover {
background-color: #218838; / 濃い緑に /
}
``
フォーム要素のスタイルは、ブラウザのデフォルトスタイルが強く影響している場合があるため、意図した通りにならない場合は
border,padding,appearance` などの他のプロパティも一緒に調整する必要があることがあります。

第8章:background-colorの適用範囲 – 色はどこまで塗られる?

要素に background-color を設定したとき、その色が正確にどこまで塗られるのかを理解することは、レイアウトを考える上で重要です。これはCSSの「ボックスモデル」と深く関連しています。

ボックスモデルのおさらい(Content, Padding, Border, Margin)

ウェブページの全てのHTML要素は、長方形の「箱(ボックス)」として扱われます。この箱は、以下の4つの領域から構成されます。

  • Content Box: 要素の実際の内容(テキスト、画像など)が表示される領域です。widthheight プロパティでサイズを指定した場合、デフォルトではこのContent Boxのサイズを指します。
  • Padding Box: Content Boxの外側にある内側の余白領域です。padding プロパティでサイズを指定します。Paddingは背景色に含まれます。
  • Border Box: Padding Boxの外側にある境界線領域です。border プロパティで太さ、スタイル、色を指定します。
  • Margin Box: Border Boxの外側にある外側の余白領域です。margin プロパティでサイズを指定します。Marginは背景色に含まれません。

要素の背景色 (background-color) や背景画像 (background-image) は、デフォルトでは Padding Box の外端まで適用されます。つまり、Content Box と Padding Box は背景色で塗りつぶされますが、Margin Box は背景色の適用範囲外です。

Paddingと背景色の関係

padding プロパティは、Content BoxとBorder Boxの間に余白を追加します。この padding で作られた領域も、要素の背景色の適用範囲に含まれます。

css
.box {
width: 100px;
height: 50px;
background-color: lightblue; /* 背景色 */
padding: 20px; /* 内側の余白 */
border: 5px solid blue; /* ボーダー */
margin: 10px; /* 外側の余白 */
}

この場合、青い背景色は、Content Box(幅100px, 高さ50px)とその周りのPadding Box(上下左右20px)の両方に適用されます。合計すると、背景色は幅 100 + 202 = 140px、高さ 50 + 202 = 90px の範囲に塗られます。その外側のボーダー(5px)とマージン(10px)には背景色は適用されません。

padding を調整することで、背景色の表示範囲をContent Boxよりも広げることができます。

Borderと背景色の関係

border プロパティで設定された境界線は、デフォルトでは要素の背景色の内側に描画されます。したがって、背景色はBorder Boxの内側まで(Padding Box の外端まで)適用されることになります。

もし、ボーダー自体に色を付けたい場合は、border-color プロパティを使います。これは background-color とは独立したプロパティです。

例:

css
.box {
width: 100px;
height: 50px;
background-color: lightblue; /* 背景色 */
border: 5px solid blue; /* 境界線 */
/* background-color はこの青い境界線の内側まで適用される */
}

Marginと背景色の関係

margin プロパティは、Border Boxの外側に余白を追加します。この margin で作られた領域は、要素自身の背景色の適用範囲には含まれません。Margin領域には、親要素や body の背景色が表示されます。

例:

“`css
.box {
width: 100px;
height: 50px;
background-color: lightblue; / 要素の背景色 /
margin: 20px; / 外側の余白 /
}

body {
background-color: yellow; / bodyの背景色 /
}
``
この場合、
.box要素自体の背景は明るい青色ですが、その要素の周囲20pxのマージン領域には、親要素であるbody` の背景色である黄色が表示されます。

box-sizingプロパティの影響

デフォルトのボックスモデル(box-sizing: content-box;)では、widthheight はContent Boxのサイズを指します。この場合、paddingborder を追加すると、要素全体の表示サイズ(width + padding*2 + border*2)が指定した width より大きくなります。そして、背景色は padding の外側まで適用されます。

しかし、box-sizing: border-box; を指定すると、widthheightBorder Box のサイズを指すようになります。このモードでは、指定した widthheight の中に paddingborder が含まれるように、Content Box のサイズが自動的に計算されます。

box-sizing: border-box; を使用している場合でも、background-color の適用範囲は Padding Box の外端まで であり、これはデフォルトの content-box の場合と同じです。しかし、width/heightpadding/border の計算方法が変わるため、要素全体のサイズ感と背景色の範囲の関係を理解する上で box-sizing は重要なプロパティです。

多くの現代のCSSフレームワークやリセットCSSでは、全ての要素に対して box-sizing: border-box; を適用しています。この設定に慣れておくと、要素のサイズ指定と背景色の適用範囲の関係をより直感的に理解しやすくなります。

第9章:実践!様々なケースでbackground-colorを使ってみよう

これまでに学んだことを活かして、実際のウェブサイトでどのように background-color が使われているか、いくつかの実践例を見てみましょう。

HTMLは第4章の例をベースにします。

Webサイト全体の背景色

body 要素に background-color を設定することで、ページ全体の背景色を指定できます。これはサイトの第一印象を決める重要な設定です。

css
/* style.css */
body {
background-color: #e9ecef; /* 薄い青みがかったグレー */
font-family: Arial, sans-serif;
margin: 0;
padding: 0;
line-height: 1.6; /* 行間を調整して読みやすく */
}

白が一般的ですが、薄いグレーやクリーム色など、少し色味のある背景色を使うことで、サイトの雰囲気を柔らかくしたり、コンテンツ領域(通常は白や薄い色の背景を持つ)とのコントラストをつけたりすることができます。

特定のセクションの背景色

ウェブページは、ヘッダー、メインコンテンツ、フッター、サイドバー、特定の情報セクションなど、いくつかの領域に分かれていることが多いです。これらの領域ごとに異なる背景色を設定することで、情報の区切りを明確にし、ページ構成を分かりやすくすることができます。

HTML:
“`html


注目してほしい情報です!

“`

CSS:
“`css
/ … body, header, section, footerのスタイルは省略 … /

.sidebar {
background-color: #ffffff; / サイドバーの背景を白に /
margin: 20px;
padding: 15px;
border-left: 5px solid #007bff; / 左側に青いライン /
}

.callout-box {
background-color: #ffffcc; / 目立つ黄色の背景 /
border: 1px solid #ffeb3b; / 黄色のボーダー /
padding: 15px;
margin: 20px;
border-radius: 5px;
}
``
このように、
section,aside,div` などのブロック要素にクラス名を付けて背景色を設定することで、ページのレイアウトにメリハリをつけることができます。

カード型デザインの背景色

最近のWebデザインでよく見られる「カード型デザイン」では、コンテンツのまとまりをカードのように見せるために、背景色、ボーダー、影などを組み合わせます。

HTML:
“`html

カードのタイトル

このカードの中にコンテンツが入ります。

“`

CSS:
“`css
.card {
background-color: #ffffff; / カード全体の背景は白 /
border: 1px solid #dee2e6; / 薄いボーダー /
border-radius: 8px;
margin: 20px;
overflow: hidden; / 角丸の外にはみ出さないように /
box-shadow: 0 4px 8px rgba(0,0,0,0.1); / 影をつける /
}

.card-header {
background-color: #f8f9fa; / ヘッダー部分の背景を少し濃いグレーに /
padding: 10px 15px;
border-bottom: 1px solid #dee2e6;
}

.card-body {
padding: 15px;
}

.card-header h3 {
margin: 0; / 見出しのデフォルト余白をリセット /
}
``background-color` を使うことで、カード全体、またはカード内の特定の部分(ヘッダーなど)に異なる色を付けて、視覚的な階層を作ることができます。

ボタンのデザイン(通常・ホバー)

第7章でも触れましたが、ボタンの背景色はユーザーインターフェースにおいて非常に重要です。通常時、マウスホバー時、クリック時、無効時などで背景色を変化させることで、ボタンの状態を分かりやすく伝えることができます。

html
<button class="btn btn-primary">送信する</button>
<button class="btn btn-secondary">キャンセル</button>
<button class="btn btn-success">保存</button>
<button class="btn btn-danger">削除</button>

“`css
.btn {
padding: 10px 20px;
border: none;
border-radius: 5px;
cursor: pointer;
font-size: 1rem;
transition: background-color 0.3s ease;
color: white; / ボタンの文字色は通常白 /
}

.btn:hover {
opacity: 0.9; / ホバーで少し透過させるシンプルな方法も /
}

.btn-primary {
background-color: #007bff; / 主要なアクション /
}
.btn-primary:hover {
background-color: #0056b3;
}

.btn-secondary {
background-color: #6c757d; / 二次的なアクション /
}
.btn-secondary:hover {
background-color: #545b62;
}

.btn-success {
background-color: #28a745; / 成功、完了など /
}
.btn-success:hover {
background-color: #218838;
}

.btn-danger {
background-color: #dc3545; / 危険な操作、削除など /
}
.btn-danger:hover {
background-color: #c82333;
}
``
クラス名を変えるだけで様々な色のボタンを作成でき、
:hover` 疑似クラスでホバー時の色を設定することで、インタラクティブなボタンになります。

透過背景を使ったレイアウト

RGBAやHSLA形式で透明度を指定することで、背景画像やその下の要素を透けさせる表現が可能です。

例: モーダルウィンドウの背景オーバーレイ

HTML:
“`html

これはページのコンテンツです。

“`

CSS:
“`css
body {
background-image: url(‘cityscape.jpg’); / 背景画像 /
background-size: cover;
margin: 0;
min-height: 100vh;
}

.modal-overlay {
position: fixed; / 画面に固定 /
top: 0;
left: 0;
width: 100%;
height: 100%;
/ 半透明の黒の背景色 /
background-color: rgba(0, 0, 0, 0.7); / 黒を70%の不透明度で /
display: flex; / 子要素を中央に配置 /
justify-content: center;
align-items: center;
z-index: 100; / 他の要素より手前に表示 /
}

.modal-content {
background-color: #ffffff; / モーダル自体の背景は白 /
padding: 20px;
border-radius: 8px;
text-align: center;
width: 80%;
max-width: 500px;
box-shadow: 0 4px 8px rgba(0,0,0,0.2);
}
``.modal-overlaybackground-colorrgba(0, 0, 0, 0.7)` を指定することで、メインコンテンツの背景画像がうっすらと透けて見えるようになります。これは、モーダルウィンドウを表示した際に、背後のコンテンツを暗くしてモーダルに注目させるためによく使われる手法です。

テキストのハイライト効果

テキストの一部に背景色を付けて、蛍光ペンのようなハイライト効果を出すことも可能です。これはインライン要素に対して background-color を適用することで実現できます。

HTML:
“`html

この文章の中で、重要な部分をハイライトしています。

“`

CSS:
css
.highlight-text {
background-color: yellow; /* 黄色でハイライト */
padding: 0 5px; /* ハイライト色の左右に少し余白を追加 */
box-decoration-break: clone; /* 行をまたいでも背景が途切れないように(特定の効果) */
}

span 要素はインライン要素なので、内容の幅に合わせてだけ背景色が適用されます。padding を少し追加すると、テキストと背景色の間にわずかな隙間ができて見やすくなります。box-decoration-break: clone; は、テキストが複数行にわたる場合に、それぞれの行の断片に対して背景が適用されるようにするプロパティです(すべてのブラウザで完全にサポートされているわけではありませんが)。

第10章:デザインとアクセシビリティ – 美しく、そして使いやすく

背景色を選ぶ際には、見た目の美しさだけでなく、「使いやすさ(ユーザビリティ)」や「見やすさ(アクセシビリティ)」も考慮することが非常に重要です。特に、背景色と文字色(color プロパティ)の組み合わせは、コンテンツの読みやすさに直結します。

なぜコントラストが重要なのか?(アクセシビリティの基本)

背景色と前景(文字やアイコンなど)の色の違いが小さいと、文字が読みにくくなったり、情報が把握しにくくなったりします。これは、高齢者、ロービジョンの人、色覚多様性のある人など、様々なユーザーにとってウェブサイトを利用する上で大きな障壁となります。

また、晴れた日の屋外でスマートフォンを見ている場合など、環境によっては画面が見えにくくなることもあります。適切なコントラストは、より多くの人が、様々な状況でウェブサイトを快適に利用できるようにするために不可欠です。

コントラスト比の基準(WCAG)

ウェブコンテンツのアクセシビリティに関する国際的なガイドラインである WCAG (Web Content Accessibility Guidelines) では、テキストとその背景色との間に、最低限のコントラスト比を設けることを推奨しています。コントラスト比とは、2つの色の明るさの差を数値で表したものです。比率が高いほど、色の差が大きく見やすくなります。

  • WCAG AAレベル: 通常のテキストに対しては 4.5:1 以上、大きなテキスト(18pt以上、または太字の14pt以上)に対しては 3:1 以上のコントラスト比が求められます。
  • WCAG AAAレベル: 通常のテキストに対しては 7:1 以上、大きなテキストに対しては 4.5:1 以上のコントラスト比が求められます。AAAレベルはAAよりもさらに厳しい基準で、特に政府機関や公共サービスなどのウェブサイトで要求されることがあります。

ほとんどのウェブサイトでは、少なくともWCAG AAレベルを満たすことが推奨されます。

コントラストチェッカーツールの紹介

背景色と文字色の組み合わせがWCAGの基準を満たしているかを確認できる便利なツールが多数存在します。

  • WebAIM Contrast Checker: 最も有名で広く使われているオンラインツールの一つです。前景色(文字色)と背景色の16進数コードなどを入力すると、コントラスト比を計算し、WCAGのAA/AAA基準を満たしているかを表示してくれます。
  • Chrome DevTools: ウェブブラウザのGoogle Chromeに内蔵されている開発者ツールにも、コントラスト比をチェックする機能があります。要素を選択した状態で、Stylesパネルのcolorプロパティの横にある色見本をクリックすると、カラーピッカーが表示され、そこでコントラスト比を確認できます。
  • デザインツールのプラグイン: FigmaやSketchなどのデザインツールにも、デザイン段階でコントラスト比を確認できるプラグインが多数提供されています。

これらのツールを活用して、デザインの段階やCSSを記述する際に、意図した背景色と文字色の組み合わせが十分なコントラストを持っているかを確認する習慣をつけましょう。

色覚多様性への配慮

いわゆる「色盲」や「色弱」を含む色覚多様性を持つ方々も、ウェブサイトのユーザーに含まれます。特定の色の組み合わせ(例: 赤と緑、青と黄など)が区別しにくい場合があります。

背景色を選ぶ際に、色覚多様性を持つ方がどのように見えるかを確認できるシミュレーターツールなどもあります。また、色だけでなく、形やアイコン、テキストなど、複数の方法で情報を伝えるようにデザインすることも重要です。背景色だけに頼って情報の重要度を示したり、状態を区別したりするのは避けましょう。

色の心理効果とデザインへの活用

色は私たちの心理や感情に影響を与えます。背景色を選ぶ際には、その色がユーザーにどのような印象を与えるかを考慮すると良いでしょう。

  • : 信頼、安定、落ち着き、技術
  • : 自然、安心、成長、健康
  • : 情熱、エネルギー、注意、危険
  • 黄色: 幸福、明るさ、注意、創造性
  • オレンジ: 活気、親しみやすさ、創造性
  • : 高級感、神秘的、創造性
  • : 力強さ、フォーマル、エレガント
  • : 清潔感、シンプル、純粋
  • グレー: 中立、落ち着き、洗練

ウェブサイトの目的やターゲットユーザーに合わせて、背景色が与える印象を考えて配色を決めましょう。

配色の考え方とツール

ウェブサイト全体の配色を決める際には、背景色だけでなく、文字色、ボタンの色、見出しの色など、様々な要素の色を調和させる必要があります。基本的な配色の考え方には、以下のようなものがあります。

  • ベースカラー: サイト全体の70%程度を占める最も支配的な色。背景色や大きな要素に使われることが多いです。白、グレー、薄い色などがよく使われます。
  • メインカラー: サイトの印象を決定づける主要な色。サイトのブランドカラーなど、個性を出すために使われます。全体の25%程度に使われます。
  • アクセントカラー: ユーザーの注意を引きたい部分(ボタン、重要なリンク、アイコンなど)に使う目立つ色。全体の5%程度に使われます。メインカラーとは対照的な色や補色などが使われることがあります。

これらの色の組み合わせを考える際に役立つツールもあります。

  • Adobe Color: 色相環を使って、補色、類似色、トライアド(三色相関)など、調和の取れた配色パレットを生成できます。
  • Coolors: ランダムに配色パレットを生成したり、特定の色をロックして新しい組み合わせを探したりできるツールです。
  • Paletton: 特定の色を基点に、様々な配色パターン(モノクロマティック、隣接、トライアドなど)を探索できるツールです。

これらのツールを使って、美しいだけでなく、目的や雰囲気に合った背景色を含む配色を検討してみましょう。

第11章:デバッグとトラブルシューティング – 問題を解決する力

CSSを書いていると、どうしても「意図した通りに表示されない」という問題に直面します。これは初心者だけでなく、経験者でもよくあることです。背景色の設定に関するトラブルシューティングに役立つデバッグ方法を学びましょう。

開発者ツールを使ったCSSの確認

現代のウェブブラウザ(Chrome, Firefox, Edge, Safariなど)には、強力な開発者ツールが標準で搭載されています。これを使うと、ウェブページのHTML構造や適用されているCSSスタイルをリアルタイムで確認したり、一時的に変更して試したりすることができます。

特にGoogle Chromeの開発者ツール(通常、右クリック > 「検証」またはF12キーで開けます)を使ったCSSのデバッグ方法を見てみましょう。

  1. 要素の選択: ブラウザ上で調べたい要素(例: 背景色がおかしいと感じる div)の上で右クリックし、「検証」を選択します。すると、開発者ツールのElementsパネルが開いて、対応するHTML要素がハイライトされます。または、開発者ツールの左上にある矢印アイコンをクリックし、ページ上の要素をクリックしても選択できます。
  2. 適用されているスタイルの確認: Elementsパネルで要素を選択した状態で、右側のStylesパネルを確認します。ここには、その要素に現在適用されている全てのCSSルールが表示されます。
  3. background-color プロパティを探す: Stylesパネルをスクロールして、background-color プロパティを探します。複数のルールで同じプロパティが指定されている場合、最も詳細度が高く優先されているルールが通常の上に表示され、無効になっているルールは打ち消し線が引かれて表示されます。
  4. 無効になっている原因の特定: 打ち消し線が引かれている background-color がある場合、なぜそのスタイルが適用されていないのかを確認します。通常、その上により詳細度の高いセレクタや、CSSファイル内で後から記述された同じ詳細度のルールが存在するためです。Stylesパネルには、どのセレクタがそのスタイルを指定しているか(例: .my-class, #my-id など)も表示されるので、優先されているルールと優先されていないルールのセレクタを比較して詳細度を確認できます。
  5. スタイルの一時的な変更: Stylesパネルでプロパティや値を直接クリックして編集することができます。例えば、background-color: lightblue;background-color: red; に変更して、リアルタイムでページの表示が変わるか確認できます。値の横にあるチェックボックスをオンオフすることで、そのスタイルルールを一時的に無効にしたり有効にしたりすることも可能です。これにより、どのスタイルが影響しているかを切り分けられます。
  6. 適用元のCSSファイルを確認: Stylesパネルに表示されている各CSSルールの右側には、そのルールが記述されているCSSファイル名と行番号が表示されています(例: style.css:50)。これをクリックすると、Sourcesパネルが開いて、そのCSSファイルの該当箇所を確認できます。

開発者ツールを使うことで、自分の書いたCSSが正しくブラウザに読み込まれているか、意図した要素にスタイルが適用されているか、他のスタイルに上書きされていないかなどを視覚的に確認でき、問題の原因を素早く特定できます。

よくある問題とその解決策(色が表示されない、違う色になるなど)

背景色の設定で初心者の方がよく遭遇する問題と、その解決策をいくつか挙げます。

  1. 背景色が全く表示されない:

    • CSSファイルがHTMLにリンクされていない: <link rel="stylesheet" href="style.css"> がHTMLの <head> に正しく記述されているか確認しましょう。href のパスも正しいか確認します。
    • セレクタが要素と一致していない: CSSのセレクタ(p, .my-class, #my-id など)が、HTMLでスタイルを適用したい要素と正確に一致しているか確認します。クラス名やID名のスペルミスはよくある原因です。
    • 要素の幅や高さがない: div などのブロック要素に内容がない場合、デフォルトでは幅や高さが0になることがあります。要素に width, height, min-height, または padding を設定して、要素が領域を持つようにすると背景色が表示されるようになります。
    • 要素が display: none; になっている: display: none; が指定されている要素はブラウザに描画されないため、背景色も表示されません。開発者ツールで確認しましょう。
    • 色が透明になっている: background-color: transparent;rgba(0, 0, 0, 0); のように透明色が指定されていないか確認します。
  2. 意図した色と違う色が表示される:

    • 詳細度の競合: より詳細度の高いセレクタを持つ別のルールで、同じ要素に異なる background-color が指定されている可能性があります。開発者ツールのStylesパネルで、どのルールが優先されているか確認しましょう。
    • ソースの順序: 同じ詳細度を持つルールが複数ある場合、CSSファイル内で後から書かれたルールが優先されます。意図したスタイルが後ろに書かれているか確認しましょう。
    • スペルミス: プロパティ名 (background-color) や色の値(lightblue, #007bff, rgba(...) など)にスペルミスがないか確認しましょう。スペルが間違っていると、そのスタイル自体が無効になります。
    • キャッシュ: ブラウザが古いCSSファイルをキャッシュしている場合があります。スーパーリロード(Windows: Ctrl + F5, Mac: Cmd + Shift + R)を試して、最新のCSSファイルが読み込まれるようにしましょう。
    • !important の使用: 他の場所で !important が使われていると、そのスタイルが意図しない優先度で適用されている可能性があります。開発者ツールで !important が付いているスタイルがないか確認しましょう。
  3. 背景色が子要素にも適用されてしまう(させたくないのに):

    • background-color は基本的に継承されないプロパティですが、もし子要素にも同じ色がついてしまっている場合、それは子要素自身にその色が指定されているか、または子要素の背景が透明で、親要素の背景色が透けて見えているかのどちらかです。子要素のスタイルを確認し、もし背景色が不要であれば明示的に background-color: transparent; または background-color: inherit; (親要素と同じ色ではなく、親の親から継承したい場合などに使うが、color以外ではあまり使わないかも) などを設定することも可能です。多くの場合、子要素に不要な背景色のスタイルが誤って適用されていないかを確認するのが最初の手順です。

これらのデバッグ方法やよくある原因を知っておくことで、スタイルの問題を効率的に解決できるようになります。焦らず、一つずつ可能性を潰していくのがデバッグのコツです。

第12章:まとめと次のステップ – さらなるCSSの世界へ

長い記事でしたが、CSSの background-color プロパティについて、その基本的な使い方から色の指定方法、関連するCSSルール、他のプロパティとの連携、応用例、デザインやアクセシビリティの考慮事項、そしてデバッグ方法まで、幅広く学ぶことができました。

background-colorでできることの振り返り

background-color は非常にシンプルながらも強力なプロパティです。これ一つで、ウェブサイトの見た目を大きく変え、要素の区切りを明確にし、ユーザーに視覚的な情報を与え、デザインに個性を加えることができます。

  • ページ全体、特定のセクション、個々の要素の背景色を設定できる。
  • キーワード、16進数、RGB/RGBA、HSL/HSLAといった様々な形式で色を指定できる。
  • RGBA/HSLAを使えば、透明な背景色も実現できる。
  • background-image と組み合わせることで、画像の下に色を敷いたり、画像が表示されない場合の代替色を指定したりできる。
  • 疑似クラス(:hover など)と組み合わせることで、ユーザーの操作に応じて背景色を変化させ、インタラクティブな要素を作れる。
  • 疑似要素(::before, ::after)と組み合わせることで、CSSだけで様々な装飾を作成できる。
  • 適切な色の選択とコントラストの確保は、デザイン性だけでなくアクセシビリティにおいても非常に重要である。

background-color はCSS学習の入り口としても最適です。このプロパティを理解することで、CSSの基本的な構造(セレクタ、プロパティ、値)、スタイルの適用方法、カスケードや詳細度といった重要なルールを学ぶことができます。

CSS学習の次のステップ(グラデーション、レイアウト、アニメーションなど)

background-color をマスターしたあなたは、CSSで見た目を制御する第一歩を踏み出しました。CSSの世界は非常に広いです。次に学ぶと良い内容をいくつかご紹介します。

  • 背景のグラデーション: background-image プロパティの値として linear-gradient()radial-gradient() といった関数を使うことで、複数の色を使った滑らかなグラデーションを背景に設定できます。
  • 背景画像の詳細: background-image だけでなく、background-repeat, background-position, background-size, background-attachment などのプロパティを深く学ぶと、背景画像を思い通りに表示できるようになります。複数の背景画像を重ねて表示することも可能です。
  • ボックスモデルとレイアウト: width, height, padding, margin, border, box-sizing といったボックスモデル関連のプロパティをより深く理解することは、要素のサイズや配置を正確に制御するために不可欠です。
  • Flexbox / Grid: ウェブサイトのレイアウト(要素を横に並べたり、グリッド状に配置したり)を行うための強力なCSSレイアウトモジュールです。現代のウェブサイト構築では必須の技術です。
  • フォントとテキストのスタイル: color(文字色)、font-size, font-family, font-weight, text-align, line-height など、テキストの見栄えを調整するプロパティも非常に重要です。
  • アニメーションとトランジション: CSSだけで要素を動かしたり、スタイルの変化を滑らかにしたりすることができます。:hovertransition を組み合わせるだけでも簡単なアニメーションが作れますが、@keyframesanimation プロパティを学ぶと、より複雑なアニメーションが可能になります。

学習を続けるためのリソース

CSS学習を続けるために、役立つオンラインリソースがたくさんあります。

  • MDN Web Docs (Mozilla Developer Network): Web技術に関する最も信頼できるドキュメントサイトです。CSSプロパティの詳細な仕様や使い方、ブラウザ互換性などが詳しく書かれています。困ったときはまずここを調べましょう。
  • 初心者向けのチュートリアルサイト: Progate, ドットインストール, Udemy, Courseraなど、インタラクティブな学習サービスや動画講座が豊富にあります。自分のペースやスタイルに合ったものを見つけましょう。
  • オンライン記事やブログ: Qiita, Zenn, 個人ブログなどで、様々なCSSテクニックや解説記事が見つかります。「CSS 〇〇 使い方」といったキーワードで検索してみましょう。
  • CSSフレームワーク: Bootstrap, Tailwind CSSなどのフレームワークを利用すると、既にデザインされたコンポーネント(ボタン、カードなど)やレイアウト用のクラスが提供されているため、効率的にウェブサイトを開発できます。学習中の早い段階で触れてみるのも良い経験になります。
  • コードエディタ: VS Codeなどの高機能なコードエディタを使うと、コードの入力補完、シンタックスハイライト、エラーチェックなどの機能がCSSの学習効率を高めてくれます。

これで、CSSの background-color プロパティに関する詳細な入門記事は終わりです。約5000語という長丁場でしたが、ここまでお読みいただき、本当にありがとうございます!

background-color は、CSSによるウェブデザインの最初のステップです。色を変えるというシンプルな行為から、CSSの基本原理、様々なプロパティとの連携、そしてデザインやアクセシビリティといった重要な考慮事項まで、多くのことを学ぶことができたはずです。

ぜひ、学んだことを実際にコードを書いて試してみてください。自分で手を動かすことが、理解を深める一番の方法です。色々な要素の背景色を変えて、ウェブサイトがどのように変化するかを楽しんでください。

色の魔法を使って、あなたのウェブサイトをもっと魅力的に彩りましょう! 応援しています!


コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

上部へスクロール