rgba値とは?CSSの色指定と透明度(アルファ値)を図解で解説

CSS rgba rgba値 デザイン
結論

rgba値は「赤・緑・青」に加えて透明度(A)を同時に指定する書き方。と違い、背景だけを半透明にできるのが実務ではこちらの方が使います。

「rgba 意味」「rgba値」で検索する人の多くは、チュートリアルやデザインカンプを見ていて rgba(255, 255, 255, 0.8) のような記述の意味がわからない、という状態から来ています。変換ツールの使い方より先に、4つの数字が何を表すかを押さえましょう。

rgba値の4つの成分

rgba()Red(赤)・Green(緑)・Blue(青)・Alpha(透明度) の頭文字です。

background-color: rgba(255, 0, 0, 0.5);
/* 赤100%、緑0%、青0%、不透明度50% → 半透明の赤 */
成分範囲意味
R0〜255赤の強さ
G0〜255緑の強さ
B0〜255青の強さ
A0〜1不透明度(0=完全透明、1=完全不透明)

A は 0.5 なら50%不透明(=50%透明)、0.15 なら15%不透明、という読み方です。新潟のアテンド社の解説でも、Aは小数で「1=100%」として扱うと書かれています。

RGBは16進数の #FF0000 とは違い、10進数で書きます。#FF = 255、#80 ≒ 128、と対応させます。

opacity との違い(ここがつまずきポイント)

opacity: 0.5 を親要素に指定すると、中の文字や画像まで全部50%透明になります。背景だけ薄くしたいのに文字まで読みにくくなる、という失敗がよく起きます。

エンジニアのTipsの記事が整理している通り、使い分けはシンプルです。

opacity rgba()
要素全体に効く(子要素も含む) 指定した色プロパティだけに効く
文字も薄くなる 背景だけ薄く、文字はそのまま
フェードアニメ向き オーバーレイ・カード背景向き

モーダルの背面を暗くする、カードの上にうっすら色を重ねる——こういうときは rgba(0, 0, 0, 0.4) のような指定が定番です。

モダンな書き方:rgb() + スラッシュ

MDNのドキュメントでは、rgba()rgb() の別名で、スラッシュ付きの rgb() が推奨とされています。

/* 従来 */
background: rgba(0, 0, 0, 0.1);

/* 推奨(CSS Color Module Level 4) */
background: rgb(0 0 0 / 0.1);

カンマの有無やスペース区切りはブラウザが解釈しますが、新しいコードでは rgb(0 0 0 / 0.1) の方が読みやすいことが多いです。意味は同じです。

実務でよく見るパターン

/* 白い半透明のパネル */
.panel {
  background: rgba(255, 255, 255, 0.9);
}

/* 黒いオーバーレイ(モーダル背面) */
.overlay {
  background: rgba(0, 0, 0, 0.5);
}

/* ブランドカラー #3498db を50%透明に */
.tint {
  background: rgba(52, 152, 219, 0.5);
}

HEXからRGBに直すのが面倒なときは、下のツールで変換しながら確認できます。

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

rgba値と「rgba 意味」の検索意図

「rgba 意味」は各文字の意味(R=Red など)を知りたい人、「rgba値」は具体的な数値の読み方を知りたい人、に分かれがちです。前者は RGBA各文字の意味 を、よく使う数値の一覧は rgbaよく使う透明度一覧 を参照してください。

まとめ

  • rgba値 = R,G,B(0〜255)+ A(0〜1)
  • 背景だけ透明にしたい → rgba() / rgb(... / ...)
  • 要素全体をフェード → opacity
  • 新規コードは rgb(0 0 0 / 0.1) 形式も検討

関連記事

トピック記事
各文字の意味CSSの「RGBA」各文字の意味とは?
透明度の定番値rgba(0,0,0,0.1)などよく使う透明度の値一覧
HEX変換rgba to hex・hex to rgba 変換ルール