Tengo una página en la que tengo una rueda de elementos <div>
, toda la rueda gira cuando hace clic en un botón.Use CSS Transforms o javascript para escalar un elemento para adaptarlo a su elemento principal de forma dinámica
Lo logro utilizando transformaciones CSS, que son de naturaleza absoluta. Sin embargo, la rueda es muy grande, se ve bien en mi pantalla HD, pero las pantallas más pequeñas se cortan los bordes. No puedo usar% widths como podría con un diseño normal, lo que necesito es escalar toda la página de la misma manera que funcionan las funciones de zoom de la mayoría de los navegadores.
Para mí, sé que ctr + mouseWheel alejará la página para que pueda ver toda la página, sin embargo, no puedo esperar que otros lo hagan.
Sé que puedo usar -browser-transform: scale(amt);
en un envoltorio div para obtener el efecto que quiero, sin embargo, no puedo encontrar una manera de hacerlo de forma dinámica. Si configuro la escala a .5, será .5, sin importar la pantalla. Quiero que los bordes de la rueda sean solo unos pocos píxeles desde los bordes de la pantalla en CUALQUIER pantalla. Sé que las consultas de los medios se podrían utilizar para ayudar con el problema, pero me dejarían con resultados que no son ideales o que requieren demasiadas consultas diferentes. Debe haber una manera de modificar -browser-transform: scale(amt);
programmatically, o de alguna otra manera para tener control finito.
¿Alguna idea?
Bueno, tengo tumbleweed en este caso. Nadie tiene una idea? – zeel
¿Tiene tamaños absolutos para (partes de) la rueda? Es útil si agrega un pequeño + ejemplo de trabajo en la pregunta, es un poco difícil imaginar cómo se ve su código. - En cualquier caso, por la forma en que lo leo, si tienes un tamaño de rueda fijo y un tamaño de navegador fijo (pero no conocido), necesitarás JavaScript para determinar la escala. – Jeroen
¿Estás diciendo que quieres calcular 'amt' en función del tamaño de la ventana gráfica? –