属性名 | object-fit |
---|---|
値 | fill | contain | cover | none | scale-down |
初期値 | fill |
適用可能要素 | リプレース要素 |
継承 | しない |
サポート | https://caniuse.com/?search=object-fit |
画像(<img>)やビデオ(<video>)の横幅(width)や高さ(height)を指定した場合に、オブジェクトをどのように拡大・縮小するかを指定します。
値 | 説明 |
---|---|
fill | オブジェクトの横幅が width に、高さが height になるように拡大・縮小されます。 |
contain | オブジェクトの縦横比を保ったまま、縦幅いっぱい、もしくは、横幅いっぱいに拡大・縮小されます。オブジェクトの縦横比と width と height の比が合わない場合は隙間が生じます。 |
cover | オブジェクトの縦横比を保ったまま、縦幅いっぱい、もしくは、横幅いっぱいに拡大・縮小されます。オブジェクトの縦横比と width と height の比が合わない場合はオブジェクトの一部がはみ出します。 |
none | 拡大・縮小しません。 |
scale-down | none または contain の内、オブジェクトの大きさが小さい方が採用されます。 |
.test { display: inline-block; margin-right: 6rem; } .img1 { width: 80px; height: 50px; border: 1px solid #000; margin: 10px 0; } .img2 { width: 50px; height: 80px; border: 1px solid #000; margin: 10px 0; } .fill { object-fit: fill; } .contain { object-fit: contain; } .cover { object-fit: cover; } .none { object-fit: none; } .scale-down { object-fit: scale-down; }
<div class="test"> <div>object-fit: fill</div> <img class="img1 fill" src="example.gif" alt="test"> <img class="img2 fill" src="example.gif" alt="test"> </div> <div class="test"> <div>object-fit: contain</div> <img class="img1 contain" src="example.gif" alt="test"> <img class="img2 contain" src="example.gif" alt="test"> </div> <div class="test"> <div>object-fit: cover</div> <img class="img1 cover" src="example.gif" alt="test"> <img class="img2 cover" src="example.gif" alt="test"> </div> <div class="test"> <div>object-fit: none</div> <img class="img1 none" src="example.gif" alt="test"> <img class="img2 none" src="example.gif" alt="test"> </div> <div class="test"> <div>object-fit: scale-down</div> <img class="img1 scale-down" src="example.gif" alt="test"> <img class="img2 scale-down" src="example.gif" alt="test"> </div>
通常はオブジェクトの中央(50%, 50%)の位置が領域の中央に表示されますが、表示位置をずらしたい場合は object-position を用います。
.top { object-position: 50% 0; }
<div class="test"> <img class="img1 cover" src="../../image/yuki5.gif" alt="test"> <img class="img1 cover top" src="../../image/yuki5.gif" alt="test"> </div>