object-fit

Управляет соотношением сторон заменяемых элементов, таких как <img> и <video>, когда у них задана ширина или высота, а также способом масштабирования. Свойство object-fit может сохранять исходные пропорции элемента или наоборот, искажать пропорции, в угоду соблюдения размеров.

Краткая информация

Значение по умолчанию fill
Наследуется Нет
Применяется К <img>, <video>, <object>, <input type="image">
Анимируется Нет

Синтаксис

object-fit: fill | contain | cover | none

Значения

fill
Элемент масштабируется, чтобы соответствовать заданным размерам, при этом пропорции игнорируются.
contain
Элемент масштабируется, чтобы целиком уместиться в заданные размеры с соблюдением пропорций.
cover
Элемент увеличивается или уменьшается, чтобы целиком заполнить заданную область с сохранением пропорций.
none
Сохраняются исходные пропорции элемента, установленные значения ширины или высоты не влияют на содержимое.

Влияние разных значений на фотографии продемонстрировано на рис. 1. Был использован следующий стиль.

img { 
  background: #ccc; overflow: hidden; 
  width: 200px; height: 200px; 
}

Исходные изображения

fill

contain

cover

none

Рис. 1. Фотографии с разным значением object-fit

Песочница

img {
  width: 100%; 
  height: 200px;
  object-fit: fill;
}

Пример

Код примера скопирован в буфер
<!DOCTYPE html>
<html>
 <head>
  <meta charset="utf-8">
  <title>object-fit</title>
   <style>
    .dolphin img {
     object-fit: cover;
     height: 400px;
     width: 300px;
    }
  </style>
 </head>
 <body>
  <p class="dolphin"><img src="image/dolphin.jpg" alt="Дельфин"></p>
 </body>
</html>

Объектная модель

Объект.style.objectFit

Спецификация

CSS Images Module Level 4

CSS Images Module Level 3

Браузеры

79 32 19 10 36
4.4.3 36 19 10