Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

262
Visualizações
¿Anular transformaciones (principalmente rotación) en getBoundingClientRect?

Actualmente estoy usando esto como un entrenamiento (simplemente eliminando la transformación, obteniendo el rect y volviéndolo a colocar).

 useEffect(() => { if (typeof document !== undefined) { const ctn = document.getElementById(id); const parent = ctn.parentElement; const parentStyles = getComputedStyle(parent); const transform = parentStyles.transform; parent.style.transform = "rotate(0deg)"; const box = parent.getBoundingClientRect(); if (box.width > box.height * 0.5008) { // These numbers are specific to the aspect ratio of the phone frame, unrelated to question setHeight("100%"); setWidth(box.height * 0.5008); } else { setHeight(box.width * 1.9888); setWidth("100%"); } setBorderRadius(box.width * 0.125); parent.style.transform = transform; } }, [screen]);

La razón por la que estoy preguntando es porque esto es para un componente de 'simulacro', es decir, le das una imagen y te devuelve un buen simulacro. La idea general es que simplemente lo envuelva en el contenedor del tamaño que desee, y ajustará automáticamente el tamaño de todo con JS para que la maqueta se vea perfecta. Son esencialmente 2 capas, la imagen del marco del teléfono en la parte superior y la imagen de la pantalla en la parte inferior. Tomo el ancho/alto del contenedor principal y hago un cálculo para que la imagen de la "pantalla" se alinee perfectamente con el teléfono.

No gira, funciona bien

Si no elimino por completo la transformación de rotación antes de usar getBoundingClientRect(), calcula el ancho con la transformación incluida, lo que arruina el tamaño del elemento. Mi solución actual se siente un poco rara, y hace que no pueda cambiar las transformaciones en la hoja de estilo CSS del contenedor principal sin una solución JS (porque la transformación simplemente se agrega a los estilos en línea).

about 4 years ago · Juan Pablo Isaza
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda