---
title: object-fit
slug: Web/CSS/object-fit
tags:
  - CSS
  - CSS Property
  - object-fit
translation_of: Web/CSS/object-fit
---
<div>{{CSSRef}}</div>

<p>Свойство<strong> <code>object-fit</code></strong> определяет, как содержимое заменяемого элемента, такого как <a href="/ru/docs/Web/HTML/Element/img" title="The HTML &lt;img> element embeds an image into the document. It is a replaced element."><code>&lt;img&gt;</code></a> или <code><a href="/ru/docs/Web/HTML/Element/video" title="The HTML Video element (&lt;video>) embeds a media player which supports video playback into the document.">&lt;video&gt;</a></code>, должно заполнять контейнер относительно его высоты и ширины.</p>

<p>{{EmbedInteractiveExample("pages/css/object-fit.html")}}</p>

<h2 id="Syntax" name="Syntax">Синтаксис</h2>

<p class="brush:css">Для <code>object-fit</code> можно указать одно из нижеперечисленных свойств.</p>

<h3 id="Values" name="Values">Значения</h3>

<dl>
 <dt><code>fill</code></dt>
 <dd>Смещаемый контент меняет свой размер таким образом, чтобы заполнить всю область внутри блока: используется вся ширина и высота блока.</dd>
 <dt><code>contain</code></dt>
 <dd>Смещаемый контент меняет свой размер таким образом, чтобы подстроится под область внутри блока пропорционально собственным параметрам: окончательный размер контента будет определен как "помещенный внутрь" блока, ограничиваясь его шириной и высотой.</dd>
 <dt><code>cover</code></dt>
 <dd>Смещаемый контент меняет свой размер таким образом, чтобы сохранять свои пропорции при заполнении блока: окончательный размер контента будет определен как "покрытие" блока, ограничиваясь его шириной и высотой.</dd>
 <dt><code>none</code></dt>
 <dd>Смещаемый контент не изменяет свой размер с целью заполнить пространство блока: конечный размер контента будет определен с использованием алгоритма изменения размера по умолчанию, а также размер объекта по умолчанию равен ширине и высоте смещаемого контента.</dd>
</dl>

<dl>
 <dt><code>scale-down</code></dt>
 <dd>Контент изменяет размер, сравнивая разницу между <code>none</code> и <code>contain, </code>для того, чтобы найти наименьший конкретный размер объекта.</dd>
</dl>

<h3 id="Правильный_синтаксис">Правильный синтаксис</h3>

<pre class="syntaxbox">{{csssyntax}}</pre>

<h2 id="Example" name="Example">Пример</h2>

<h3 id="HTML_Контент">HTML Контент</h3>

<pre class="brush: html">&lt;div&gt;
  &lt;h2&gt;object-fit: fill&lt;/h2&gt;
  &lt;img src="https://mdn.mozillademos.org/files/6457/mdn_logo_only_color.png" alt="MDN Logo" class="fill"/&gt;

  &lt;img src="https://mdn.mozillademos.org/files/6457/mdn_logo_only_color.png" alt="MDN Logo" class="fill narrow"/&gt;

  &lt;h2&gt;object-fit: contain&lt;/h2&gt;
  &lt;img src="https://mdn.mozillademos.org/files/6457/mdn_logo_only_color.png" alt="MDN Logo" class="contain"/&gt;

  &lt;img src="https://mdn.mozillademos.org/files/6457/mdn_logo_only_color.png" alt="MDN Logo" class="contain narrow"/&gt;

  &lt;h2&gt;object-fit: cover&lt;/h2&gt;
  &lt;img src="https://mdn.mozillademos.org/files/6457/mdn_logo_only_color.png" alt="MDN Logo" class="cover"/&gt;

  &lt;img src="https://mdn.mozillademos.org/files/6457/mdn_logo_only_color.png" alt="MDN Logo" class="cover narrow"/&gt;

  &lt;h2&gt;object-fit: none&lt;/h2&gt;
  &lt;img src="https://mdn.mozillademos.org/files/6457/mdn_logo_only_color.png" alt="MDN Logo" class="none"/&gt;

  &lt;img src="https://mdn.mozillademos.org/files/6457/mdn_logo_only_color.png" alt="MDN Logo" class="none narrow"/&gt;

  &lt;h2&gt;object-fit: scale-down&lt;/h2&gt;
  &lt;img src="https://mdn.mozillademos.org/files/6457/mdn_logo_only_color.png" alt="MDN Logo" class="scale-down"/&gt;

  &lt;img src="https://mdn.mozillademos.org/files/6457/mdn_logo_only_color.png" alt="MDN Logo" class="scale-down narrow"/&gt;

&lt;/div&gt;</pre>

<h3 id="CSS_Контент">CSS Контент</h3>

<pre class="brush: css">h2 {
  font-family: Courier New, monospace;
  font-size: 1em;
  margin: 1em 0 0.3em;
}

div {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  align-items: flex-start;
  height: 940px;
}

img {
  width: 150px;
  height: 100px;
  border: 1px solid #000;
}

.narrow {
  width: 100px;
  height: 150px;
  margin-top: 10px;
}

.fill {
  object-fit: fill;
}

.contain {
  object-fit: contain;
}

.cover {
  object-fit: cover;
}

.none {
  object-fit: none;
}

.scale-down {
  object-fit: scale-down;
}
</pre>

<h3 id="Результат">Результат</h3>

<p>{{ EmbedLiveSample('Example', 500, 450) }}</p>

<h2 id="Specifications" name="Specifications">Технические параметры</h2>

<table class="standard-table">
 <thead>
  <tr>
   <th scope="col">Specification</th>
   <th scope="col">Status</th>
   <th scope="col">Comment</th>
  </tr>
 </thead>
 <tbody>
  <tr>
   <td>{{SpecName('CSS4 Images', '#the-object-fit', 'object-fit')}}</td>
   <td>{{Spec2('CSS4 Images')}}</td>
   <td><code>Добавлены ключевые слова from-image</code> <code>и flip</code></td>
  </tr>
  <tr>
   <td>{{SpecName('CSS3 Images', '#the-object-fit', 'object-fit')}}</td>
   <td>{{Spec2('CSS3 Images')}}</td>
   <td>Первоначальное определение</td>
  </tr>
 </tbody>
</table>

<p>{{cssinfo}}</p>

<h2 id="Browser_compatibility" name="Browser_compatibility">Браузерная совместимость</h2>

<p>{{Compat("css.properties.object-fit")}}</p>

<h2 id="See_also" name="See_also">Смотри также</h2>

<ul>
 <li>Другие свойства CSS, связанные с изображениями (картинками): {{cssxref("object-position")}}, {{cssxref("image-orientation")}}, {{cssxref("image-rendering")}}, {{cssxref("image-resolution")}}.</li>
 <li>{{cssxref("background-size")}}</li>
</ul>