メインコンテンツにスキップ ドキュメントナビゲーションにスキップ

オブジェクトフィット

オブジェクトフィットユーティリティを使用して、<img><video> などの 置換要素 のコンテンツがコンテナに合わせてどのようにサイズ変更されるかを変更します。

このページの内容

仕組み

レスポンシブな `object-fit` ユーティリティクラスを使用して、`object-fit` プロパティ の値を変更します。このプロパティは、アスペクト比を維持したり、可能な限り多くのスペースを占めるようにストレッチしたりするなど、さまざまな方法で親コンテナを埋めるようにコンテンツに指示します。

object-fit の値のクラスは、.object-fit-{value} の形式で名前が付けられます。次の値から選択します

  • contain
  • cover
  • fill
  • scale (縮小用)
  • none

object-fit-{value} クラスを 置換要素 に追加します

Placeholder : Object fit contain Placeholder : Object fit cover Placeholder : Object fit fill Placeholder : Object fit scale down Placeholder : Object fit none
html
<img src="..." class="object-fit-contain border rounded" alt="...">
<img src="..." class="object-fit-cover border rounded" alt="...">
<img src="..." class="object-fit-fill border rounded" alt="...">
<img src="..." class="object-fit-scale border rounded" alt="...">
<img src="..." class="object-fit-none border rounded" alt="...">

レスポンシブ

各 `object-fit` 値には、`sm`、`md`、`lg`、`xl`、`xxl` のブレークポイントの省略形を使用して、 `。object-fit-{breakpoint}-{value}` の形式のレスポンシブバリエーションも存在します。必要に応じて、さまざまな効果を得るためにクラスを組み合わせることができます。

Placeholder : Contain on sm Placeholder : Contain on md Placeholder : Contain on lg Placeholder : Contain on xl Placeholder : Contain on xxl
html
<img src="..." class="object-fit-sm-contain border rounded" alt="...">
<img src="..." class="object-fit-md-contain border rounded" alt="...">
<img src="..." class="object-fit-lg-contain border rounded" alt="...">
<img src="..." class="object-fit-xl-contain border rounded" alt="...">
<img src="..." class="object-fit-xxl-contain border rounded" alt="...">

ビデオ

.object-fit-{value} およびレスポンシブな .object-fit-{breakpoint}-{value} ユーティリティは、<video> 要素でも機能します。

<video src="..." class="object-fit-contain" autoplay></video>
<video src="..." class="object-fit-cover" autoplay></video>
<video src="..." class="object-fit-fill" autoplay></video>
<video src="..." class="object-fit-scale" autoplay></video>
<video src="..." class="object-fit-none" autoplay></video>

CSS

SassユーティリティAPI

オブジェクトフィットユーティリティは、`scss/_utilities.scss` のユーティリティAPIで宣言されています。ユーティリティAPIの使用方法をご覧ください。

"object-fit": (
  responsive: true,
  property: object-fit,
  values: (
    contain: contain,
    cover: cover,
    fill: fill,
    scale: scale-down,
    none: none,
  )
),