«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как получить точную ширину и высоту преобразованного элемента в JavaScript?

Как получить точную ширину и высоту преобразованного элемента в JavaScript?

Опубликовано 8 ноября 2024 г.
Просматривать:804

How to Get the Accurate Width and Height of a Transformed Element in JavaScript?

Извлечение ширины и высоты после преобразования

При применении к элементу такого преобразования, как Rotate(45deg), визуальные размеры этого элемента изменять. Однако свойства ширины и высоты в JavaScript по-прежнему отражают исходные непреобразованные размеры.

Решение: использование getBoundingClientRect()

Чтобы получить обновленные размеры после преобразования, используйте метод getBoundingClientRect() для HTMLDOMElement. Этот метод возвращает объект, содержащий преобразованные высоту и ширину.

Пример:

// Get the element
const element = document.querySelector('.transformed');

// Calculate the rotated dimensions
const rect = element.getBoundingClientRect();

// Access the rotated width and height
const rotatedWidth = rect.width;
const rotatedHeight = rect.height;

Демо:

Посетите этот jsFiddle для практического примера: https://jsfiddle.net/your_url_here

Примечание: Этот метод даст вам размеры всего элемента, включая любые границы и отступы. Если вам нужно вычислить только размеры содержимого, вам следует использовать offsetWidth и offsetHeight для элемента содержимого элемента (например,

внутри преобразованного элемента).
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3