MARKLEAPS[マークリープス]

TECH BLOG

マークリープス技術ブログ

open

clip-pathで要素をクリッピング(切り抜き)

clip-pathプロパティについてご紹介します。

clip-pathプロパティとは

cssのclip-pathプロパティは、
要素をクリッピング(​切り抜いて表示)することができるプロパティです。

clip-pathプロパティで要素をクリッピングすると、
指定したクリッピング領域の外側が非表示となって内側だけが表示されます。

IEには未対応となっていますのでご注意ください。

 

横幅300px × 高さ225px の画像をクリッピングしてみます。

・共通html

・共通css

imgを囲むdivには、切り抜いた部分がわかりやすいようにサイズや背景色を指定しています。
imgはレスポンシブ対応の為、max-widthを指定、vertical-align: bottom; は画像下の謎の余白防止のために記述しています。

矩形でクリッピング

inset() を使うと矩形のシェイプを切り抜くことができます。

DEMO
・html

・css

inset()内に、4辺からの距離を指定します。
上の例では上下左右から20pxの位置でクリッピングしています。

inset(○○px):上下左右
値が2つ以上の場合は半角スペースで区切ります。
inset(○○px ○○px):上下、左右
inset(○○px ○○px ○○px):上、左右、上下
inset(○○px ○○px ○○px ○○px):上、右、下、左(時計回り)

角丸の矩形にする

DEMO

inset()の中に続けて round ○○px のように書きます。

round XXpx:全ての角
値が2つ以上の場合は半角スペースで区切ります。
round ○○px ○○px:左上・右下/右上・左下
round ○○px ○○px ○○px:左上/右上・左下/右下
round ○○px ○○px ○○px ○○px:左上/右上/右下/左下(時計回り)

円でクリッピング

circle() を使うと円のシェイプを切り抜くことができます。

DEMO
・html

・css

circle() 内は 「半径 at 中心点のx座標 中心点のy座標」を半角スペース区切りで書きます。

楕円でクリッピング

ellipse() を使うと楕円のシェイプを切り抜くことができます。

DEMO
・html

・css

ellipse() 内は 「x軸半径 y軸半径 at 中心点のx座標 中心点のy座標」を半角スペース区切りで書きます。

多角形でクリッピング

polygon() を使うと多角形のシェイプを切り抜くことができます。

DEMO
・html

・css

polygon() 内は、角の頂点を「x座標 y座標」をワンセットで「,(カンマ)」区切りで書きます。
時計回りでも反時計回りでもどちらでもよいです。

上の例では、上部の頂点から時計回りに指定しています。

難しい、面倒、という人にはジェネレーター

clip-pathの指定がよく分からない、面倒だ、という人はジェネレーターを使ってみるのもおすすめです。

https://bennettfeely.com/clippy/

よく読まれている関連記事

関連最新記事