1. ホーム
  2. html

[解決済み] 画像比率に関係なく正方形のサムネイル画像を生成する。

2022-03-04 05:38:09

質問

画像の比率に関係なく、正方形のサムネイルを生成するCSSのみのソリューションを探しています。

.thumbnail {
  width: 100px;
  height: 100px;
  overflow: hidden;
}
img {
  width: 100%;
  height: auto;
}

上記の例では、画像が縦長である場合のみ正方形のサムネイルが作成され、横長の画像はサムネイルの高さ全体をカバーしません。

CSSのみで解決する方法はありますか( 背景画像として設定する以外に を使用することはできますか?

解決方法は?

通常の background-image / background-size メソッドを使用することです。 object-fit . IEでは動作しませんが。

.thumbnail {
  width: 150px;
  height: 150px;
  overflow: hidden;
}

img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* for demo only...*/
div {
  margin-bottom: 15px;
}
.noscale {
  width: auto;
  height: auto;
}
<div class="thumbnail">
  <img src="//placekitten.com/200/300">
</div>

<div class="thumbnail">
  <img src="//placekitten.com/300/200">
</div>

<h4>
Images for reference:
</h4>
<img src="//placekitten.com/200/300" class="noscale">
<img src="//placekitten.com/300/200" class="noscale">

ブラウザサポート #object-fit