Spec-Zone.ru › Web APIs

ResizeObserverEntry: свойство contentRect

Базовая Широко доступна

Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузера. Она доступна во всех браузерах с июля 2020 года.

  • Подробнее
  • Полная совместимость
  • Отправить отзыв

contentRect только для чтения свойство интерфейса ResizeObserverEntry возвращает объект DOMRectReadOnly, содержащий новые размеры наблюдаемого элемента, когда выполняется обратный вызов. Обратите внимание, что эта функция лучше поддерживается, чем ResizeObserverEntry.borderBoxSize или ResizeObserverEntry.contentBoxSize, но она сохранилась от более ранней реализации API Resize Observer, по-прежнему включена в спецификацию по причинам совместимости с веб-технологиями и может быть устаревшей в будущих версиях.

Значение

Объект DOMRectReadOnly, содержащий новые размеры элемента, указанного свойством target.

Если target является HTML-элементом Element, возвращаемый contentRect — это область содержимого элемента. Если target является элементом SVGElement, возвращаемый contentRect — это ограничительная рамка SVG.

Примеры

Следующий фрагмент взят из примера resize-observer-text.html (посмотреть исходный код). Этот пример использует простой тест определения функции для проверки, поддерживает ли браузер новое свойство ResizeObserverEntry.contentBoxSize — если поддерживает, то он использует его для получения данных размера. Если нет, то он использует contentRect.

const resizeObserver = new ResizeObserver((entries) => {
  for (const entry of entries) {
    if (entry.contentBoxSize) {
      h1Elem.style.fontSize = `${Math.max(
        1.5,
        entry.contentBoxSize.inlineSize / 200,
      )}rem`;
      pElem.style.fontSize = `${Math.max(
        1,
        entry.contentBoxSize.inlineSize / 600,
      )}rem`;
    } else {
      h1Elem.style.fontSize = `${Math.max(
        1.5,
        entry.contentRect.width / 200,
      )}rem`;
      pElem.style.fontSize = `${Math.max(1, entry.contentRect.width / 600)}rem`;
    }
  }
});

resizeObserver.observe(divElem);

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

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

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

Рабочий стол Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android
contentRect 64 79 69 51 13.1 64 79 47 13.4 9.0 64

© 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/contentRect

Spec-Zone.ru

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