Spec-Zone.ru › Web APIs

ResizeObserverEntry: свойство devicePixelContentBoxSize

Чтение только свойство devicePixelContentBoxSize интерфейса ResizeObserverEntry возвращает массив, содержащий размер наблюдаемого элемента в пикселях устройства на момент выполнения обратного вызова.

Значение

Массив, содержащий объекты с новым размером наблюдаемого элемента в пикселях устройства. Массив необходим для поддержки элементов, имеющих несколько фрагментов, что встречается в многоколоночных сценариях. Каждый объект в массиве содержит два свойства:

blockSize

Размер области содержимого (content-box) в пикселях устройства по блочной оси наблюдаемого элемента. Для элементов с горизонтальным writing-mode это вертикальная размерность (высота); если режим написания вертикальный, это горизонтальная размерность (ширина).

inlineSize

Размер области содержимого (content-box) в пикселях устройства по направлению строки наблюдаемого элемента. Для элементов с горизонтальным writing-mode это горизонтальная размерность (ширина); если режим написания вертикальный, это вертикальная размерность (высота).

Примечание: Для получения дополнительной информации о режимах написания и блочных и строчных измерениях, прочтите Обработка различных направлений текста.

Примеры

Следующий пример взят из статьи Точное отображение с помощью devicePixelContentBox. Поскольку обратный вызов ResizeObserver вызывается после макета, но до отрисовки. Это предоставляет возможность регистрировать точный размер в физических пикселях, чтобы гарантировать однозначное соответствие пикселей холста физическим пикселям.

const observer = new ResizeObserver((entries) => {
  const entry = entries.find((entry) => entry.target === canvas);
  canvas.width = entry.devicePixelContentBoxSize[0].inlineSize;
  canvas.height = entry.devicePixelContentBoxSize[0].blockSize;

  /* … render to canvas … */
});
observer.observe(canvas, { box: "device-pixel-content-box" });

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

Спецификация
Resize Observer
# dom-resizeobserverentry-devicepixelcontentboxsize

Совместимость с браузерами

Рабочий стол Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android
devicePixelContentBoxSize 84 84 93 70 Нет 84 93 60 Нет 14.0 84

© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/ResizeObserverEntry/devicePixelContentBoxSize

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API