Кратко
СкопированоСвойство 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, не поддерживается