2020.3.13
2020.3.16

表示エリアよりも大きい画像を縮小せずに中央に表示する

画像のサイズよりも表示エリアのサイズが小さい場合、そのままでは左上を始点にして画像が表示されてしまうので、CSSを使って、画像を縮小させずに、表示エリアからはみ出てしまう部分を上下左右で均等にして、画像を中央に表示する方法です。

コード

コードは以下の通り。

HTML


<div class="sample-image-content">
  <img src="sample-image.jpg">
</div>

CSS


.sample-image-content {
  position: relative;
  width: 300px;
  height: 150px;
  overflow: hidden;
}
.sample-image-content img {
  position: absolute;
  width: 400px;
  height: 300px;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
}

動作確認

「400px × 300px」の画像をそのまま表示。

サンプル画像

「400px × 300px」の画像を「300px × 150px」のエリアに中央表示。

サンプル画像

CSS】関連記事