CSSフィルタージェネレーター

スライダーでCSSフィルタープロパティを調整し、結果をリアルタイムで確認します。生成されたコードをコピーします。

フィルターコントロール

プレビュー

フィルタープレビュー

生成されたCSS


      
    

使い方

  1. フィルタースライダーを調整: スライダーを使ってぼかし、明るさ、コントラスト、彩度、色相回転、不透明度、グレースケール、セピア、反転を制御します。
  2. リアルタイムでプレビュー: スライダーを動かすと、サンプル画像または要素が瞬時に更新されます。
  3. CSSをコピー: 完全なfilterプロパティ値(例: filter: brightness(1.2) contrast(1.5) saturate(0.8))は、スタイルシートに貼り付ける準備ができています。

なぜCSSフィルタージェネレーターを使うのか?

CSSフィルターを使用すると、Photoshopや画像編集ソフトウェアなしで、ブラウザ内で画像処理効果(ぼかし、コントラスト、明るさ、色のシフト)を直接適用できます。画像、動画、HTML要素で動作します。filterプロパティチェーンを手動で構築するには、正確な関数名と有効な値の範囲を知る必要があります。このジェネレーターは、必要な見た目を正確に得るための直感的なスライダーと視覚的フィードバックを提供します。

機能

よくある質問

CSSフィルターを動画に適用できますか?

はい。CSSのfilterプロパティは、<video>、<img>、<div>、<canvas>を含むすべての要素で動作します。動画に適用すると、フィルターは再生中にリアルタイムでレンダリングされます。

filterとbackdrop-filterの違いは?

filterは、要素自体とそのすべての子に効果を適用します。backdrop-filterは、要素の後ろ(下)にあるコンテンツに効果を適用します, フロステッドガラス効果によく使用されます。

CSSフィルターはパフォーマンスに影響しますか?

ぼかしや複雑なコンポジションを伴うフィルターはGPUに負荷をかける可能性があります。アニメーション化されたフィルターの場合、要素が独自のコンポジットレイヤーにあることを確認してください(ヒントとしてtransform: translateZ(0)を追加)。画像とアイコンの静的フィルターは、影響が最小限です。

CSS filterが実際に行うこと

CSS の filter プロパティは、ブラウザが画面にペイントする前に要素とその子要素にグラフィカル効果 (ぼかし、コントラスト調整、色シフト、ドロップシャドウ) を適用します。処理は完全にブラウザのレンダリングパイプライン内で行われ、通常はGPU加速され、JavaScriptは関与しません。効果は視覚のみです: 基礎となるHTML、画像が参照するファイル、レイアウトはすべて変更されません。filter: grayscale(1) で表示される写真は、ファイル内では元の色を保持しています; ブラウザは表示時のみグレースケールに変換します。

CSS filter は10個の関数を公開しています: ガウスぼかし用の blur(px)、トーン調整用の brightness(n)contrast(n)、色の強度用の saturate(n)、カラーホイールをシフトする hue-rotate(deg)、透明度用の opacity(n)、脱彩効果用の grayscale(n)sepia(n)、負の出力用の invert(n)、そして形状を認識する影用の drop-shadow(...) (box-shadow とは異なり、drop-shadow は透明度を含む実際にレンダリングされた形状に従い、切り抜きエッジを持つアイコンやPNG画像の影に理想的)。関数はチェーンされます: filter: brightness(1.2) contrast(1.3) saturate(0.9) は3つすべてを順に適用します。

なぜこれが現代のウェブデザインで重要か: 10年前、デザインの一貫性のために画像の明るさ、色相、または彩度を調整するには、Photoshopですべての画像を前処理して再エクスポートする必要がありました。CSS filter は同じ調整を実行時に、非破壊的に適用させます。1つの画像を提供して、テーマ、ホバー状態、またはユーザーの好みに基づいて異なる方法で提示できます。アクセシビリティのためにフィルターを使用することもできます: プレースホルダーとしての反転グレースケール写真、または高コントラストテキストの読みやすさのための暗くした画像オーバーレイ。トレードオフは一部のフィルター (特にblur) のパフォーマンスと、フィルターが子要素にも影響することで、予期せずカスケードする可能性があります。

このツールが内部でどのように動くか

ツールの各スライダーは単一のフィルター関数にバインドされています。スライダーを動かすと、JavaScript が値を読み取り、その値を持つフィルター関数文字列を構築し (例えば brightness(1.4))、すべてのアクティブな関数を1つの filter CSS 文字列に連結します。その文字列はプレビュー画像のインラインスタイルとして適用され、ブラウザが新しいフィルターで再描画するときに即座の視覚的フィードバックを生成します。JavaScript で画像データを処理することはありません: 実際のピクセルレベルの計算はブラウザのレンダリングエンジン内、通常GPUで行われます。

コードボックスに表示される生成されたCSSは、プレビューに適用されるのと同じ文字列です。「CSS をコピー」をクリックすると、ツールはモダンな navigator.clipboard.writeText() API を使用してその文字列をクリップボードに書き込みます。文字列は任意の要素のスタイル属性やスタイルシート内の任意のクラス宣言に貼り付ける準備ができています。ツールはまた独自の画像の読み込みもサポートします: ファイルを選択するとブラウザ内で一時的な blob: URL になり、どこにもアップロードされず、フィルターは実際の画像でプレビューされるので、コンテンツの正確な外観を調整できます。

リセット動作はフィルターごとです: 各スライダーには独自のリセットボタンがあり、そのフィルターだけを効果なしの値 (乗数の場合は1、hue-rotateの場合は0deg、blurの場合は0px) に戻します。「すべてリセット」ボタンはすべてのスライダーを同時に中立に戻します。ツールの状態はメモリ内にのみ存在します; ページをリロードするとフィルターの組み合わせは消えます。サーバーは選択したフィルター値を保存せず、分析はあなたが試す組み合わせを追跡しません。ツールはステートレスで広告でサポートされるCSSプレイグラウンドです。

CSS フィルターの簡単な歴史

実世界のワークフロー

よくある落とし穴とその意味

プライバシー: すべてはブラウザで起こる

CSS ジェネレータツールには2つの形があります: クライアントサイド JavaScript を実行する単純な HTML ページ (プライベート、高速) と、プロジェクトを保存するクラウドエディタ (協調的だがプライバシーのトレードオフあり)。このツールは最初の種類です。スライダーの値、生成された CSS、そしてプレビュー用にアップロードした画像でさえ、完全にブラウザセッション内に留まります。ページをリロードすると、最初に CSS をコピーするかスクリーンショットを保存しない限り状態は消えます。

「独自の画像をアップロード」機能はプライバシーに関する注釈に値します: ファイルを選択すると、ブラウザはメモリを指すローカルな blob: URL を作成し、プレビューはフィルターが適用されたあなたの画像を表示します。サーバーへのリクエストはありません。アップロード中にブラウザのネットワークタブを開いてください; アウトバウンドトラフィックはゼロです。画像はあなたのブラウザタブのメモリ内にのみ存在し、タブを閉じると消去されます。機密画像 (専有のデザイン、医療スキャン、NDA で保護されたスクリーンショット) の場合、これが重要なプライバシー特性です。

別のツールが正しい選択になるとき

その他のよくある質問

CSS filter の変更をスムーズにアニメートできますか?

はい、注意事項があります。filter プロパティは CSS でアニメート可能で、同じ順序で同じ関数を持つ2つのフィルターチェーン間のトランジションはスムーズに補間します (blur(0px) brightness(1) から blur(10px) brightness(1.5) へが機能します)。トランジションの途中で関数を追加または削除すると急激にスナップします。スムーズなマルチフィルターアニメーションの場合、特定のフィルターを適用したくない場合は中立値 (brightness(1)、saturate(1)、blur(0px)) を使用して、開始と終了の両方の状態でトランジションしたいすべての関数をリストしてください。

CSS filter は背景画像で機能しますか?

はい。CSS filter は背景、コンテンツ、子要素を含む要素全体に適用されます。前景コンテンツではなく背景画像だけをフィルタリングしたい場合、典型的なアプローチは背景用に別の子要素 (例えば、位置決めされた ::before 疑似要素) を使用してそれにフィルターを適用し、コンテンツをフィルタリングされていない兄弟として上に配置することです。透明な要素の後ろに見えるものをフィルタリングしたい場合は、backdrop-filter プロパティも便利です。

CSS フィルターは検索エンジンによってインデックスされますか?

CSS フィルターは純粋に視覚的で、HTML コンテンツを変更しません。検索エンジンは、フィルターが適用されていないかのように、基礎となるコンテンツ (画像 alt テキスト、周囲のテキスト) をインデックスします。filter: grayscale(1) のグレースケール画像は、ファイルと alt テキストに基づいて元のカラー画像としてまだインデックスされます。これは一般的にあなたが望むものです: SEO やスクリーンリーダーへのフィルター副作用はありません。

なぜ drop-shadow は box-shadow と異なって見えるのですか?

Box-shadow は要素の長方形のボックスの周りに影を描画し、透明性を無視します。Drop-shadow (filter) は透明な領域を含む実際にレンダリングされた形状に従う影を描画します。切り抜きエッジを持つアイコン SVG または透明性を持つ PNG の場合、drop-shadow は可視のアウトラインに一致する形状認識の影を生成します。同じ要素の Box-shadow はバウンディングボックスの周りに長方形の影を表示します、それは間違って見えます。形状認識の影には drop-shadow、長方形要素には box-shadow を使用してください。

opacity と filter: opacity() の違いは何ですか?

ほとんどのブラウザでは視覚的に同一の結果を生成します。技術的な違い: opacity はトップレベルのプロパティですが、filter: opacity() はフィルターチェーンの一部であり、他のフィルターと構成します。filter: blur(5px) opacity(0.5) がある場合、両方が単一の GPU 操作として一緒に適用されます。フィルターチェーン外で opacity を使用すると、ほとんどの場合同じように動作します。スタンドアロンの透明度には opacity を維持してください; 他のフィルターとチェーンする場合のみ filter: opacity() を使用してください。

すべてのフィルターをすばやくリセットできますか?

はい。filter: none を設定すると、1つの宣言ですべてのフィルターを削除します。これはリセットする最もクリーンな方法であり、特に hover-out ですべてのフィルター効果を削除したいホバー状態に最適です。あるいは、各フィルター関数を中立値に設定します: filter: brightness(1) contrast(1) saturate(1) blur(0px) hue-rotate(0deg) grayscale(0) sepia(0) invert(0) opacity(1)filter: none と機能的に同等ですが、より冗長です。

関連ツール

CSSグラデーションジェネレーター カラーコンバーター 画像フィルター&エフェクト CSSパターンジェネレーター