「HTML(エイチティーエムエル)で色を変えたいけど、どんなタグがあるの?」
「そもそもHTMLの基本タグってどんなもの?」
と悩んでいませんか?
また、
- 「文字の色を変えたいけど、どのタグを使えばいいの?」
- 「背景の色も変えられるの?」
- 「きれいな色の組み合わせを知りたい」
- 「スマホでもちゃんと表示されるかな?」
そんな疑問を持つ方も多いのではないでしょうか。
実は、HTMLで色を変える方法はとてもシンプルです。
この記事でわかること:
- HTMLの基本タグ一覧と使い方
- 色を変えるための具体的な方法
- 実際に使える色の指定方法
- よくある失敗例と改善方法
- 現代的なCSS活用法
この記事を読めば、サイト作りやブログカスタマイズがもっと楽しくなりますよ!
HTMLの基本構造とタグの役割

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>
</head>
<body>
<!-- ここにページの内容を書く -->
<h1>見出し</h1>
<p>段落の内容</p>
</body>
</html>
各部分の役割
<!DOCTYPE html>
:
- HTML5であることを宣言
- ブラウザに正しい表示方法を伝える
<html lang="ja">
:
- HTML文書全体を囲む
lang="ja"
で日本語のページであることを示す
<head>
:
- ページの設定情報を記述
- ユーザーには直接見えない部分
<body>
:
- ページの本文
- ユーザーが実際に見る内容
基本的なHTMLタグの分類
HTMLタグは大きく分けて以下の種類があります:
1. 構造を表すタグ
- ページの骨組みを作る
- 検索エンジンが理解しやすい
- アクセシビリティにも重要
2. 内容を表すタグ
- 実際の文章や画像を表示
- ユーザーが見る部分
- 情報の意味を表現
3. 装飾に関するタグ
- 見た目を変える
- 現在はCSSで行うことが推奨
- HTMLは構造、CSSは装飾の分離
HTMLのよく使う基本タグ一覧
文書構造タグ
タグ | 意味 | 使い方 | 例 |
---|---|---|---|
<html> | HTML文書全体 | 必須の最上位タグ | <html lang="ja"> |
<head> | ページの設定情報 | メタ情報を含む | <head>...</head> |
<body> | ページの本文 | 実際の表示内容 | <body>...</body> |
<header> | ページのヘッダー | サイトの上部 | <header>...</header> |
<nav> | ナビゲーション | メニューなど | <nav>...</nav> |
<main> | メインコンテンツ | ページの中心内容 | <main>...</main> |
<article> | 記事 | ブログ記事など | <article>...</article> |
<section> | セクション | 内容の区切り | <section>...</section> |
<aside> | サイドバー | 補足情報 | <aside>...</aside> |
<footer> | フッター | ページの下部 | <footer>...</footer> |
構造タグの実際の使用例
<body>
<header>
<h1>サイトタイトル</h1>
<nav>
<ul>
<li><a href="#home">ホーム</a></li>
<li><a href="#about">会社概要</a></li>
<li><a href="#contact">お問い合わせ</a></li>
</ul>
</nav>
</header>
<main>
<article>
<h2>記事タイトル</h2>
<p>記事の内容...</p>
</article>
<aside>
<h3>関連リンク</h3>
<ul>
<li><a href="#link1">リンク1</a></li>
<li><a href="#link2">リンク2</a></li>
</ul>
</aside>
</main>
<footer>
<p>© 2024 サイト名</p>
</footer>
</body>
見出しと段落タグ
タグ | 意味 | 重要度 | 使用例 |
---|---|---|---|
<h1> | 最大の見出し | 最高 | <h1>記事タイトル</h1> |
<h2> | 大見出し | 高 | <h2>章タイトル</h2> |
<h3> | 中見出し | 中 | <h3>節タイトル</h3> |
<h4> | 小見出し | 低 | <h4>小節タイトル</h4> |
<h5> | より小さい見出し | 低 | <h5>詳細見出し</h5> |
<h6> | 最小の見出し | 最低 | <h6>補足見出し</h6> |
<p> | 段落 | – | <p>段落の内容</p> |
見出しタグの重要性
SEOへの影響:
- h1タグは1ページに1つだけ使用
- 階層構造を正しく作る(h1→h2→h3の順番)
- キーワードを適切に含める
使用例:
<h1>HTMLの基本講座</h1>
<h2>HTMLとは何か</h2>
<h3>HTMLの歴史</h3>
<h3>HTMLの特徴</h3>
<h2>基本的なタグ</h2>
<h3>見出しタグ</h3>
<h4>h1タグの使い方</h4>
<h4>h2タグの使い方</h4>
<h3>段落タグ</h3>
テキスト装飾タグ
タグ | 意味 | 表示 | 使用例 | 注意点 |
---|---|---|---|---|
<strong> | 重要な内容 | 太字 | <strong>重要</strong> | 意味的に重要 |
<em> | 強調 | 斜体 | <em>強調</em> | 意味的な強調 |
<b> | 太字 | 太字 | <b>太字</b> | 見た目のみ |
<i> | 斜体 | 斜体 | <i>斜体</i> | 見た目のみ |
<u> | 下線 | <u>下線</u> | <u>下線</u> | 混乱を避ける |
<s> | 取り消し線 | ~~取り消し~~ | <s>取り消し</s> | 削除された内容 |
<mark> | ハイライト | マーク | <mark>ハイライト</mark> | 検索結果など |
<small> | 小さい文字 | 小さい文字 | <small>注釈</small> | 補足情報 |
<sub> | 下付き文字 | H₂O | H<sub>2</sub>O | 化学式など |
<sup> | 上付き文字 | x² | x<sup>2</sup> | 数式など |
セマンティックとプレゼンテーション
セマンティック(意味重視):
<p>この情報は<strong>とても重要</strong>です。</p>
<p>彼は<em>本当に</em>驚いていました。</p>
プレゼンテーション(見た目重視):
<p>この文字は<b>太字</b>で表示されます。</p>
<p>この文字は<i>斜体</i>で表示されます。</p>
リンクと画像タグ
タグ | 意味 | 重要な属性 | 使用例 |
---|---|---|---|
<a> | リンク | href , target , rel | <a href="https://example.com">リンク</a> |
<img> | 画像 | src , alt , width , height | <img src="image.jpg" alt="画像説明"> |
リンクタグの詳細
基本的なリンク:
<a href="https://www.google.com">Googleへ移動</a>
<a href="about.html">会社概要ページ</a>
<a href="#section1">ページ内リンク</a>
<a href="mailto:info@example.com">メール送信</a>
<a href="tel:03-1234-5678">電話をかける</a>
新しいタブで開く:
<a href="https://example.com" target="_blank" rel="noopener noreferrer">
外部サイト
</a>
画像タグの詳細
基本的な画像表示:
<img src="photo.jpg" alt="美しい風景写真" width="300" height="200">
レスポンシブ画像:
<img src="image.jpg" alt="説明" style="max-width: 100%; height: auto;">
リストタグ
タグ | 意味 | 使用例 |
---|---|---|
<ul> | 順序なしリスト | <ul><li>項目1</li></ul> |
<ol> | 順序ありリスト | <ol><li>項目1</li></ol> |
<li> | リスト項目 | <li>項目</li> |
<dl> | 説明リスト | <dl><dt>用語</dt><dd>説明</dd></dl> |
<dt> | 用語 | <dt>用語</dt> |
<dd> | 説明 | <dd>説明</dd> |
リストの実用例
順序なしリスト(箇条書き):
<ul>
<li>HTML</li>
<li>CSS</li>
<li>JavaScript</li>
</ul>
順序ありリスト(番号付き):
<ol>
<li>HTMLファイルを作成</li>
<li>CSSでスタイルを設定</li>
<li>ブラウザで表示確認</li>
</ol>
説明リスト(用語と説明):
<dl>
<dt>HTML</dt>
<dd>HyperText Markup Languageの略で、ウェブページの構造を作る言語</dd>
<dt>CSS</dt>
<dd>Cascading Style Sheetsの略で、ウェブページの見た目を装飾する言語</dd>
</dl>
表(テーブル)タグ
タグ | 意味 | 使用例 |
---|---|---|
<table> | 表全体 | <table>...</table> |
<thead> | 表のヘッダー | <thead>...</thead> |
<tbody> | 表の本体 | <tbody>...</tbody> |
<tfoot> | 表のフッター | <tfoot>...</tfoot> |
<tr> | 表の行 | <tr>...</tr> |
<th> | 表の見出しセル | <th>見出し</th> |
<td> | 表のデータセル | <td>データ</td> |
表の実用例
<table>
<thead>
<tr>
<th>商品名</th>
<th>価格</th>
<th>在庫</th>
</tr>
</thead>
<tbody>
<tr>
<td>ノートパソコン</td>
<td>89,800円</td>
<td>5台</td>
</tr>
<tr>
<td>マウス</td>
<td>2,980円</td>
<td>20個</td>
</tr>
</tbody>
</table>
レイアウトタグ
タグ | 意味 | 用途 | 使用例 |
---|---|---|---|
<div> | 汎用ブロック要素 | レイアウト | <div class="container">...</div> |
<span> | 汎用インライン要素 | 文字装飾 | <span class="highlight">文字</span> |
<br> | 改行 | 強制改行 | 改行前<br>改行後 |
<hr> | 水平線 | 区切り線 | <hr> |
divとspanの使い分け
div(ブロック要素):
<div class="article-container">
<h2>記事タイトル</h2>
<p>記事の内容...</p>
</div>
span(インライン要素):
<p>この文章の中で<span class="important">重要な部分</span>だけ強調します。</p>
フォームタグ
タグ | 意味 | 属性 | 使用例 |
---|---|---|---|
<form> | フォーム全体 | action , method | <form action="/submit" method="post"> |
<input> | 入力欄 | type , name , placeholder | <input type="text" name="username"> |
<textarea> | 複数行入力 | rows , cols | <textarea rows="5" cols="40"></textarea> |
<select> | 選択肢 | name | <select name="country"> |
<option> | 選択肢の項目 | value | <option value="japan">日本</option> |
<button> | ボタン | type | <button type="submit">送信</button> |
<label> | ラベル | for | <label for="username">ユーザー名</label> |
フォームの実用例
<form action="/contact" method="post">
<div>
<label for="name">お名前:</label>
<input type="text" id="name" name="name" required>
</div>
<div>
<label for="email">メールアドレス:</label>
<input type="email" id="email" name="email" required>
</div>
<div>
<label for="message">メッセージ:</label>
<textarea id="message" name="message" rows="5" required></textarea>
</div>
<button type="submit">送信</button>
</form>
HTMLで色を変えるときによく使うタグと方法

基本的な色の指定方法
1. インラインスタイルで色を指定
段落(p)タグで色を指定:
<p style="color: blue;">青い文字</p>
<p style="background-color: yellow;">背景が黄色</p>
<p style="color: red; background-color: #f0f0f0;">赤い文字、薄いグレーの背景</p>
見出しタグで色を指定:
<h1 style="color: #2c3e50;">ダークブルーの大見出し</h1>
<h2 style="color: #e74c3c;">赤い中見出し</h2>
<h3 style="color: #f39c12; background-color: #fef9e7;">オレンジ文字、薄い黄色背景</h3>
2. spanタグで文字の一部だけ色を変える
使用例:
<p>この文章の中で <span style="color: red;">赤い部分</span> だけ色が違います。</p>
<p>重要な<span style="color: blue; font-weight: bold;">青い太字</span>の部分があります。</p>
<p>価格は<span style="color: #e74c3c; font-size: 1.2em;">特別価格9,800円</span>です!</p>
3. divタグで大きな範囲の色を変える
使用例:
<div style="background-color: #f0f0f0; padding: 20px; border: 1px solid #ccc;">
<h3>ボックス内の見出し</h3>
<p>この中全部が薄いグレーの背景になります。</p>
<p>複数の段落も同じ背景色になります。</p>
</div>
<div style="background-color: #e8f4fd; padding: 15px; border-left: 4px solid #007bff;">
<h4>情報ボックス</h4>
<p>お知らせや重要な情報を目立たせることができます。</p>
</div>
よく使う色の組み合わせ例
1. 注意を引く色合い
警告メッセージ:
<div style="background-color: #fff3cd; border: 1px solid #ffeaa7; padding: 15px; color: #856404; border-radius: 5px;">
<strong>⚠️ 注意:</strong> 重要な情報があります。必ずお読みください。
</div>
エラーメッセージ:
<div style="background-color: #f8d7da; border: 1px solid #f5c6cb; padding: 15px; color: #721c24; border-radius: 5px;">
<strong>❌ エラー:</strong> 入力内容を確認してください。
</div>
成功メッセージ:
<div style="background-color: #d4edda; border: 1px solid #c3e6cb; padding: 15px; color: #155724; border-radius: 5px;">
<strong>✅ 成功:</strong> 処理が正常に完了しました。
</div>
2. 読みやすい色合い
引用文:
<blockquote style="background-color: #f8f9fa; border-left: 4px solid #007bff; padding: 15px; margin: 20px 0; color: #495057; font-style: italic;">
「ここに引用文が入ります。背景色とボーダーで引用であることを明確にしています。」
<footer style="margin-top: 10px; font-size: 0.9em; color: #6c757d;">— 著者名</footer>
</blockquote>
コードブロック:
<pre style="background-color: #f8f8f8; border: 1px solid #e9ecef; padding: 15px; color: #212529; font-family: monospace; overflow-x: auto; border-radius: 5px;">
function hello() {
console.log("Hello, World!");
return "プログラムコードの例";
}
</pre>
3. 情報の種類別色分け
情報カード:
<div style="background-color: #e7f3ff; border: 1px solid #b3d7ff; padding: 20px; margin: 10px 0; border-radius: 8px;">
<h4 style="color: #0056b3; margin-top: 0;">? ヒント</h4>
<p style="margin-bottom: 0;">役立つ情報やコツをここに書きます。</p>
</div>
<div style="background-color: #f0f9ff; border: 1px solid #bae6fd; padding: 20px; margin: 10px 0; border-radius: 8px;">
<h4 style="color: #0284c7; margin-top: 0;">? メモ</h4>
<p style="margin-bottom: 0;">補足説明や詳細情報をここに記載します。</p>
</div>
現代的なアプローチ:CSSクラスの使用
インラインスタイルの問題点
問題点:
- 保守性が悪い(同じスタイルを何度も書く)
- コードが読みにくい(HTMLとCSSが混在)
- 再利用性が低い
- 修正が大変(すべての箇所を個別に変更)
CSSクラスを使った改善方法
HTML:
<head>
<style>
/* 文字色のクラス */
.text-blue { color: #007bff; }
.text-red { color: #dc3545; }
.text-green { color: #28a745; }
.text-orange { color: #fd7e14; }
/* 背景色のクラス */
.bg-light { background-color: #f8f9fa; }
.bg-primary { background-color: #007bff; color: white; }
.bg-warning { background-color: #fff3cd; }
/* 組み合わせクラス */
.highlight {
color: #721c24;
background-color: #f8d7da;
padding: 2px 6px;
border-radius: 3px;
}
.info-box {
background-color: #e7f3ff;
border: 1px solid: #b3d7ff;
padding: 15px;
margin: 10px 0;
border-radius: 5px;
}
.success-button {
background-color: #28a745;
color: white;
padding: 10px 20px;
border: none;
border-radius: 5px;
cursor: pointer;
}
</style>
</head>
<body>
<p class="text-blue">青い文字</p>
<p class="bg-warning">警告の背景色</p>
<p>この文章の中で <span class="highlight">重要な部分</span> があります。</p>
<div class="info-box">
<h3>情報ボックス</h3>
<p>統一されたスタイルの情報ボックスです。</p>
<button class="success-button">アクション実行</button>
</div>
</body>
HTMLで使える色の指定方法

1. 色名(キーワード)で指定
基本的な色名一覧
色名 | 色 | 16進数 | 用途 | RGB値 |
---|---|---|---|---|
red | 赤 | #FF0000 | 警告、エラー | rgb(255, 0, 0) |
blue | 青 | #0000FF | リンク、情報 | rgb(0, 0, 255) |
green | 緑 | #008000 | 成功、自然 | rgb(0, 128, 0) |
yellow | 黄 | #FFFF00 | 注意、ハイライト | rgb(255, 255, 0) |
orange | オレンジ | #FFA500 | 警告、アクセント | rgb(255, 165, 0) |
purple | 紫 | #800080 | 高級感、特別 | rgb(128, 0, 128) |
pink | ピンク | #FFC0CB | 柔らかさ、女性的 | rgb(255, 192, 203) |
brown | 茶色 | #A52A2A | 自然、落ち着き | rgb(165, 42, 42) |
black | 黒 | #000000 | 文字、強調 | rgb(0, 0, 0) |
white | 白 | #FFFFFF | 背景、清潔感 | rgb(255, 255, 255) |
gray | 灰色 | #808080 | 中性、背景 | rgb(128, 128, 128) |
silver | 銀色 | #C0C0C0 | 上品、モダン | rgb(192, 192, 192) |
その他の色名
色名 | 色 | 説明 |
---|---|---|
lightblue | 薄い青 | 穏やかな印象 |
darkred | 暗い赤 | 深みのある赤 |
lightgray | 薄いグレー | 背景によく使用 |
darkgreen | 暗い緑 | 自然で落ち着いた緑 |
navy | 紺色 | 深い青、ビジネス的 |
maroon | 栗色 | 深い赤茶色 |
olive | オリーブ色 | くすんだ緑 |
teal | ティール | 青緑色 |
使用例
<p style="color: red;">赤い文字</p>
<p style="color: blue; background-color: lightblue;">青い文字、薄い青背景</p>
<p style="color: darkgreen;">深い緑の文字</p>
<p style="color: orange; background-color: lightyellow;">オレンジの文字、薄い黄色背景</p>
2. 16進数カラーコード(HEX)で指定
16進数の基本的な仕組み
形式: #RRGGBB
- RR: 赤(Red)の強さ(00-FF)
- GG: 緑(Green)の強さ(00-FF)
- BB: 青(Blue)の強さ(00-FF)
16進数の理解
数値の対応表:
10進数 | 16進数 | パーセント |
---|---|---|
0 | 00 | 0% |
64 | 40 | 25% |
128 | 80 | 50% |
192 | C0 | 75% |
255 | FF | 100% |
よく使われるカラーコード一覧
色 | カラーコード | 説明 | 用途 |
---|---|---|---|
純粋な赤 | #FF0000 | 赤=最大、緑=0、青=0 | エラー、警告 |
純粋な緑 | #00FF00 | 赤=0、緑=最大、青=0 | 成功、OK |
純粋な青 | #0000FF | 赤=0、緑=0、青=最大 | リンク、情報 |
白 | #FFFFFF | 全て最大 | 背景、清潔感 |
黒 | #000000 | 全て0 | 文字、強調 |
薄いグレー | #F0F0F0 | 全て高い値 | 背景、境界 |
濃いグレー | #333333 | 全て低い値 | 文字、見出し |
オレンジ | #FF6600 | 赤=最大、緑=中、青=0 | アクセント |
紫 | #9966CC | 赤=中、緑=中、青=高 | 特別、高級 |
実用的なカラーパレット
ビジネス系サイト:
<div style="color: #2c3e50;">メインテキスト(ダークグレー)</div>
<div style="color: #3498db;">リンクテキスト(ブルー)</div>
<div style="background-color: #ecf0f1;">背景色(ライトグレー)</div>
<div style="color: #e74c3c;">エラーテキスト(レッド)</div>
<div style="color: #27ae60;">成功テキスト(グリーン)</div>
ポップなサイト:
<div style="color: #ff6b6b;">明るい赤</div>
<div style="color: #4ecdc4;">ターコイズ</div>
<div style="color: #45b7d1;">スカイブルー</div>
<div style="color: #f9ca24;">サンイエロー</div>
<div style="color: #6c5ce7;">ライトパープル</div>
短縮形(3文字)の使用
6文字と3文字の関係:
<!-- 以下は同じ色 -->
<p style="color: #FF0000;">6文字形式</p>
<p style="color: #F00;">3文字形式(短縮)</p>
<!-- 以下も同じ色 -->
<p style="color: #0066CC;">6文字形式</p>
<p style="color: #06C;">3文字形式(短縮)</p>
<!-- 短縮できない例 -->
<p style="color: #FF6600;">これは短縮可能(#F60)</p>
<p style="color: #FF6789;">これは短縮不可能</p>
3. RGB値で指定
RGB関数の使用
基本的な書き方:
<p style="color: rgb(255, 0, 0);">赤い文字(RGB)</p>
<p style="color: rgb(0, 128, 255);">青い文字(RGB)</p>
<p style="background-color: rgb(240, 240, 240);">薄いグレー背景(RGB)</p>
RGBA(透明度付き)の使用
透明度の指定:
<p style="color: rgba(255, 0, 0, 0.5);">半透明の赤い文字</p>
<p style="background-color: rgba(0, 0, 255, 0.3);">半透明の青い背景</p>
<p style="background-color: rgba(0, 0, 0, 0.1);">うっすらとした黒い背景</p>
透明度の活用例:
<div style="position: relative; background-color: #f0f0f0; padding: 20px;">
<p>背景のテキスト</p>
<div style="position: absolute; top: 0; left: 0; right: 0; bottom: 0; background-color: rgba(255, 255, 255, 0.8); padding: 20px;">
<p>半透明の白い重ね合わせ</p>
</div>
</div>
4. HSL値で指定
HSL(色相・彩度・明度)
HSL の意味:
- H(Hue): 色相(0-360度)
- S(Saturation): 彩度(0-100%)
- L(Lightness): 明度(0-100%)
色相の対応表:
色 | 度数 |
---|---|
赤 | 0° / 360° |
オレンジ | 30° |
黄 | 60° |
緑 | 120° |
シアン | 180° |
青 | 240° |
マゼンタ | 300° |
使用例:
<p style="color: hsl(0, 100%, 50%);">赤い文字(HSL)</p>
<p style="color: hsl(120, 100%, 50%);">緑の文字(HSL)</p>
<p style="color: hsl(240, 100%, 50%);">青い文字(HSL)</p>
<p style="color: hsl(60, 100%, 50%);">黄色い文字(HSL)</p>
HSLA(透明度付き)
<p style="color: hsla(0, 100%, 50%, 0.7);">半透明の赤い文字</p>
<p style="background-color: hsla(240, 100%, 50%, 0.3);">半透明の青い背景</p>
実践的な色の使い方
1. 記事やブログでの色使い
見出しの色分け
<style>
h1 {
color: #2c3e50;
border-bottom: 3px solid #3498db;
padding-bottom: 10px;
}
h2 {
color: #3498db;
border-left: 4px solid #3498db;
padding-left: 15px;
}
h3 {
color: #e74c3c;
background-color: #fdf2f2;
padding: 8px 12px;
border-radius: 4px;
}
h4 {
color: #f39c12;
position: relative;
}
h4::before {
content: "▶";
color: #f39c12;
margin-right: 8px;
}
</style>
<h1>メインタイトル</h1>
<h2>大見出し</h2>
<h3>中見出し</h3>
<h4>小見出し</h4>
強調とハイライト
<style>
.important {
color: #e74c3c;
font-weight: bold;
background-color: #fdf2f2;
padding: 2px 6px;
border-radius: 3px;
}
.note {
background-color: #fff3cd;
padding: 15px;
border-left: 4px solid #ffc107;
margin: 15px 0;
border-radius: 0 4px 4px 0;
}
.code {
background-color: #f8f9fa;
padding: 2px 6px;
font-family: monospace;
border: 1px solid #e9ecef;
border-radius: 3px;
color: #d63384;
}
.highlight {
background-color: #ffeb3b;
padding: 1px 4px;
border-radius: 2px;
}
</style>
<p>これは <span class="important">重要な情報</span> です。</p>
<div class="note">
<strong>? ヒント:</strong> この点にご注意ください。
</div>
<p>コマンドは <span class="code">npm install</span> を実行してください。</p>
<p>この部分は<span class="highlight">ハイライト</span>されています。</p>
2. ユーザーインターフェースでの色使い
ボタンの色分け
<style>
.btn {
padding: 12px 24px;
border: none;
cursor: pointer;
text-decoration: none;
display: inline-block;
margin: 5px;
border-radius: 6px;
font-size: 14px;
font-weight: 500;
transition: all 0.3s ease;
}
.btn-primary {
background-color: #007bff;
color: white;
}
.btn-primary:hover {
background-color: #0056b3;
transform: translateY(-1px);
}
.btn-success {
background-color: #28a745;
color: white;
}
.btn-success:hover {
background-color: #1e7e34;
}
.btn-warning {
background-color: #ffc107;
color: #212529;
}
.btn-warning:hover {
background-color: #e0a800;
}
.btn-danger {
background-color: #dc3545;
color: white;
}
.btn-danger:hover {
background-color: #c82333;
}
.btn-outline {
background-color: transparent;
border: 2px solid #007bff;
color: #007bff;
}
.btn-outline:hover {
background-color: #007bff;
color: white;
}
</style>
<button class="btn btn-primary">主要なボタン</button>
<button class="btn btn-success">成功ボタン</button>
<button class="btn btn-warning">警告ボタン</button>
<button class="btn btn-danger">危険なボタン</button>
<button class="btn btn-outline">アウトラインボタン</button>
ステータス表示
<style>
.status {
padding: 6px 12px;
border-radius: 20px;
font-size: 12px;
font-weight: bold;
display: inline-block;
margin: 2px;
}
.status-active {
background-color: #d4edda;
color: #155724;
border: 1px solid #c3e6cb;
}
.status-pending {
background-color: #fff3cd;
color: #856404;
border: 1px solid #ffeaa7;
}
.status-error {
background-color: #f8d7da;
color: #721c24;
border: 1px solid #f5c6cb;
}
.status-inactive {
background-color: #e2e3e5;
color: #6c757d;
border: 1px solid #d6d8db;
}
</style>
<span class="status status-active">✅ アクティブ</span>
<span class="status status-pending">⏳ 保留中</span>
<span class="status status-error">❌ エラー</span>
<span class="status status-inactive">⭕ 非アクティブ</span>
プログレスバー
<style>
.progress {
background-color: #e9ecef;
border-radius: 10px;
overflow: hidden;
height: 20px;
margin: 10px 0;
}
.progress-bar {
height: 100%;
background-color: #007bff;
text-align: center;
line-height: 20px;
color: white;
font-size: 12px;
transition: width 0.3s ease;
}
.progress-success .progress-bar {
background-color: #28a745;
}
.progress-warning .progress-bar {
background-color: #ffc107;
color: #212529;
}
.progress-danger .progress-bar {
background-color: #dc3545;
}
</style>
<div class="progress">
<div class="progress-bar" style="width: 25%;">25%</div>
</div>
<div class="progress progress-success">
<div class="progress-bar" style="width: 75%;">75%</div>
</div>
<div class="progress progress-warning">
<div class="progress-bar" style="width: 50%;">50%</div>
</div>
<div class="progress progress-danger">
<div class="progress-bar" style="width: 90%;">90%</div>
</div>
3. アクセシビリティを考慮した色使い
コントラスト比の確保
良い例(コントラスト比が高い):
<p style="color: #000000; background-color: #ffffff;">黒文字、白背景(コントラスト比 21:1)</p>
<p style="color: #ffffff; background-color: #000000;">白文字、黒背景(コントラスト比 21:1)</p>
<p style="color: #0066cc; background-color: #ffffff;">青文字、白背景(コントラスト比 7.2:1)</p>
<p style="color: #ffffff; background-color: #d63384;">白文字、ピンク背景(コントラスト比 4.7:1)</p>
悪い例(コントラスト比が低い):
<p style="color: #ffff00; background-color: #ffffff;">❌ 黄文字、白背景(見づらい)</p>
<p style="color: #cccccc; background-color: #ffffff;">❌ 薄いグレー文字、白背景(見づらい)</p>
<p style="color: #ff6666; background-color: #ffcccc;">❌ 薄い赤文字、薄いピンク背景(見づらい)</p>
色覚特性への配慮
色だけに頼らない情報伝達:
<style>
.message {
padding: 12px;
border-radius: 4px;
margin: 8px 0;
display: flex;
align-items: center;
gap: 8px;
}
.message-success {
background-color: #d4edda;
color: #155724;
border: 1px solid #c3e6cb;
}
.message-error {
background-color: #f8d7da;
color: #721c24;
border: 1px solid #f5c6cb;
}
.message-warning {
background-color: #fff3cd;
color: #856404;
border: 1px solid #ffeaa7;
}
</style>
<!-- 良い例:アイコンと色の両方で情報を伝達 -->
<div class="message message-success">
<span>✅</span>
<span>処理が成功しました</span>
</div>
<div class="message message-error">
<span>❌</span>
<span>エラーが発生しました</span>
</div>
<div class="message message-warning">
<span>⚠️</span>
<span>注意が必要です</span>
</div>
色を変えるときの注意点とベストプラクティス

1. 読みやすさを重視する
コントラスト比の確保
推奨されるコントラスト比:
- 通常のテキスト: 4.5:1 以上
- 大きなテキスト: 3:1 以上
- 重要な情報: 7:1 以上
実用的な組み合わせ:
<!-- 推奨される組み合わせ -->
<p style="color: #212529; background-color: #ffffff;">濃いグレー×白(コントラスト比 16.1:1)</p>
<p style="color: #ffffff; background-color: #343a40;">白×濃いグレー(コントラスト比 15.3:1)</p>
<p style="color: #0d6efd; background-color: #ffffff;">青×白(コントラスト比 5.9:1)</p>
<!-- 避けるべき組み合わせ -->
<p style="color: #6c757d; background-color: #f8f9fa;">❌ グレー×薄いグレー(コントラスト比 2.8:1)</p>
<p style="color: #ffc107; background-color: #ffffff;">❌ 黄色×白(コントラスト比 1.8:1)</p>
フォントサイズとの関係
<style>
.large-text {
font-size: 18px;
font-weight: bold;
}
.normal-text {
font-size: 16px;
}
.small-text {
font-size: 14px;
}
</style>
<!-- 大きいテキストはコントラスト比が低くても読める -->
<p class="large-text" style="color: #6c757d; background-color: #ffffff;">
大きいテキスト(コントラスト比 4.5:1でもOK)
</p>
<!-- 小さいテキストは高いコントラスト比が必要 -->
<p class="small-text" style="color: #212529; background-color: #ffffff;">
小さいテキスト(コントラスト比 7:1以上推奨)
</p>
2. 統一性を保つ
カラーパレットの設定
<style>
:root {
/* プライマリカラー */
--primary-color: #007bff;
--primary-light: #66b3ff;
--primary-dark: #0056b3;
/* セカンダリカラー */
--secondary-color: #6c757d;
--secondary-light: #a6adb4;
--secondary-dark: #545b62;
/* システムカラー */
--success-color: #28a745;
--warning-color: #ffc107;
--error-color: #dc3545;
--info-color: #17a2b8;
/* ニュートラルカラー */
--text-color: #212529;
--text-muted: #6c757d;
--bg-color: #ffffff;
--bg-light: #f8f9fa;
--border-color: #dee2e6;
}
/* 使用例 */
.text-primary { color: var(--primary-color); }
.text-success { color: var(--success-color); }
.text-warning { color: var(--warning-color); }
.text-error { color: var(--error-color); }
.text-muted { color: var(--text-muted); }
.bg-primary { background-color: var(--primary-color); color: white; }
.bg-light { background-color: var(--bg-light); }
.border { border: 1px solid var(--border-color); }
</style>
<p class="text-primary">プライマリカラーのテキスト</p>
<p class="text-success">成功を表すテキスト</p>
<div class="bg-light border" style="padding: 15px;">
<p class="text-muted">薄い背景のボックス内のテキスト</p>
</div>
3. 使いすぎを避ける
適切な色の使用数
推奨される色の使用数:
- メインカラー: 1-2色
- アクセントカラー: 1-2色
- システムカラー: 3-4色(成功、警告、エラーなど)
- ニュートラルカラー: 2-3色(テキスト、背景など)
色の優先順位
<style>
/* 1. テキストの読みやすさを最優先 */
body {
color: #212529;
background-color: #ffffff;
}
/* 2. 重要な情報を色で強調 */
.alert {
padding: 12px;
border-radius: 4px;
margin: 10px 0;
}
.alert-error {
background-color: #f8d7da;
color: #721c24;
border: 1px solid #f5c6cb;
}
/* 3. ブランドカラーで統一感を演出 */
.brand-header {
background-color: #007bff;
color: white;
padding: 20px;
}
/* 4. ユーザビリティを重視 */
.button-primary {
background-color: #007bff;
color: white;
padding: 10px 20px;
border: none;
border-radius: 4px;
cursor: pointer;
}
.button-primary:hover {
background-color: #0056b3;
}
.button-primary:focus {
outline: 2px solid #007bff;
outline-offset: 2px;
}
</style>
現代的なCSS活用法
1. CSS変数(カスタムプロパティ)の活用
<style>
:root {
/* ライトテーマ */
--bg-primary: #ffffff;
--bg-secondary: #f8f9fa;
--text-primary: #212529;
--text-secondary: #6c757d;
--accent-color: #007bff;
--border-color: #dee2e6;
--shadow-color: rgba(0, 0, 0, 0.1);
}
/* ダークテーマ */
[data-theme="dark"] {
--bg-primary: #1a1a1a;
--bg-secondary: #2d2d2d;
--text-primary: #e9ecef;
--text-secondary: #adb5bd;
--accent-color: #66b3ff;
--border-color: #495057;
--shadow-color: rgba(255, 255, 255, 0.1);
}
body {
background-color: var(--bg-primary);
color: var(--text-primary);
transition: background-color 0.3s ease, color 0.3s ease;
}
.card {
background-color: var(--bg-secondary);
border: 1px solid var(--border-color);
border-radius: 8px;
padding: 20px;
margin: 15px 0;
box-shadow: 0 2px 4px var(--shadow-color);
}
.link {
color: var(--accent-color);
text-decoration: none;
}
.link:hover {
text-decoration: underline;
}
.text-muted {
color: var(--text-secondary);
}
.theme-toggle {
background-color: var(--accent-color);
color: var(--bg-primary);
border: none;
padding: 8px 16px;
border-radius: 4px;
cursor: pointer;
}
</style>
<script>
function toggleTheme() {
const currentTheme = document.documentElement.getAttribute('data-theme');
const newTheme = currentTheme === 'dark' ? 'light' : 'dark';
document.documentElement.setAttribute('data-theme', newTheme);
// テーマ設定を保存
localStorage.setItem('theme', newTheme);
}
// ページ読み込み時にテーマを復元
document.addEventListener('DOMContentLoaded', function() {
const savedTheme = localStorage.getItem('theme');
if (savedTheme) {
document.documentElement.setAttribute('data-theme', savedTheme);
}
});
</script>
<button class="theme-toggle" onclick="toggleTheme()">? テーマ切り替え</button>
<div class="card">
<h3>カードタイトル</h3>
<p>カードの内容です。<a href="#" class="link">リンク</a>も含まれています。</p>
<p class="text-muted">補足情報や注釈です。</p>
</div>
2. レスポンシブな色設定
<style>
.responsive-text {
color: #333333;
font-size: 16px;
padding: 15px;
background-color: #ffffff;
border-radius: 8px;
margin: 10px 0;
}
/* タブレット */
@media (max-width: 768px) {
.responsive-text {
color: #555555;
font-size: 14px;
padding: 12px;
}
}
/* スマートフォン */
@media (max-width: 480px) {
.responsive-text {
color: #666666;
font-size: 13px;
padding: 10px;
background-color: #f9f9f9;
}
}
/* ダークモード対応 */
@media (prefers-color-scheme: dark) {
.responsive-text {
color: #e0e0e0;
background-color: #2d2d2d;
}
}
/* 高コントラストモード */
@media (prefers-contrast: high) {
.responsive-text {
color: #000000;
background-color: #ffffff;
border: 2px solid #000000;
}
}
/* アニメーション無効設定 */
@media (prefers-reduced-motion: reduce) {
.responsive-text {
transition: none;
}
}
</style>
<div class="responsive-text">
このテキストは画面サイズやユーザー設定に応じて色が変わります。
</div>
3. グラデーションの活用
<style>
.gradient-bg {
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
color: white;
padding: 30px;
border-radius: 12px;
text-align: center;
margin: 20px 0;
}
.gradient-text {
background: linear-gradient(45deg, #ff6b6b, #4ecdc4);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
font-size: 2em;
font-weight: bold;
}
.gradient-border {
background: linear-gradient(white, white) padding-box,
linear-gradient(45deg, #ff6b6b, #4ecdc4) border-box;
border: 3px solid transparent;
border-radius: 8px;
padding: 20px;
margin: 15px 0;
}
.radial-gradient {
background: radial-gradient(circle, #ffeb3b 0%, #ff9800 50%, #f44336 100%);
color: white;
padding: 20px;
border-radius: 50px;
text-align: center;
margin: 15px 0;
}
</style>
<div class="gradient-bg">
<h3>グラデーション背景</h3>
<p>美しいグラデーション背景のボックスです。</p>
</div>
<h2 class="gradient-text">グラデーションテキスト</h2>
<div class="gradient-border">
<h4>グラデーションボーダー</h4>
<p>枠線がグラデーションになっているボックスです。</p>
</div>
<div class="radial-gradient">
<p>放射状グラデーション</p>
</div>
トラブルシューティング

よくある問題と解決方法
問題1: 色が表示されない
原因:
- CSS の書き方が間違っている
- 優先度の問題
- ブラウザのキャッシュ
- タイプミス
解決方法:
<!-- 正しい書き方を確認 -->
<p style="color: red;">赤い文字</p>
<!-- よくある間違い -->
<p style="colour: red;">❌ 英国式スペルは使えません</p>
<p style="color:red">❌ 空白がないと認識されない場合があります</p>
<!-- 優先度を上げる -->
<p style="color: red !important;">赤い文字(強制適用)</p>
<!-- 16進数の場合 -->
<p style="color: #FF0000;">正しい16進数</p>
<p style="color: FF0000;">❌ #が抜けています</p>
問題2: 色が思った通りに表示されない
原因:
- モニターの設定
- ブラウザの違い
- カラーコードの間違い
- 他のCSSとの競合
解決方法:
<!-- カラーコードを確認 -->
<p style="color: #FF0000;">正しい赤</p>
<p style="color: #F00;">短縮形の赤</p>
<!-- RGB値で確認 -->
<p style="color: rgb(255, 0, 0);">RGB形式の赤</p>
<!-- 複数ブラウザでテスト -->
<p style="color: red;">基本色名で確認</p>
<!-- CSS の優先度を確認 -->
<p style="color: blue !important;">強制的に青</p>
問題3: 印刷時に色が出ない
原因:
- ブラウザの印刷設定
- プリンターの設定
- 印刷用CSS が適用されていない
解決方法:
<style>
/* 画面用の色設定 */
.colorful-text {
color: #007bff;
background-color: #f8f9fa;
}
/* 印刷用の色設定 */
@media print {
.colorful-text {
color: #000000 !important;
background-color: transparent !important;
-webkit-print-color-adjust: exact; /* Webkitブラウザ用 */
color-adjust: exact; /* 標準 */
}
/* 印刷時も色を保持したい場合 */
.print-color {
color: #000000 !important;
background-color: #f0f0f0 !important;
-webkit-print-color-adjust: exact;
color-adjust: exact;
}
}
</style>
<p class="colorful-text">印刷時は黒文字になります</p>
<p class="print-color">印刷時も色を保持します</p>
問題4: スマートフォンで色が変わる
原因:
- ダークモードの自動適用
- レスポンシブCSSの影響
- ブラウザの自動調整
解決方法:
<style>
.stable-color {
color: #333333;
background-color: #ffffff;
}
/* ダークモード無効化 */
@media (prefers-color-scheme: dark) {
.stable-color {
color: #333333 !important;
background-color: #ffffff !important;
}
}
/* 色の自動調整を無効化 */
.no-auto-adjust {
color-scheme: light;
}
</style>
<meta name="color-scheme" content="light">
<p class="stable-color no-auto-adjust">どのデバイスでも同じ色で表示</p>
パフォーマンスの最適化
CSSファイルの分離
悪い例:
<!-- すべてインラインスタイル -->
<p style="color: red; font-size: 16px; margin: 10px;">テキスト1</p>
<p style="color: red; font-size: 16px; margin: 10px;">テキスト2</p>
<p style="color: red; font-size: 16px; margin: 10px;">テキスト3</p>
良い例:
<style>
.red-text {
color: red;
font-size: 16px;
margin: 10px;
}
</style>
<p class="red-text">テキスト1</p>
<p class="red-text">テキスト2</p>
<p class="red-text">テキスト3</p>
CSS変数の活用
<style>
:root {
--main-color: #007bff;
--text-color: #333333;
--bg-color: #ffffff;
}
.header { color: var(--main-color); }
.text { color: var(--text-color); }
.background { background-color: var(--bg-color); }
</style>
実用的なカラーパレット集
1. ビジネス・企業サイト向け
<style>
.business-palette {
display: flex;
flex-wrap: wrap;
gap: 10px;
margin: 20px 0;
}
.color-box {
width: 120px;
height: 80px;
display: flex;
align-items: center;
justify-content: center;
border-radius: 8px;
color: white;
font-size: 12px;
font-weight: bold;
text-align: center;
}
</style>
<div class="business-palette">
<div class="color-box" style="background-color: #2c3e50;">
#2c3e50<br>ダークネイビー
</div>
<div class="color-box" style="background-color: #3498db;">
#3498db<br>ブルー
</div>
<div class="color-box" style="background-color: #95a5a6;">
#95a5a6<br>グレー
</div>
<div class="color-box" style="background-color: #ecf0f1; color: #333;">
#ecf0f1<br>ライトグレー
</div>
</div>
2. クリエイティブ・デザイン向け
<div class="business-palette">
<div class="color-box" style="background-color: #e74c3c;">
#e74c3c<br>レッド
</div>
<div class="color-box" style="background-color: #f39c12;">
#f39c12<br>オレンジ
</div>
<div class="color-box" style="background-color: #9b59b6;">
#9b59b6<br>パープル
</div>
<div class="color-box" style="background-color: #1abc9c;">
#1abc9c<br>ターコイズ
</div>
</div>
3. ナチュラル・エコ向け
<div class="business-palette">
<div class="color-box" style="background-color: #27ae60;">
#27ae60<br>グリーン
</div>
<div class="color-box" style="background-color: #f1c40f; color: #333;">
#f1c40f<br>イエロー
</div>
<div class="color-box" style="background-color: #d35400;">
#d35400<br>ブラウン
</div>
<div class="color-box" style="background-color: #16a085;">
#16a085<br>シーグリーン
</div>
</div>
アクセシビリティチェックツール

1. 色のコントラスト比計算
<style>
.contrast-checker {
background-color: #f8f9fa;
padding: 20px;
border-radius: 8px;
margin: 20px 0;
}
.contrast-example {
padding: 15px;
margin: 10px 0;
border-radius: 4px;
}
.good-contrast {
background-color: #ffffff;
color: #212529;
border: 1px solid #28a745;
}
.poor-contrast {
background-color: #ffffff;
color: #ffc107;
border: 1px solid #dc3545;
}
</style>
<div class="contrast-checker">
<h4>コントラスト比の例</h4>
<div class="contrast-example good-contrast">
✅ 良いコントラスト: 黒文字 (#212529) × 白背景 (#ffffff)<br>
コントラスト比: 16.1:1 (WCAG AAA 基準をクリア)
</div>
<div class="contrast-example poor-contrast">
❌ 悪いコントラスト: 黄文字 (#ffc107) × 白背景 (#ffffff)<br>
コントラスト比: 1.8:1 (WCAG 基準未達)
</div>
</div>
2. 色覚特性シミュレーション
<style>
.colorblind-sim {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
gap: 15px;
margin: 20px 0;
}
.sim-box {
padding: 20px;
text-align: center;
border-radius: 8px;
color: white;
}
.original { background-color: #ff0000; }
.protanopia { background-color: #b59900; filter: sepia(1) hue-rotate(40deg) saturate(1.2); }
.deuteranopia { background-color: #ff0000; filter: sepia(1) hue-rotate(90deg) saturate(0.8); }
.tritanopia { background-color: #ff0000; filter: sepia(1) hue-rotate(180deg) saturate(1.1); }
</style>
<div class="colorblind-sim">
<div class="sim-box original">
通常の見え方<br>
赤色 (#ff0000)
</div>
<div class="sim-box protanopia">
P型色覚<br>
(赤が見えにくい)
</div>
<div class="sim-box deuteranopia">
D型色覚<br>
(緑が見えにくい)
</div>
<div class="sim-box tritanopia">
T型色覚<br>
(青が見えにくい)
</div>
</div>
まとめ:効果的な色使いでWebページを魅力的に
HTMLで色を効果的に使うことで、読みやすく、美しく、機能的なWebページを作ることができます。
重要なポイントのおさらい
基本的な色の指定方法
色の指定方法の使い分け:
- 色名: 簡単だが限定的(
red
、blue
など) - 16進数: 最も一般的(
#FF0000
、#0066CC
など) - RGB/RGBA: 透明度も指定可能(
rgba(255, 0, 0, 0.5)
など) - HSL/HSLA: 直感的な色相指定(
hsl(0, 100%, 50%)
など)
色使いのベストプラクティス
1. 読みやすさを最優先
- コントラスト比 4.5:1 以上を確保
- 色だけでなく形や文字でも情報を伝達
- アクセシビリティを常に意識
2. 統一感のあるカラーパレット
- CSS変数を活用した一貫性のある色使い
- メインカラー2色、アクセントカラー2色程度に絞る
- ブランドイメージに合った色選択
3. 現代的な実装方法
- インラインスタイルよりCSSクラスを使用
- レスポンシブデザインで画面サイズに対応
- ダークモード対応でユーザビリティ向上
学習の次のステップ
色の基本をマスターしたら、以下のトピックにも挑戦してみましょう:
デザイン面:
- カラーホイールと補色の理論
- ブランドカラーの選び方
- 文化的な色の意味の理解
技術面:
- Sass/SCSSでの色管理
- CSS GridとFlexboxでのレイアウト
- JavaScriptでの動的な色変更
アクセシビリティ:
- WCAG ガイドラインの詳細理解
- スクリーンリーダー対応
- キーボードナビゲーションの最適化
コメント