CSSフィルター生成器
CSS の filter は、ぼかし、明るさ、コントラスト、彩度などの画像処理効果を、画像だけでなく任意の要素に適用します。複数のフィルターを連結し、単位を正しく設定するのが難しいところです。このジェネレーターは、よく使われる5つの関数、ぼかし、明るさ、コントラスト、グレースケール、彩度の filter 宣言を作成します。値を入力して、生成された CSS をコピーしてください。
フィルターチェーンの作成方法
-
1
値を入力する
ぼかしはピクセル、明るさ、コントラスト、グレースケール、彩度はパーセントで入力します。
-
2
数値の意味を理解する
明るさとコントラストは100%で変化なし、0%で要素が黒またはグレーになります。グレースケールは0%(フルカラー)から100%(完全に無彩色)まで。彩度は100%で色がそのまま維持されます。
-
3
CSS を生成する
ボタンをクリックすると、5つの関数をまとめた `filter` ルールが出力されます。
-
4
ルールをコピーする
結果をコピーしてスタイルシートに貼り付けます。
-
5
順序を確認する
関数は左から右へ適用されます。期待と違う効果になったら、値を調整してください。
フィルター関数
| 関数 | 単位 | 効果 |
|---|---|---|
blur() |
px | ガウスぼかし。0 = ぼかしなし |
brightness() |
% または小数 | 100% = 変化なし、0% = 黒、200% = 2倍 |
contrast() |
% または小数 | 100% = 変化なし、0% = グレー、200% = 2倍 |
saturate() |
% または小数 | 100% = 変化なし、0% = グレースケール |
grayscale() |
% または小数 | 0% = 変化なし、100% = 完全に彩度を除去 |
sepia() |
% または小数 | 0% = 変化なし、100% = 完全なセピア |
hue-rotate() |
deg | 0deg = 変化なし。色相環を回転します |
invert() |
% または小数 | 0% = 変化なし、100% = 完全に反転 |
opacity() |
% または小数 | opacity プロパティと同じ |
drop-shadow() |
x y ぼかし 色 | box-shadow に似ていますが、不透明度や clip-path に追従します |
連結する順序が重要
filter: brightness(0.5) saturate(2) はまず明るさを適用し、その後で彩度を適用します。2つのフィルターは合成されて作用します。
filter: saturate(2) brightness(0.5) はまず彩度を適用します。画像が暗くされる前に明るいため、色の彩度がより際立ちます。
視覚的な違いはわずかですが確かに存在します。フィルターチェーンが思いどおりに見えないときは、両方の順序を試してみてください。
よく使うレシピ
/* 色あせた写真風 */
filter: contrast(0.9) saturate(0.85) brightness(1.05);
/* ヴィンテージ / 色あせ */
filter: sepia(0.3) contrast(1.1) brightness(0.95);
/* デュオトーン近似 */
filter: grayscale(1) sepia(1) hue-rotate(180deg) saturate(1.5);
/* ヒーロー画像を暗く */
filter: brightness(0.6);
/* 無効状態 */
filter: grayscale(1) opacity(0.6);
/* すりガラス風オーバーレイ */
filter: blur(12px) saturate(1.3);
すりガラス効果のための backdrop-filter
filter は要素自体に適用されます。backdrop-filter は半透明の要素の背後にあるものに適用され、iOS が広めたすりガラス効果を生み出します。
.modal-backdrop {
background: rgba(255, 255, 255, 0.5);
backdrop-filter: blur(20px) saturate(1.2);
}
対応状況: すべての最新ブラウザ。Firefox は 103 以降でフラグなしでようやく対応しました。
パフォーマンスに関する注意
blur()は、すべてのピクセルをカーネルで畳み込む必要があるため、最もコストの高いフィルターです。4K のヒーロー画像に 30px のぼかしをかけると、フレーム落ちが目に見えて発生します。grayscale、sepia、brightnessなどはピクセル単位の色変換であり、軽量です。- 最新ブラウザではフィルターは GPU で高速化されますが、
blur()のアニメーションは低スペック端末では依然としてカクつきます。 - アニメーションさせる前に
will-change: filterを指定するとよいでしょう。
filter: drop-shadow() と box-shadow の違い
box-shadowは要素のボーダーボックスに従います(border-radiusを尊重します)。filter: drop-shadow()は要素の不透明なピクセルに従うため、clip-pathの形状、PNG の透過、SVG パスの輪郭をなぞります。
切り抜かれた画像や透過のある画像の影には drop-shadow を使い、標準的なカードやボックスには高速な box-shadow を使いましょう。
よくある質問
はい、フィルターは要素およびそのすべての子要素をグループとして適用されます。親要素をフィルターすると、子要素も含まれます。親要素の背景のみをフィルターする場合は、コンテンツを別のスタッキングコンテキストに配置するか、backdrop-filterを使用してください。
ぼかしは、レンダリングされたテキストを含む要素全体に適用されるためです。単純な filter だけでは、背景をぼかしつつテキストを鮮明に保つことはできません。半透明のオーバーレイに backdrop-filter を使い、テキストはフィルターをかけた要素の外側に配置してください。
はい、すべてのフィルター関数はアニメーションできます。モバイルでのぼかしのパフォーマンスには注意してください。ぼかし半径をアニメーションさせるとコストが目に見えて高くなります。grayscale、sepia、brightness は軽量にアニメーションできます。
はい、CSSのfilterは他のどのDOM要素と同様にSVG要素にも適用されます。また、SVGには独自のより充実した<filter>要素システムが存在し、これはより強力ですが、記述量が大幅に増加します。
関連ツール
ASCII表リファレンス
0から127までの完全なASCII表です。NUL、LF、DELなどの制御コードを含め、各文字の10進数、16進数、8進数、2進数、HTML数値文字参照を表示します。
JavaScript圧縮ツール
変数名のリネーム、空白の削除、デッドコードの除去、定数畳み込みでJavaScriptを圧縮し、より小さなバンドルを作成します。
HTML文字参照
HTMLエンティティの検索可能なリスト、その名称コードおよび数値コード、および特殊文字や記号のワンクリックコピー機能を提供します。
FPS カウンター
requestAnimationFrame でブラウザーの FPS を測定。平滑化、最小・最大フレームレート、警告しきい値、任意のグラフに対応。ローカルで動作し、アップロードも API も不要です。
プレースホルダー画像ジェネレーター
1〜4000 pxの画像に色と文字を設定し、PNGで保存できます。外部URLとHTMLもコピーできます。
HTML 圧縮ツール
通常のコメントを削除し、空白を整理して、ブラウザ内で HTML をコンパクトにします。使用前に結果を確認してください。
このツールは他の言語でも利用できます
- Generator filtrów CSS [PL]
- Générateur de filtres CSS [FR]
- CSS-filtergenerator [SV]
- CSS-Filter-Generator [DE]
- Generator Filter CSS [ID]
- Bộ tạo bộ lọc CSS [VI]
- مولد مرشح CSS [AR]
- Generador de Filtros CSS [ES]
- CSS 필터 생성기 [KO]
- เครื่องสร้าง CSS Filter [TH]
- CSS-filtergenerator [NL]
- Gerador de Filtros CSS [PT]
- CSS Filter Generator [EN]
- Generatore di Filtri CSS [IT]
- Генератор фильтров CSS [RU]
- CSS Filtre Üreticisi [TR]
- CSS 滤镜生成器 [ZH]