Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

171
Vistas
SVG <text> elemento delimitador caja cambios en transformar

Según tengo entendido, se supone que getBBox() ignora las transformaciones aplicadas al elemento que está midiendo.

por ejemplo: si tengo: <g transform="scale(0.5, 0.5)"><rect width="100" height="100" /></g> , llamar a getBBox en <g> siempre devolverá width: 100, height: 100 , sin importar cuáles sean los argumentos de la scale() . Sin embargo, este NO parece ser el caso cuando se usa un elemento <text> en lugar de <rect> . El tamaño de <text> informado por getBBox() cambia a medida que cambia la transformación.

Ejemplo completo:

 const gNode = document.querySelector("g"); const dimensionsBB = () => { console.log(gNode.getBBox()); } // trigger every time a change in size is detected const resizeObserver = new ResizeObserver(dimensionsBB); resizeObserver.observe(gNode); // update transformation every second setInterval(() => { gNode.setAttribute("transform", `scale(${Math.random()}, ${Math.random()})`); }, 1000);
 <svg width="500" height="500"> <g> <text>Text goes here</text> </g> </svg>

En este ejemplo, resizeObserver se activa cada vez que cambia la escala, y las dimensiones informadas por getBBox() son diferentes cada vez (con ligeras variaciones).

¿Por qué? ¿Y hay alguna manera de obtener siempre un resultado consistente?

about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda