Кратко
СкопированоСвойство object задаёт, какая часть изображения должна быть видна.
Пример
Скопировано
.cropped-element { object-view-box: inset(20%);}
.cropped-element {
object-view-box: inset(20%);
}
Как пишется
СкопированоВозможные значения object:
none— значение по умолчанию, окно отображения не задаётся;<basic– окно отображения задаётся в виде прямоугольника с помощью функций- shape - rect> inset,( ) xywh.( )
Зададим область отображения через inset:
.object-view-box-inset { object-fit: cover; object-view-box: inset(15% 15% 15% 15%);}
.object-view-box-inset {
object-fit: cover;
object-view-box: inset(15% 15% 15% 15%);
}
А теперь через функцию xywh:
.object-view-box-xywh { object-fit: cover; object-view-box: xywh(10% 10% 75% 75%);}
.object-view-box-xywh {
object-fit: cover;
object-view-box: xywh(10% 10% 75% 75%);
}
Как понять
СкопированоПо своему поведению свойство object похоже на атрибут view в SVG. Оно устанавливает размеры окна отображения в замещаемых элементах, вроде <img>, <video>, <canvas>. Контент, попавший в заданную область, будет виден, а остальной скроется.
Область отображения, заданную через object, браузер воспринимает в качестве исходного элемента, и свойства вроде object и object применяются именно к ней. За счёт этого можно реализовать кадрирование изображения без изменения самого файла.
Кроме object есть и другие способы обрезки, например, overflow и clip. Вот в чём разница: object работает с содержимым ресурса и задаёт «кадр» внутри источника — как будто кадрируем исходный файл. А overflow и clip задают форму или рамку снаружи, при этом весь ресурс остаётся внутри элемента, даже если часть его не видна.
Посмотрите на разницу в примере:
Подсказки
Скопировано💡 Замещаемый элемент — это HTML-элемент, отображающий внешний ресурс, например, картинку или видео. Браузер берёт содержимое не из HTML-разметки, а подставляет готовое «встроенное» представление. В CSS мы можем менять размер и расположение такого элемента, но не управлять его внутренним содержимым.
- Chrome 104, поддерживается
- Edge 104, поддерживается
- Firefox, не поддерживается
- Safari, не поддерживается