CSSのRGBAと透明度の書き方(opacityとの決定的な違い・8桁HEX)

CSS デザイン フロントエンド カラーコード

CSSでの半透明カラー指定(RGBA)、アルファチャンネル(Alpha)、8桁HEX(#RRGGBBAA)、および opacity プロパティとの使い分けガイドです。

1. オンライン RGBA ↔ HEX 相互変換ツール

RGBA(rgba(65, 105, 225, 0.8))と 8桁HEX(#4169E1CC)を相互変換してプレビューできます。

🎨 この場でRGBAとHEXを相互変換する


2. 各チャンネルの指定数値範囲

チャンネル意味指定可能な値の範囲
RRed (赤)0 (なし) 〜 255 (最大)255
GGreen (緑)0 (なし) 〜 255 (最大)0
BBlue (青)0 (なし) 〜 255 (最大)0
AAlpha (透明度)0.0 (完全透明) 〜 1.0 (完全不透明)0.5 (50%半透明)

3. rgba() vs opacity の決定的な違い

初心者・実務で最も混同しやすいのが background-color: rgba(...)opacity プロパティの挙動差です。

/* ❌ opacity を使用した場合 */
.card-opacity {
  background-color: #ff0000;
  opacity: 0.5; /* ★問題: カード内のテキストや画像まで全部薄く透けてしまう */
}

/* ✅ RGBA を使用した場合 */
.card-rgba {
  background-color: rgba(255, 0, 0, 0.5); /* ★背景色だけが半透明になり文字はくっきり表示 */
}

4. モダンCSSでの 2 つの最新記法

① 8桁 HEX コード (#RRGGBBAA)

HEXコードの末尾2桁に透明度の16進数(00FF)を追加する記法です。

/* #4169E1 (RoyalBlue) に 80% 透明度 (16進数で CC) を指定 */
.modal-overlay {
  background-color: #4169e1cc;
}

② モダン CSS Color Module Level 4 記法 (カンマなし)

最新のCSS仕様では、カンマを省き / で透明度を指定するシンプルな書き方が標準化されています。

.button-hover {
  background-color: rgb(65 105 225 / 50%); /* 50% 透明度の青 */
}