CSSクリップパスジェネレーター
形状プリセットを選択し、スライダーを調整して、CSS clip-pathコードをコピーします。
形状タイプ
ライブプレビュー
生成されたCSS
使い方
- 形状タイプを選択: ポリゴン、円、楕円、またはinset(オプションの丸い角を持つ長方形)。
- コントロールポイントをドラッグ: プレビュー上の形状ハンドルを移動して、マスクエリアを正確にカスタマイズします。
- CSSをコピー: 生成されたclip-pathプロパティ値はスタイルシートに貼り付ける準備ができています。
なぜCSS clip-pathジェネレーターを使うのか?
CSS clip-pathは、定義されたエリアの外側にあるすべてをマスクすることで、非長方形の形状を作成します。斜めのセクション区切り、六角形の画像トリミング、カスタムボタン形状、クリエイティブなホバー効果、マスクされた画像表示に使用されます。clip-pathポリゴン座標を手動で書くには、各頂点のパーセンテージを計算する必要があります, 退屈で視覚化が難しいです。このインタラクティブジェネレーターを使うと、ポイントを視覚的にドラッグして、正確なCSS値を瞬時に取得できます。
機能
- ポリゴンエディタ: 任意の形状を作成するために頂点を追加、移動、削除します。
- 組み込みプリセット: 対角線、シェブロン、六角形、星、三角形、その他の一般的な形状。
- 円と楕円モード: 円形または楕円形のマスクの視覚的コントロール。
- Insetモード: 各角に個別のborder-radiusを持つ長方形マスクを作成します。
- マスクエリアプレビュー: マスクされた部分を強調表示して、何が隠されるかを正確に確認します。
よくある質問
clip-pathはクリック可能なエリアに影響しますか?
はい。デフォルトでは、ポインタイベントはマスクエリア内でのみ登録されます, マスクされたエリアは見えなくクリックもできません。要素を視覚的にマスクしながら完全にクリック可能にするには、要素にpointer-events: allを使用するか、透明レイヤーをオーバーレイします。
clip-pathをアニメーションできますか?
はい、clip-pathはCSSのトランジションとアニメーションの対象になります。同じ数のポイントを持つ2つのポリゴン間でアニメーションすると、滑らかなモーフィング効果が得られます。異なる数のポイントを持つ形状は、補間ではなくジャンプでアニメーションします。
clip-pathはすべてのブラウザでサポートされていますか?
clip-pathはすべてのモダンブラウザでサポートされています。url(#id)構文を使ったSVG形状の場合、サポートはさらに広範です。基本的なpolygon、circle、ellipse、inset値はChrome、Firefox、Safari、Edgeで普遍的に動作します。
CSS clip-pathが実際に行うこと
CSS clip-pathプロパティは要素を選択した形状にマスクします。形状の内側のものは表示され、外側のものは透明になります。要素のレイアウトボックスは変更されません(マージン崩壊、フロー、兄弟位置の目的で同じ矩形を占有します)が、クリップ領域内のピクセルのみが描画されます。これによりclip-pathはトリミング(画像を永続的に変更する)とは異なり、配置(物を動かす)とも異なります。clip-pathはピクセルが画面にあたる直前に適用される表示時のマスクです。
4つの基本形状関数があります: polygon()(パーセントまたはピクセル座標のリストの頂点)、circle()(半径と中心)、ellipse()(2つの半径と中心)、inset()(各エッジから測定された矩形、オプションで丸い角)。これら4つには複雑すぎる形状(不規則な曲線、凹んだインデントを持つ星、書道の輪郭)には、clip-pathはpath()経由のSVGパス、またはurl(#id)経由のSVG 要素への参照も受け付けます。ブラウザは要素を描画し、その後あなたの形状によって定義されたアルファマスクを通して合成します。
clip-pathは10年前に画像エディタが必要だった形状を可能にするため、最新のウェブデザインにとって重要です。対角のセクション仕切り、六角形のアバターグリッド、シェブロンバナー、星型の写真: すべてが今や純粋なCSSで、任意のサイズに拡大縮小可能、ホバーでアニメーション可能、そして基となる要素がラスタライズされた画像ではなくHTMLのままなのでアクセシブルです。トレードオフは冗長性です: シンプルなダイヤモンドのためにpolygon(50% 0%, 100% 50%, 50% 100%, 0% 50%)を手で書くことは実行可能ですが、12頂点の星やカスタムロゴの切り抜きはビジュアルエディタなしでは実用的ではありません。そこにこのジェネレーターが収まります。
このツールの内部での動作
プレビューはあなたが選択したclip-pathがインラインCSSとして適用されたdivで、コントロールハンドルの各ドラッグで更新されます。ハンドルは各頂点のパーセント座標でプレビューの上に重ねられた絶対位置の円です。ハンドルをドラッグすると、JavaScriptがmousemove(またはtouchmove)イベントをキャプチャし、ピクセル位置をプレビュー領域のパーセントに変換し、メモリ内の多角形のその頂点を更新し、clip-path文字列を再適用します。リアルタイムレンダリングは、ドラッグしながら形状が変化するのを後ではなく見られることを意味します。
生成されたCSSは頂点を多角形の文字列に結合することで構築されます: 多角形モードではpolygon(x1% y1%, x2% y2%, ...)、より単純な形状タイプにはcircle(r% at cx% cy%)、ellipse(rx% ry% at cx% cy%)、inset(top right bottom left round radius)です。ピクセル値ではなくパーセント値が使用されるのは、パーセンテージが要素と自動的に拡大縮小するためです。300x200で正しく見える多角形は、CSSの変更なしで600x400でも正しく見えます。コードボックスは各操作で更新され、Copy CSSボタンは現在の値をクリップボードに書き込みます。
何もブラウザを離れません。プレビュー、形状の計算、CSS生成、クリップボードのコピーはすべてクライアント側のJavaScriptです。ネットワークリクエストは行われません。画像はアップロードされません。形状の選択についての分析もありません。ツールには初回ロードで一度提供される静的HTMLとJavaScript以外のバックエンドはまったくありません。使用中にブラウザのネットワークタブを開くと、最初のページロード後にゼロのリクエストが表示されます。あなたが生成するCSSは任意のスタイルシートに貼り付けるためのあなたのものです。
CSSクリッピングの簡単な歴史
- SVG clipPath、2001年。SVG 1.0仕様(W3C勧告、2001年9月)は
を導入し、任意のSVG要素が別の形状でマスクされることを許可します。SVGクリッピングは複雑なパスを処理しますが、インラインSVGマークアップが必要で、SVGの流暢さなしでは通常のHTMLページでの再利用が制限されます。 - CSS clipプロパティ、1998年から2010年代。元のCSS
clipプロパティ(CSS 2仕様、1998年)はrect()のみをサポートしていました。これは絶対位置の要素上の4値矩形クリップです。2014年までに制限され非推奨化されましたが、可視コンテンツがアクセシビリティのために1x1ピクセルにクリップされる、レガシーな"スクリーンリーダー専用"CSSパターンでまだ見られます。 - CSS Masking Module Level 1、2014年。W3CはCSS Masking Module Level 1仕様(2014年4月)を公開し、多角形、円、楕円、インセット、SVGパスのサポートを備えた最新の
clip-pathプロパティを導入しました。Chrome 24(2013年1月)とSafari 7(2013年6月)は正式仕様より先に基本形状を出荷します。Firefoxはバージョン54(2017年6月)で続きます。 - Adobeブルータリストウェブデザインの波、2015年から2017年。対角の切り取りのあるヒーローセクション、角度のついたバナー仕切り、六角形のチーム写真グリッドがデザインのトレンドになり、WebflowのようなツールやCSS-Tricksのデザイン記事によって推進されます。Awwwardsスタイルのポートフォリオはclip-pathのトリックを目立つように特集し、プロパティは"曖昧なCSSの好奇心"から"期待される現代の技術"に変わります。
- Internet Explorerが死ぬ、2022年。Microsoftは2022年6月15日にInternet Explorerを引退させ、clip-pathを含む最新のCSS機能に対する最後の意味のあるブラウザの障壁を終わらせます。2023年までに、"clip-pathをサポートしていますか?"は真剣なクロスブラウザの懸念ではなくなり、プロパティはCSS専用デザインのデフォルトツールになります。
- CSS shape()関数、2024年以降。CSS Shapes Moduleは
shape()(SVGパス文字列の代わりにCSSフレンドリーな構文を使用するpath()のより柔軟な代替)のような提案で進化を続け、SVGコンテキストスイッチなしで複雑な形状を可能にします。ブラウザサポートは2025年と2026年を通してロールアウトされています。
現実世界のワークフロー
- ヒーローセクションの対角切り取り。ヒーローセクションの下端が水平ではなく対角に角度がついている"台形ヒーロー"パターンは、最も人気のあるclip-path使用法の1つです。シンプルな
polygon(0 0, 100% 0, 100% 90%, 0 100%)は左下から右上への10%の傾斜を作成します。下に逆の傾斜を持つ2番目のセクションを追加すると、画像なしで意図的に感じる"破れた紙"または"積み重ねられた角度"のレイアウトが得られます。 - 六角形のアバターグリッド。チームページ、貢献者リスト、またはスポーツのロスターは、丸いアバターのよりダイナミックな代替として、六角形の写真クロップをよく使用します。6頂点の多角形clip-pathは六角形を作成します。CSSグリッドはずれたハニカムレイアウトを配置します。Photoshopでのクリッピングと比較して、写真は元のままで変更されません: 単一のCSS編集で六角形の向きを変更したり円に切り替えたりできます。
- ホバー時の画像表示効果。ホバーでclip-pathをアニメーション化すると、クリップされた部分が滑らかに拡大する"画像表示"が作成されます。一般的なパターン: 画像が小さな円として始まり、ホバーで完全なカバレッジに拡大、または多角形が薄いスラッシュとして始まり、完全な矩形に成長します。clip-path上のCSSトランジションは同じ頂点数を持つ2つの多角形間で滑らかに補間し、JavaScriptなしで60fpsのアニメーションを生成します。
- カスタムボタンの形状。ゲームUI、未来的なインターフェース、クリエイティブなポートフォリオは、しばしば非矩形のボタン(矢印の形、六角形、平行四辺形)を使用します。clip-pathは標準のボタン要素を選択された形状にマスクし、基となるボタンをアクセシブルに保ち(まだフォーカス可能、キーボードでまだクリック可能、スクリーンリーダーでまだアナウンス可能)、カスタムビジュアルを提示します。
- 装飾的なセクション仕切り。ページセクション間の波の仕切り、シェブロン仕切り、"破れたページ"仕切りは、以前はバックグラウンドSVG画像またはセクションごとの画像を必要としました。clip-pathは丸い角のインセットまたは所望の波に従う多角形を使用して、純粋なCSSでそれらを生成します。仕切りは自動的にスケールし、レイアウトの変更に応答します。
- クリエイティブな写真ギャラリー。均一な矩形サムネイルを使用した写真ギャラリーのレイアウトは一般的に感じます。各サムネイルを少し異なる多角形に切り取ることで、各画像を手動でマスクすることなく、手切りコラージュの感覚が生まれます。グリッドを通じてサイクルされる3から5の多角形バリアントの小さなセットは、パフォーマンスを維持しながら視覚的なリズムを作成します(同じ形状が異なる画像ソースにtransform適用されるだけです)。
よくある落とし穴とその意味
- clip-pathはレイアウトを変更しません。よくある驚き: 要素をより小さな形状にクリッピングすると、ドキュメントフローで占めるスペースが減りません。要素はまだ完全なレイアウトボックスを占有します。clip-pathは描画されるものだけを変更します。物理的により少ないスペースを占有する要素を得るには、サイズ変更も必要です。クリップされたコンテンツが実際にトリミングされるようにしたい場合は、ラッパー上で
overflow: hiddenを使用するか、より小さなレイアウトボックスでCSSmaskを使用します。 - アスペクト比の不一致はパーセント座標を壊します。パーセンテージで表現された多角形の座標は要素と均一に拡大縮小します。ダイヤモンドの形
polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%)はどんなサイズでもダイヤモンドのままですが、要素のアスペクト比が変わるとより広いまたはより高いひし形になります。アスペクト比間で視覚的に一貫性を保つ必要がある形状には、ピクセル値またはmin(50vw, 50vh)の計算を使用するか、aspect-ratioCSSプロパティで要素のアスペクト比を制約します。 - クリップされた領域はクリック可能ではありません。ポインターイベントは、クリッピング後に要素が見える場所でのみ登録されます。三角形にクリップされたボタンは、占有する目に見えない矩形空間ではなく、三角形上でのみクリック可能です。これは通常望ましい(空のスペースでの誤クリックなし)ですが、複数のクリップされたボタンが重なる場合や、インタラクティブなコンテンツがクリップ領域の視覚的に外側に拡張する場合には混乱を招くことがあります。
- 多くのクリップされた要素のアニメーションは高価です。clip-pathは各アニメーションフレームでコンポジットをトリガーします。これは同時に多くの要素または大きな要素(フルスクリーンのヒーローセクション)に適用されると、フレームレートを落とす可能性があります。60fpsのアニメーションには、同時にアニメートされるクリップされた要素の数を制限し、より単純な形状(20頂点よりも4から6頂点の多角形)を優先し、ブラウザがGPU加速するようにヒントするためにアニメート予定の要素にCSS
will-change: clip-pathを使用することを検討してください。 - 多角形がモーフィングするには一致する頂点数が必要です。2つの多角形形状間でclip-pathをアニメート化することは、両方の多角形が同じ頂点数を持つ場合にのみ機能します。三角形(3点)から四角形(4点)に行くと、滑らかにモーフィングするのではなく即座にスナップします。視覚的複雑さの異なる形状間のスムーズなモーフィングには、両方の多角形を同じ数の点で定義し、形状の1つで"隠す"座標に余分なものを配置します(例えば、2点を互いの上に)。
- SafariはSVGパス構文に-webkit-プレフィックスを必要とします。基本形状(polygon、circle、ellipse、inset)はすべての最新ブラウザでプレフィックスなしで動作します。しかしSafariは
path()関数を使用する場合やurl(#id)SVG clipPathsを参照する場合にはまだ-webkit-clip-pathプレフィックスを必要とします。クロスブラウザの互換性のために、SVGパスベースのクリッピングでは-webkit-clip-pathとclip-pathの両方を同じ値で宣言してください。オートプレフィクサー(Autoprefixer、PostCSS)は最新のビルドセットアップでこれを自動的に処理します。
プライバシー: すべてがあなたのブラウザで動作します
CSSジェネレーターツールは伝統的に2つのキャンプに分かれます: クライアント側のJavaScriptを使用したシンプルなHTMLページ(プライベート、高速、アカウント不要)とクラウド保存されたプロジェクトを備えたフル機能エディタ(コラボレーション可能だが、すべての形状編集が他人のサーバーに記録されます)。このツールはしっかりと最初のキャンプにあります。あなたがドラッグする多角形の座標、選ぶ色、コピーするCSS: すべてがあなたのブラウザセッションに留まり、どこにも送信されません。ページをリフレッシュし、CSSを最初にコピーしていない限り、状態は消えます。
プライバシーの含意は主に専有的な作業に関係します。機密のブランドリデザインのカスタムボタン形状をプロトタイプする設計代理店、未発表のゲームUIで作業しているインディー開発者、まだNDAの下にある製品のレイアウトを設計するエンタープライズチーム: 形状自体またはその反復履歴が進行中の作業に関する情報を漏らす可能性のある任意の文脈。このツールでは、それらのリスクのいずれも存在しません。なぜなら、それらのいずれもキャプチャされないからです。ハンドルをドラッグしている間にブラウザのネットワークタブを開くと、ゼロの外向きリクエストが表示されます。
他のツールが正しい選択である場合
- 複雑なパスのためのSVGエディタ。不規則な曲線、書道の形、または基本形状関数を超えるものについては、Figma、Inkscape、またはAdobe Illustratorで形状を描き、SVGパスとしてエクスポートすることがclip-path座標を手でコーディングするよりも実用的です。次に
clip-path: path('M...')を使用するか、IDでSVGを参照します。SVGエディタはベジエハンドルと精度を提供します。clip-pathジェネレータはそうではありません。 - アルファブレンディングとグラデーションのためのCSS mask。clip-pathはバイナリアルファ(完全に表示または完全にクリップ)を生成します。柔らかい縁の形状(グラデーションフェード、アンチエイリアスされた曲線、部分的な透明度)には、CSS
maskまたはmask-imageがフルアルファグラデーションを処理します。maskは、黒いピクセルが隠し、白いピクセルが表示し、灰色が部分的な不透明度を与えるマスク画像(任意のPNG、SVG、またはグラデーション)をサポートします。clip-pathはそれができません。 - 永続的なクロップのための画像処理。最終的な画像ファイル自体を形状にクロップしたい場合(より小さなファイルサイズ、clip-pathオーバーヘッドなし、クリップされていないフォールバックのリスクなし)、画像エディタまたは私たちのImage Compressorツールでクロップを行います。clip-pathはHTML要素上の表示時マスキング用です。ターゲットが静的画像アセットの場合、ファイルを直接クロップしてください。
- デザインモックアップのためのFigmaまたはSketch。レイアウトをプロトタイプ中、Figmaのベクターツールはclip-pathハンドルをドラッグするよりも速く複雑な形状の探索を処理します。デザインツールを使用して欲しい形状を見つけ、その後本番用に最終形状をclip-path CSSに変換します。デザインツールはまた、反復、元に戻すの履歴、チームコメントをリアルタイムCSSジェネレータよりもよく処理します。
その他のよくある質問
頂点座標にパーセンテージまたはピクセルを使用できますか?
両方とも機能します。パーセンテージは要素のボックスと拡大縮小するので、パーセンテージで定義された多角形は要素がリサイズされたときに比例した形状を保ちます。ピクセルは絶対的なので、ピクセル座標を持つ多角形は要素に関係なく同じサイズを保ちます。レイアウトと共にリサイズすべき形状にはパーセンテージを使用し(ほとんどの場合)、正確なピクセル位置が必要な形状(例えば、特定のデザイン要素への整列)にはピクセルを使用します。混在もできます: polygon(50% 10px, 100% 50%, ...)は有効です。
clip-pathはSEOまたはスクリーンリーダーに影響しますか?
いいえ。clip-pathは視覚のみのプロパティです。基となるHTMLは完全にアクセシブルです: クリップされた要素内のテキストはまだ検索エンジンによってインデックスされ、まだスクリーンリーダーによってアナウンスされ、まだキーボードナビゲーションによって選択可能です。視覚的なスタイリングにclip-pathを使用してください。意味的にコンテンツを隠す方法として使用しないでください(それにはdisplay: noneまたはaria-hidden属性が必要です)。視覚的にクリップされたコンテンツはアクセシビリティツリーに存在し続けます。
clip-pathをレスポンシブにするにはどうすればよいですか?
ピクセルの代わりにパーセンテージを使用し、異なるブレークポイントで結果を確認してください。モバイルとデスクトップで異なる比率が必要な形状には、CSSメディアクエリを使用してclip-path値をスワップします: モバイル形状の@media (max-width: 768px)内で異なるclip-pathを宣言してください。複雑なレスポンシブニーズ(例えば、モバイルで円になる多角形)には、ウィンドウサイズに基づいてclip-pathを再計算するためのJavaScriptの使用を検討してください。ただし、純粋なCSSアプローチはほとんどのケースを処理します。
clip-pathは動画とiframeに適用できますか?
はい。clip-pathはとを含む任意のHTML要素で機能します。マスクは要素レベルで適用されるので、六角形にクリップされた動画はその六角形の中で再生されます。動画コントロール(表示されているとき)もクリップされ、これによりplay/pauseボタンが不注意に隠される可能性があります。クリップされた領域の外側にコントロールが見える必要がある場合は、動画をコンテナ要素にラップしてください。
多角形の頂点の最大数はいくつですか?
CSS標準によって指定された形式的な制限はありません。実用的には、ブラウザはレンダリングエラーなしに数百の頂点を持つ多角形を処理しますが、特にアニメートされたclip-pathに対しては頂点数とともにパフォーマンスが低下します。ほとんどの装飾的な形状には3から12頂点を目指します。より複雑さが必要な場合は、よりクリーンなオーサリングと類似のパフォーマンス特性のためにSVG path()に切り替えてください。50頂点を超えると、clip-pathは手で維持するのが難しくなり、SVGエディタのワークフローがより理にかなっています。
画像とボックスだけでなくテキストもクリップできますか?
はい。clip-pathはテキスト要素でも機能し、他の要素と同じようにマスクします。視覚的効果は"形状を覗き込むテキスト"です。より洗練されたテキスト形状効果(例えば、テキストのアウトラインを画像のクリッピングマスクとして使用)には、clip-pathをbackground-clip: textと組み合わせます。これは要素の背景のクリップ領域としてテキスト形状自体を使用します。一般的なパターン: テキスト形状内でのみ表示されるグラデーション背景を持つ大きなテキスト。