MARKLEAPS[マークリープス]

TECH BLOG

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

open

cssでimg画像をトリミングする方法「transform」編

cssでimg画像をトリミング 「transform」編

Photoshopなどの画像編集ソフトを使わずに、
cssでimg画像をトリミングする方法をご紹介します。

「transform」プロパティを使った方法となります。

基本

まずは画像を枠で囲みます。
この枠がトリミングの範囲となります。

html

divで囲んでいますが、liやdtなどでもよいです。

css

 

position: absolute; と transform で画像を枠に対して中央配置し、
overflow: hidden; ではみ出た部分を隠しています。

高さに合わせてリサイズしてトリミング


上記では元画像サイズ600px × 300px(縦横比 2:1)の画像を
450px × 281px(縦横比 16:10) の枠内にトリミングしています。

横幅に合わせてリサイズしてトリミング


上記では元画像サイズ600px × 600px(縦横比 1:1)の画像を
450px × 281px(縦横比 16:10) の枠内にトリミングしています。

レスポンシブ(枠を可変幅)でトリミング

css

beforeのpadding-top に入る数値は、
枠の高さ ÷ 横幅 × 100
で求めます。
トリミングする枠の縦横比を16:10にする場合、
10 ÷ 16 × 100 = 62.5
となり、この数字をpadding-topに当て込むことで、縦横比に応じた高さを出しています。

トリミング枠がインライン要素の場合

html

css

トリミング枠がインライン要素だとうまくいかないので、
a要素がトリミング枠になる場合は、
cssにdisplay: blockを追加します。

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

関連最新記事