Maison >interface Web >tutoriel CSS >Comment récupérer la largeur et la hauteur réelles d'un élément pivoté en JavaScript ?

Comment récupérer la largeur et la hauteur réelles d'un élément pivoté en JavaScript ?

DDD
DDDoriginal
2024-10-28 05:22:30499parcourir

 How to Retrieve the True Width and Height of a Rotated Element in JavaScript?

Récupération de la largeur/hauteur après la transformation de rotation

Lorsque vous appliquez une transformation de rotation à un élément à l'aide de CSS, l'apparence visuelle de l'élément peut changer, mais les propriétés JavaScript pour sa largeur et sa hauteur peuvent ne pas refléter ce changement.

Problème :

Après avoir appliqué une transformation de rotation de 45 degrés, un carré de 11x11 semble être 17x17 dans le navigateur. Cependant, si vous tentez de récupérer les propriétés de largeur et de hauteur à l'aide de JavaScript, vous obtenez toujours les valeurs d'origine (10x10).

Solution :

Pour récupérer avec précision la largeur et la hauteur après avoir appliqué une transformation de rotation, vous pouvez utiliser la méthode getBoundingClientRect() de HTMLDOMElement. Cette méthode renvoie un objet avec la hauteur et la largeur correctes, en tenant compte de la matrice de transformation.

<code class="javascript">const element = document.querySelector('.rotated-element');

const rect = element.getBoundingClientRect();

const width = rect.width;
const height = rect.height;</code>

Cette approche vous donne le résultat souhaité (17x17) car getBoundingClientRect() prend en compte les dimensions visuelles réelles de l'élément pivoté, pas seulement les valeurs d'origine stockées dans les propriétés de l'élément.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn