rgba値とは?CSSの色指定と透明度(アルファ値)を図解で解説
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% → 半透明の赤 */
| 成分 | 範囲 | 意味 |
|---|---|---|
| R | 0〜255 | 赤の強さ |
| G | 0〜255 | 緑の強さ |
| B | 0〜255 | 青の強さ |
| A | 0〜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 変換ルール |