【6日でできるHTML&CSS入門】デジタルの色表現

 Web では # と 6 桁の英数字で色を指定する場面が頻繁にあります。これを読み解くには、ビット・バイトという最小単位と、2 進数→16 進数→10 進数 へと続く数値表現の変換を理解することが不可欠です。ここでは「コンピュータが色をどう数値化するか」を軸に、RGB カラーコード・CSS の書式・先進的な色空間まで段階的に解説します。

1.コンピュータの数値表現

1.1. ビットとバイト

用語説明覚え方
bit0 または 1 の最小単位0 / 1“Binary digIT”
byte8 bit の塊(2⁸ = 256 通り)11001010“8 bit = 1 Byte”

1.2. 2 進数 ↔ 10 進数

2 進数 1101₂ を 10 進数にすると
1×2³ + 1×2² + 0×2¹ + 1×2⁰ = (13)₁₀

10 進数 (13)₁₀ を 2 進数に戻すと

13 ÷ 2 → 6 余1 ↑
 6 ÷ 2 → 3 余0 ↑
 3 ÷ 2 → 1 余1 ↑
 1 ÷ 2 → 0 余1 ↑

逆順に読んで 1101₂

1.3. 16 進数を使う理由

表記人が読める長さ例(赤255,緑87,青51)
2 進数24❌ 長すぎる11111111 01010111 00110011
16 進数6✅ 扱いやすいFF 57 33
10 進数3×3△ 3 値を書く手間255,87,51

16 進数なら 4 bit=1 桁 で区切れるため、バイト境界が崩れません。

2.デジタルで色を表す仕組み

2.1. RGB モデル

色チャネル範囲 (10 進)範囲 (16 進)1 byte 占有例:純赤
R (Red)0–25500–FF8 bit255 → FF
G (Green)0–25500–FF8 bit0 → 00
B (Blue)0–25500–FF8 bit0 → 00

#FF0000 が“赤”になる理屈。

2.2. CSS の 16 進カラーコード

/* 長い書式 (#RRGGBB) */
h1 { color: #1E90FF; }    /* ドジャーブルー */

/* 略記 (#RGB) – 各 4 bit が同じ値なら可能 */
.box { background: #0F8; } /* #00FF88 と同義 */

2.3. 透明度付き RGBA

button:hover {
  background-color: rgba(30,144,255,0.3); /* α=30% */
}

α値 0–1 で透過を制御。16 進 8 桁表記 #1E90FF4D も同等。

2.4. その他の表記

書式特徴
hsl()hsl(120, 60%, 70%)色相ベースで直感的
lab()lab(55% 40 30)色差が均一、最新ブラウザ対応
CSS 変数--brand: #FF5733;再利用しやすい

3.16 進カラーを手早く読むコツ

  1. 先頭 2 桁 → R
  2. 次の 2 桁 → G
  3. 最後 2 桁 → B

赤が強く青が弱い → 温かみのあるオレンジ寄り。

#FF5733
 | | └─青=33 (51)
 | └───緑=57 (87)
 └─────赤=FF (255)

4.アクセシビリティと色選択

  • コントラスト比 (WCAG 2.1):文字と背景で 4.5:1 以上
  • カラーユニバーサルデザイン:色覚多様性を意識
  • ツール例:Chrome DevTools “Lighthouse”、WebAIM contrast checker

使用キーワードまとめ表

用語読み役割
bitビット0/1 の最小情報単位
byteバイト8 bit の集合
RGBアールジービー光の三原色モデル
Hexヘックス16 進カラーコード
Alphaアルファ透明度 (0–1)

まとめ

  • コンピュータは 8 bit=1 byte の塊で色を数値管理。
  • 各チャネル 0–255 を 16 進 2 桁に変換し、#RRGGBB で CSS に指定。
  • RGBA・HSL など多彩な表記を適切に使い分ければ、デザインの幅とアクセシビリティを両立できる。

これらの基礎を押さえれば、カラーパレットの調整やテーマ切替え実装もスムーズに行えます。