元Webデザイナー兼コーダーの備忘録

ウェブデザインやプログラミング、ブログのカスタマイズなどについてアウトプットしています。

 メニュー

» HTML入門のまとめはこちらです。

【SVG】クリッピング

SVGクリッピングについて書きます。クリッピングは、切り抜きのことです。要素の一部分を切り抜きます。切り抜かれた部分は表示され、その他の部分は表示されません。切り抜く形は、色々と指定できます。

クリッピングパスの定義

切り抜く形を定義します。ここでは、楕円形(ellipse)にします。

<clipPath id="ellipseclip">
  <ellipse cx="0" cy="0" rx="150" ry="150" style="fill: #ffffff"/>
</clipPath>

クリッピングパスの適用

切り抜かれる要素を用意して、切り抜く形を適用します。

<g clip-path="url(#ellipseclip)">
  <rect x="0" y="0" width="200" height="200" fill="green"/>
</g>

コード

<svg width="300" height="200" viewBox="0 0 300 200" xmlns="http://www.w3.org/2000/svg">
<clipPath id="ellipseclip">
  <ellipse cx="0" cy="0" rx="150" ry="150" style="fill: #ffffff"/>
</clipPath>
<g clip-path="url(#ellipseclip)">
  <rect x="0" y="0" width="200" height="200" fill="green"/>
  <rect x="50" y="50" width="200" height="200" fill="blue"/>
</g>
</svg>

デモ

以下は、上記のコードの実行例です。2つの四角形を円の4分の1で切り抜いています。クリッピングパス内が表示され、クリッピングパス外は表示されないことが、確認できると思います。

まとめ

以上を指定すると要素を任意の形に切り抜くことができます。

» HTML入門のまとめはこちらです。