CSSフィルター・backdrop-filter

filterとbackdrop-filterをスライダーでプレビューしながら作ります。HEXの色から、黒いアイコンをその色にするfilterも求められます。

かける先
px
%
%
%
deg
%
%
%
%
px
px
px
%
プレビュー(CSS で描いた見本)
Aa あ

スライダーを動かすと、その場でCSSを作ります。

CSS

HEX の色から filter を求める

黒いアイコンや SVG を、filter だけで指定の色に見せるための値を求めます。filter の組み合わせは式で解けないため、 最適化で近い値を探します。計算するたびに結果が少し変わります。

比較
目標の色
黒 + filter

色を入れると計算します。

  • filter —
  • 誤差(loss) —
  • 実際にできる色 —

補足

  • filter は書いた順に左から適用されます。出力はこの画面の並び順で、既定値(変化なし)のままの関数は書きません。
  • backdrop-filter は要素の背後に効きます。要素自体の背景が不透明だと効果が見えないため、半透明の背景と組み合わせて使います。Safari 向けに -webkit-backdrop-filter も一緒に出します。
  • 「HEX の色から filter を求める」は近似です。誤差(loss)が 1 未満ならほぼ一致、5 未満ならかなり近い目安です。大きいときは「もう一度計算」で改善することがあります。黒(#000000)の要素が前提で、それ以外の色の要素には「先頭で黒にする」をオンにしてください。
  • プレビューは画像を使わず CSS だけで描いています。入力した値は、この端末の外へ出ません。

よくある質問

filter と backdrop-filter は何が違いますか?

filter は要素そのもの(中の文字や画像)に効き、backdrop-filter は要素の背後に見えているものに効きます。すりガラス風の表現は、半透明の背景を持つ要素に backdrop-filter: blur() をかけて作ります。上の切り替えで出力とプレビューが入れ替わります。

出力に書かれない関数があるのはなぜですか?

既定値(brightness 100%、blur 0 など、見た目を変えない値)のままの関数は書かないためです。すべて既定値なら none を出力します。filter は左から順に適用されるので、出力はこの画面の並び順で書きます。

HEX の色から filter を求める機能は、正確な色になりますか?

完全に一致する保証はありません。filter の組み合わせは式で解けないため、最適化で近い値を探す近似です。誤差(loss)を一緒に表示し、1 未満ならほぼ一致、5 未満ならかなり近い目安です。計算するたびに結果が少し変わるので、誤差が大きいときは「もう一度計算」を押してください。

黒ではないアイコンにも使えますか?

使えます。「元の色が黒でない要素にも使う」をオンにすると、先頭に brightness(0) saturate(100%) を付けて一度黒にしてから色を付けます。透明な部分は透明のままですが、元の濃淡は失われ、不透明な部分はすべて同じ 1 色の塗りつぶしになります。

プレビューに自分の画像を使えますか?

できません。プレビューは CSS だけで描いた見本です。出力した CSS を自分のページの画像やアイコンに当てて確認してください。

↑↓ 移動 / Enter 開く / Esc 閉じる