トップページ > ブログ > 【CSS】SVGで画像を切り抜いていく!

BLOG

ブログ

UPDATE:2024.7.3

CATEGORY

【CSS】SVGで画像を切り抜いていく!

こんにちは、かずです。

タイトルの通り、SVGで自由な形で切り抜き(マスク)を行う方法をご紹介します。

というのも、もちろんGoogle先生に聞けばすぐに出てはきます。
ただ、レスポンシブ対応も含めるとちょっと時間がかかってしまうので備忘録かねてです。



切り抜くSVGと画像を用意します。

というわけでうちの猫ちゃんにも協力してもらいます。
でーん


切り抜くsvgはこちら。




コードは以下。

<svg xmlns=”http://www.w3.org/2000/svg” xmlns:xlink=”http://www.w3.org/1999/xlink” width=”636″ height=”512″ viewBox=”0 0 635.927 511.607″>
<path d=”M208.927,30.043C276.151-10.9,363.2-8.4,442.548,27.84c81.341,37.147,141.467,110.248,174.091,163.825,36.752,60.362,18.843,110.937-35.575,165.473-41.007,41.091-92.28,88.328-150.784,123.953-64.861,39.493-147.614,34.768-220.218,18.658C130.286,482.058,52.948,445.011,19.206,389.593-16.008,331.77-.032,247.125,44.64,174.924,81.746,114.966,147.161,67.653,208.927,30.043″ transform=”translate(0 0)” fill=”#ccc”/>
</svg>



SVGを整える

レスポンシブに対応するため、先程のsvgのコードを整えます。

<svg viewBox=”0 0 636 512″ style=”width:0;height0;”>
<clipPath id=”mask” clipPathUnits=”objectBoundingBox” style=”transform: scale(calc(1/636), calc(1/512));”>
<path d=”M208.927,30.043C276.151-10.9,363.2-8.4,442.548,27.84c81.341,37.147,141.467,110.248,174.091,163.825,36.752,60.362,18.843,110.937-35.575,165.473-41.007,41.091-92.28,88.328-150.784,123.953-64.861,39.493-147.614,34.768-220.218,18.658C130.286,482.058,52.948,445.011,19.206,389.593-16.008,331.77-.032,247.125,44.64,174.924,81.746,114.966,147.161,67.653,208.927,30.043″ transform=”translate(0 0)”>
</clipPath>
</svg>


ポイントは以下。
・viewBoxを残し、svg自体は見えなくするため「width:0;height0;」を記述
・2行目、4行目を追記
・2行目のtransformは「1/幅」と「1/高さ」をしています


CSSを記述

切り抜きたいimg要素に対して、以下のように「clip-path」を記述します。
img{
clip-path: url(#mask);
}


結果


ででーん!


これでレスポンシブに対応した切り抜きの完成です!

おわり!

それでは。

Happiness in Design

シアワセをデザインする会社

営業ゼロで年間600件以上
お問い合わせをいただいている
ノウハウを惜しみなく。

アプリコットデザインには創業当初から営業マンはいません。
創業当初からWEBを活用することに重点を置いて、これまで試行錯誤してきました。その結果、年間600件以上の問い合わせををこのホームページから得ています。ホームページという集客ツールを提供している私たち自身が、自社のホームページで集客できないのでは、お客様に自信を持ってオススメすることはできません。自社の実験から「WEBを活用して集客するためのノウハウを蓄積」した上で、誰よりもホームページの素晴らしさを知り、自信をもってお客様にご提供していきたいと考えます。

VIEW MORE

CONTACT

お問い合わせ・ご相談は
お気軽にどうぞ。

tel.0120-622835

営業時間/10:00〜18:00 
定休日/土日祝日

プロジェクト

それぞれの
らしさ溢れる日常を。

カフェ、トリミングサロン、ネイルサロン、スクール「tone village(トーンビレッジ)」

カフェ、トリミングサロン、ネイルサロン、スクール「tone village(トーンビレッジ)」

カフェ/ドッグサロン/
ネイルサロン/スクール

tone village

We're open.

採用情報

recruit info

豊かで彩りのある社会をつくる!

私たちは仕事を通して、一人でも多くの人が未来に対する希望を描けるような、そんなワクワクする社会をつくっていきたいと思っています。

VIEW MORE