【初心者向け】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)を分離することができます。これにより、以下のようなメリットが生まれます。
- 保守性の向上: デザインを変更したい場合、CSSファイルだけを編集すれば済みます。HTMLファイルはコンテンツが変わらない限り触る必要がありません。
- 効率化: 同じCSSファイルを複数のHTMLページに適用すれば、サイト全体で統一されたデザインを簡単に実現できます。
- アクセシビリティと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つあります。初心者の方には、外部スタイルシートが最も一般的で推奨される方法ですが、他の方法も知っておくと役立ちます。
-
インラインスタイルシート (Inline Styles):
HTMLタグのstyle
属性に直接CSSを記述する方法です。html
<p style="color: blue; font-size: 18px;">この段落は青い文字になります。</p>
メリット: 手軽に特定要素にスタイルを適用できる。
デメリット: スタイルがHTMLと混ざり合い、管理しにくい。同じスタイルを複数の要素に適用する場合、繰り返し記述する必要がある。後述する詳細度が高くなりすぎる。 -
内部スタイルシート (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を記述する必要がある。 -
外部スタイルシート (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ファイルを作成し、基本的なスタイルを適用する準備をしましょう。
- フォルダの作成: PCの任意の場所に、作業用フォルダを作成します。例えば、「my-website」など。
-
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業界では最も標準的な形式と言えるでしょう。
- 色を数値で細かく調整したい、プログラミング的に扱いたい: RGBやHSLが適しています。特に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
こちらも同じ背景色になります。
このボックスは特別な背景色です。
普通の段落です。
“`
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つの要素に基づいて優先順位を決定します。
- ソースの順序: 同じ優先順位のルールがあった場合、後から書かれた(定義された)ルールが優先されます。
- 詳細度 (Specificity): より具体的な要素を指定しているセレクタを持つルールほど優先されます。
- 重要度 (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-0div 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-color
は background-image
よりも下に描画されるという点です。
要素に background-image
と background-color
の両方が指定されている場合、ブラウザはまず指定された background-color
で要素の背景を塗りつぶし、その上に background-image
を描画します。
- 画像が完全に不透明な場合: 背景画像が背景色を完全に覆い隠すため、背景色は見えなくなります。
- 画像が透過している(PNGなど)場合: 画像の透過している部分から、下の背景色が透けて見えます。
- 画像が表示できない場合(パス間違いなど): 背景画像が表示されないため、代わりに背景色が表示されます。
この性質は非常に便利です。
- 画像が表示されない場合の代替色: 背景画像のパスが間違っていたり、画像ファイルが削除されたりして画像が表示できない場合でも、背景色を指定しておけば、真っ白な背景になるのを防ぎ、最低限のデザインや視認性を保つことができます。
- 透過画像の背景: ロゴ画像やアイコンなど、透過PNGを使っている場合に、その背後に背景色を敷くことで、画像の色と背景色の組み合わせを制御できます。
- 背景画像が見つかりにくい場合のサポート: テクスチャ画像などを背景に敷く場合、画像だけでは視認性が低いことがあります。その下に薄い背景色を敷くことで、画像の効果を保ちつつ、背景全体を明るくしたり暗くしたりして、その上の文字などを見やすくすることができます。
- 重ね合わせ効果: 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: 要素の実際の内容(テキスト、画像など)が表示される領域です。
width
やheight
プロパティでサイズを指定した場合、デフォルトではこの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;
)では、width
と height
はContent Boxのサイズを指します。この場合、padding
や border
を追加すると、要素全体の表示サイズ(width
+ padding*2
+ border*2
)が指定した width
より大きくなります。そして、背景色は padding
の外側まで適用されます。
しかし、box-sizing: border-box;
を指定すると、width
と height
は Border Box のサイズを指すようになります。このモードでは、指定した width
と height
の中に padding
と border
が含まれるように、Content Box のサイズが自動的に計算されます。
box-sizing: border-box;
を使用している場合でも、background-color
の適用範囲は Padding Box の外端まで であり、これはデフォルトの content-box
の場合と同じです。しかし、width
/height
と padding
/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-overlayの
background-colorに
rgba(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のデバッグ方法を見てみましょう。
- 要素の選択: ブラウザ上で調べたい要素(例: 背景色がおかしいと感じる
div
)の上で右クリックし、「検証」を選択します。すると、開発者ツールのElementsパネルが開いて、対応するHTML要素がハイライトされます。または、開発者ツールの左上にある矢印アイコンをクリックし、ページ上の要素をクリックしても選択できます。 - 適用されているスタイルの確認: Elementsパネルで要素を選択した状態で、右側のStylesパネルを確認します。ここには、その要素に現在適用されている全てのCSSルールが表示されます。
background-color
プロパティを探す: Stylesパネルをスクロールして、background-color
プロパティを探します。複数のルールで同じプロパティが指定されている場合、最も詳細度が高く優先されているルールが通常の上に表示され、無効になっているルールは打ち消し線が引かれて表示されます。- 無効になっている原因の特定: 打ち消し線が引かれている
background-color
がある場合、なぜそのスタイルが適用されていないのかを確認します。通常、その上により詳細度の高いセレクタや、CSSファイル内で後から記述された同じ詳細度のルールが存在するためです。Stylesパネルには、どのセレクタがそのスタイルを指定しているか(例:.my-class
,#my-id
など)も表示されるので、優先されているルールと優先されていないルールのセレクタを比較して詳細度を確認できます。 - スタイルの一時的な変更: Stylesパネルでプロパティや値を直接クリックして編集することができます。例えば、
background-color: lightblue;
をbackground-color: red;
に変更して、リアルタイムでページの表示が変わるか確認できます。値の横にあるチェックボックスをオンオフすることで、そのスタイルルールを一時的に無効にしたり有効にしたりすることも可能です。これにより、どのスタイルが影響しているかを切り分けられます。 - 適用元のCSSファイルを確認: Stylesパネルに表示されている各CSSルールの右側には、そのルールが記述されているCSSファイル名と行番号が表示されています(例:
style.css:50
)。これをクリックすると、Sourcesパネルが開いて、そのCSSファイルの該当箇所を確認できます。
開発者ツールを使うことで、自分の書いたCSSが正しくブラウザに読み込まれているか、意図した要素にスタイルが適用されているか、他のスタイルに上書きされていないかなどを視覚的に確認でき、問題の原因を素早く特定できます。
よくある問題とその解決策(色が表示されない、違う色になるなど)
背景色の設定で初心者の方がよく遭遇する問題と、その解決策をいくつか挙げます。
-
背景色が全く表示されない:
- 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);
のように透明色が指定されていないか確認します。
- CSSファイルがHTMLにリンクされていない:
-
意図した色と違う色が表示される:
- 詳細度の競合: より詳細度の高いセレクタを持つ別のルールで、同じ要素に異なる
background-color
が指定されている可能性があります。開発者ツールのStylesパネルで、どのルールが優先されているか確認しましょう。 - ソースの順序: 同じ詳細度を持つルールが複数ある場合、CSSファイル内で後から書かれたルールが優先されます。意図したスタイルが後ろに書かれているか確認しましょう。
- スペルミス: プロパティ名 (
background-color
) や色の値(lightblue
,#007bff
,rgba(...)
など)にスペルミスがないか確認しましょう。スペルが間違っていると、そのスタイル自体が無効になります。 - キャッシュ: ブラウザが古いCSSファイルをキャッシュしている場合があります。スーパーリロード(Windows: Ctrl + F5, Mac: Cmd + Shift + R)を試して、最新のCSSファイルが読み込まれるようにしましょう。
!important
の使用: 他の場所で!important
が使われていると、そのスタイルが意図しない優先度で適用されている可能性があります。開発者ツールで!important
が付いているスタイルがないか確認しましょう。
- 詳細度の競合: より詳細度の高いセレクタを持つ別のルールで、同じ要素に異なる
-
背景色が子要素にも適用されてしまう(させたくないのに):
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だけで要素を動かしたり、スタイルの変化を滑らかにしたりすることができます。
:hover
とtransition
を組み合わせるだけでも簡単なアニメーションが作れますが、@keyframes
やanimation
プロパティを学ぶと、より複雑なアニメーションが可能になります。
学習を続けるためのリソース
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の基本原理、様々なプロパティとの連携、そしてデザインやアクセシビリティといった重要な考慮事項まで、多くのことを学ぶことができたはずです。
ぜひ、学んだことを実際にコードを書いて試してみてください。自分で手を動かすことが、理解を深める一番の方法です。色々な要素の背景色を変えて、ウェブサイトがどのように変化するかを楽しんでください。
色の魔法を使って、あなたのウェブサイトをもっと魅力的に彩りましょう! 応援しています!