背景色のみをHEX値(#000000)を使いつつ透過させる方法(メモ)

公開日:2022(令和4)年4月13日/最終更新日:

WordPress Customize Ideas | Personal WP Customization Notes (PWCN)

【景品表示法に基づく表記】ページ内のコンテンツには、商品プロモーションが含まれています



サイトを作っていて、例えば、固定式のヘッダーなど何かの要素を表示しつつ、うっすらと重なった部分が見えるようにしたいというケースはありませんか?

要素全体を透過させるなら、opacyやtransparencyなどで指定すれば簡単!ですが、これだと、全部が透過されて、その中にある文字なども透明化されるのでちょっと具合悪いですね。

そして一番確実な方法として紹介されているのが、RGB(A)を使った方法。HEXの代わりに使えば、確実かつ簡単に背景色のみを透過させることができます(これについてはいろいろなところで紹介されているので割愛します)。

確実ならそれを使えばいいんじゃない?ではあるのですが、私が困ったのはこれをWordPressのカスタマイザー上で指定させるにはどうする?というケースです。

WordPress標準のカラーピッカーはすべてHEX値で保存されるので、RGB(A)として扱うには以下のような措置が必要なんです。

  1. 通常のカラーピッカーに透過度を追加する
  2. HEX値で保存されているデータをRGB(A)へ変換して出力する

まず1の方法ですが、通常のカラーピッカーコントロールにアルファ(透過)要素を追加する方法がGitHubなどでいくつか紹介されてはいるものの、実際に実装してみるとエラー続発でなかなかうまくいきません(私の能力の問題なのかも..)。

続いて2の方法では、計算式によってHEXをRGB(A)には変換できるものの、透過度を示す最後の値については指定して出力するか、何等かの方法で値を与えて統合するしかないんです。しかも、いろいろ調べると全ての色について正確に変換できない場合があるようで、確実性がないことからちょっと使いにくいです。

そこで見つけたのが、本当に単純な方法。

それは、通常の6桁のHEX値に透過度を示す2桁を追加するだけというシンプルなものです。

例えば、黒色を示す「#000000」の後ろに「80」を付けて、「#00000080」とするだけで、50%透過させることができるんです。

実は、【HABONE】テーマに固定ヘッダー機能を追加していて、できれば色や透明度を自由にできるようにしたいなぁ、と思いつつどうしてもうまくいかない中、発見した方法、まさかこんなに単純だったとは..。

ただ、この方法は、古いブラウザでは機能せず、無視されて単色として表示されてしまうのでご注意を!

I Can UseでHEXの透過設定が使用できるブラウザとバージョンの確認ができます

ちなみにHEXでの透過設定はInternet Explorer(全バージョン)では使えませんのでご注意を!

ただ、この透過度の2桁は特に法則性がなく、覚えるのは難しいようですので、以下を参考に設定するとよいでしょう。

透過度100%95%90%85%
2桁コードFFF2E6D9
透過度80%75%70%65%
2桁コードCCBFB3A6
透過度60%55%50%45%
2桁コード998C8073
透過度40%35%30%25%
2桁コード66594D40
透過度20%15%10%5%
2桁コード33261A0D



Lolipop ServerMoshimo Ad x-serverMoshimo Ad

WordPress Customize Ideas | Personal WP Customization Notes (PWCN)
特定のショートコードが本文内にあるかどうかによって処理を分岐する方法