CSSで色・透明度を指定するrgbaプロパティの概要・使い方を徹底解説!

皆さんは、CSSで色を指定するrgbaプロパティを使ったことがありますか? ただ色を指定するだけでなく透明度も指定できるため、使い方を覚えておくと便利です!

そこで今回は、

  • CSSで色・透明度を指定するrgbaプロパティとは?
  • rgbaプロパティの使い方・サンプルコード


といった基礎的なことから、

  • 透明度を指定するopacityとrgbaプロパティの違いとは?
  • rgbaプロパティのブラウザサポート状況


といった応用的な方法まで、徹底的に解説します!

目次

CSSで色・透明度を指定するrgbaプロパティとは?

最初に、rgbaプロパティについて簡単に解説します。rgbaプロパティとは、CSS3で新たに追加された、「色・透明度」を指定するプロパティです。

rgbaプロパティを使った色・透明度指定のイメージ:

色のみだと固い表現になってしまいますが、透明度を意識するだけでぐっと見やすさが上がるため、使いこなすとても便利です!

rgbaプロパティの使い方・サンプルコード

次に、rgbaプロパティの使い方について解説します。rgbaプロパティは、次のように使います。

使い方:

backgroud-color(またはcolor):rgba(赤 , 緑 , 青 , 透明度)

赤・緑・青には0 ~ 255までの数値を指定し、透明度には0 ~ 1までの数値を指定します。透明度は0が0%、0.5が50%、1が100%で数字が小さいほど透明度が高いです。

言葉だけではわかりづらいため、簡単なサンプルコードを用意しました。

サンプルコード – HTML:

<!DOCTYPE html>
<html lang="ja">
    <head>
        <meta charset="UTF-8">
        <title>rgbaサンプル</title>

        <link rel="stylesheet" href="main2.css">
    </head>

    <body>
        <h2>rgbaサンプル</h2>
        <div class="main-block">
            <div class="rgba-1">100%</div>
            <div class="rgba-2">50%</div>
            <div class="rgba-3">20%</div>
        </div>
    </body>

</html>

サンプルコード – CSS:

/* ブロック全体のデザイン */
div{
    width:auto;
    height:20px;
}

/* 上のブロック (100%) のデザイン */
.rgba-1{
    background-color:rgba(255,0,0,1);
}

/* 真ん中のブロック (50%) のデザイン */
.rgba-2{
    background-color:rgba(255,0,0,0.5);

}

/* 下のブロック (20%) のデザイン */
.rgba-3{
    background-color:rgba(255,0,0,0.2);
}

実行結果:

このように、簡単に色・透明度を指定することができます。

rgbaの色・透明度はジェネレータを使ってコピペでOK

ここまでrgbaプロパティの色・透明度について解説してきましたが、イメージした透明度の数値を調べるのは結構大変です。

そんな時におすすめなのが、rgbaジェネレーターです。

以下のrgbaジェネレーターはメインの色を指定するだけで、10段階にわけた透明度を自動で作成してくれます。

作成イメージ:

色を決めたらジェネレーターを使って視覚的に確認しつつ、適した透明度のrgba値を選べばOKです!

rgbaプロパティの使い方とあわせて、覚えておくのがおすすめです!

透明度を指定するopatityとrgbaプロパティの違いとは?

ここまでrgbaプロパティで透明度も指定できることをお伝えしてきましたが、、、CSSには透明度を指定するopatityプロパティがあります。

こう聞くと、「rgbaプロパティとopatityプロパティは、どうやって使い分ければいいんだろう?」と思う方も結構いるので、簡単に違いについて解説しますね。

「rgbaプロパティ」と「opatityプロパティ」は大きく分けて、次の2つの違いがあります。

  • 画像の透明度指定ができるか
  • 透明度が影響する範囲

rgbaプロパティは色を指定することが前提のプロパティのため、画像に透明度を指定するときには使えません。そのため、画像に透明度を指定したい場合は、opatityプロパティを使います。

また、親要素・子要素がある入れ子の要素に対して透明度を指定する場合、少し動きが変わります。親要素・子要素がある場合、rgbaプロパティを使うと親要素にしか透明度が指定されません。

そのため、親要素・子要素に透明度を指定したい場合は、opatityプロパティを使います。

1つの要素で色を透明にしたいときのみrgbaプロパティを使い、それ以外はopatityプロパティを使う」と覚えておけばOKです!

rgbaプロパティのブラウザサポート状況

最後に、rgbaプロパティのブラウザサポート状況について解説します。

2018年1月21日時点で、対応しているバージョンについてまとめました。

  • Chrome:1.0以上
  • IE:9.0以上
  • FireFox:3.0以上
  • Safari:3.1以上
  • Opera:10.0以上

参考:w3schools.com CSS rgba() Function

最新バージョンではどのブラウザでも対応できますが、古いバージョンで動くことを前提としたアプリを作るときは、注意が必要です。

まとめ

今回は、CSSで色・透明度を指定するrgbaプロパティの概要・使い方について解説しました。

透明度を意識した色を使うケースは、よくあります。

使い方もとても簡単なので、ぜひ使ってみてくださいね!

この記事を書いた人

【プロフィール】
DX認定取得事業者に選定されている株式会社SAMURAIのマーケティング・コミュニケーション部が運営。「質の高いIT教育を、すべての人に」をミッションに、IT・プログラミングを学び始めた初学者の方に向け記事を執筆。
累計指導者数4万5,000名以上のプログラミングスクール「侍エンジニア」、累計登録者数1万8,000人以上のオンライン学習サービス「侍テラコヤ」で扱う教材開発のノウハウ、2013年の創業から運営で得た知見に基づき、記事の執筆だけでなく編集・監修も担当しています。
【専門分野】
IT/Web開発/AI・ロボット開発/インフラ開発/ゲーム開発/AI/Webデザイン

目次