bject-fitとobject-position、overflowとpositionで画像をトリミング表示
アイコンや写真などの一部分をマスクして(切り取って)サムネイル画像に表示したいときに使えるのがobject-fitとobject-position。
object-fit: cover; でアイキャッチ画像に使うことしか知らなかったが、この2つを組み合わせて使えば大抵うまくいくらしい。
オリジナル画像を下のようなサムネイル画像として表示したい。
<figure>
<img src="" alt="">
</figure>
figure {
width: 330px;
height: 280px;
border-radius: 20px;
}
img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: 40% 100%;
}
border-radiusはimgではなくfigureに記述する。
画像がはみ出るときはfigureにoverflow: hidden;ではみ出たところは隠れる。
figure {
overflow: hidden;
width: 300px;
height: 200px;
position: relative;
}
img {
width: 100%;
height: auto;
position: absolute;
top: 50%;
left: 50%;
-webkit-transform: translate(-50%, -50%);
-ms-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
}
positionで画像の中央をトリミングして表示することができる。