Свойство object-fit определяет, как должен измениться размер элемента, чтобы он поместился в блоке.
Свойство object-fit дает возможность поместить контент изображения таким образом, чтобы он соответствовал размерам, указанным в таблице стилей.
При помощи значений свойства можно увеличить, уменьшить, обрезать или растянуть контент таким образом, чтобы он соответствовал указанным размерам ширины и высоты. Свойство имеет пять значений:
- fill
- contain
- cover
- none
- scale-down
| Значение по умолчанию | fill |
| Применяется | Ко всем элементам. |
| Наследуется | Нет |
| Анимируемое | Нет |
| Версия | CSS3 |
| DOM синтаксис | object.style.objectFit = "cover"; |
Синтаксис
object-fit: fill | contain | cover | scale-down | none | initial | inherit;Пример
<!DOCTYPE html>
<html>
<head>
<title>Заголовок документа</title>
<style>
img.tree {
width: 200px;
height: 400px;
object-fit: fill;
}
</style>
</head>
<body>
<h2>Пример свойства object-fit</h2>
<h3>Оригинальное изображение:</h3>
<img src="/uploads/media/default/0001/01/b408569013c0bb32b2afb0f0d45e93e982347951.jpeg" alt="Tree" width="300" height="200">
<h3>Значение fill:</h3>
<img class="tree" src="/uploads/media/default/0001/01/b408569013c0bb32b2afb0f0d45e93e982347951.jpeg" alt="Tree" width="300" height="200">
</body>
</html>Пример со значением "cover", где края изображения обрезаны, а пропорции сохранены:
Пример
<!DOCTYPE html>
<html>
<head>
<title>Заголовок документа</title>
<style>
img.tree {
width: 200px;
height: 400px;
object-fit: cover;
}
</style>
</head>
<body>
<h2>Пример свойства object-fit</h2>
<h3>Оригинальное изображение:</h3>
<img src="/uploads/media/default/0001/01/b408569013c0bb32b2afb0f0d45e93e982347951.jpeg" alt="Tree" width="300" height="200">
<h3>Значение cover:</h3>
<img class="tree" src="/uploads/media/default/0001/01/b408569013c0bb32b2afb0f0d45e93e982347951.jpeg" alt="Tree" width="300" height="200">
</body>
</html>Пример со значением "contain":
Пример
<!DOCTYPE html>
<html>
<head>
<title>Заголовок документа</title>
<style>
img.tree {
width: 200px;
height: 400px;
object-fit: contain;
}
</style>
</head>
<body>
<h2>Пример свойства object-fit</h2>
<h3>Оригинальное изображение:</h3>
<img src="/uploads/media/default/0001/01/b408569013c0bb32b2afb0f0d45e93e982347951.jpeg" alt="Tree" width="300" height="200">
<h3>Значение contain:</h3>
<img class="tree" src="/uploads/media/default/0001/01/b408569013c0bb32b2afb0f0d45e93e982347951.jpeg" alt="Tree" width="300" height="200">
</body>
</html>Пример со значением "scale-down", где размер изображения уменьшен:
Пример
<!DOCTYPE html>
<html>
<head>
<title>Заголовок документа</title>
<style>
img.tree {
width: 200px;
height: 400px;
object-fit: scale-down;
}
</style>
</head>
<body>
<h2>Пример свойства object-fit</h2>
<h3>Оригинальное изображение:</h3>
<img src="/uploads/media/default/0001/01/b408569013c0bb32b2afb0f0d45e93e982347951.jpeg" alt="Tree" width="300" height="200">
<h3>Значение scale-down:</h3>
<img class="tree" src="/uploads/media/default/0001/01/b408569013c0bb32b2afb0f0d45e93e982347951.jpeg" alt="Tree" width="300" height="200">
</body>
</html>Значения
| Значение | Описание |
|---|---|
| fill | Размер контента изменяется таким образом, чтобы заполнить блок. Значение по умолчанию. |
| contain | Контент масштабируется таким образом, чтобы заполнить блок, сохраняя свои пропорции. |
| cover | Пропорции контента меняются при заполнении блока. Контент будет обрезан для заполнения блока. |
| none | Размер контента не меняется. |
| scale-down | Соответствует значению none или contain. Контент элемента будет иметь наименьший размер. |
| initial | Устанавливает свойство в значение по умолчанию. |
| inherit | Значение элемента наследуется от родительского элемента. |
Поддержка браузера
|
|
|
|
|
|
|---|---|---|---|---|
| 31.0+ | 16.0 partial | 36.0+ | 10.0+ |
19.0+ 11.5-12.1 -o- |
Практикуйте свои знания
Какие значения может принимать CSS свойство object-fit?
Правильный!
Неправильно!