Ho una pagina in cui ho una ruota di elementi <div>
, l'intera ruota ruota quando si fa clic su un pulsante.Usa trasformazioni CSS o javascript per ridimensionare un elemento per adattarlo dinamicamente al suo genitore
Ottengo questo effetto utilizzando le trasformazioni CSS, che sono di natura assoluta. Tuttavia la ruota è molto grande, sembra bella sul mio display HD, ma gli schermi più piccoli hanno i bordi tagliati. Non posso usare% width come avrei potuto con un layout normale, ciò di cui ho bisogno è ridimensionare l'intera pagina nello stesso modo in cui funzionano le funzioni di zoom della maggior parte dei browser.
Per quanto mi riguarda so che ctr + mouseWheel rimpicciolirà la pagina in modo da poter vedere l'intera pagina, tuttavia non posso pretendere che altri lo facciano.
So che posso utilizzare -browser-transform: scale(amt);
su un div wrapper per ottenere l'effetto desiderato, tuttavia non riesco a trovare un modo per farlo dinamicamente. Se imposto la scala su .5 sarà .5, indipendentemente dallo schermo. Voglio che i bordi della ruota siano a pochi pixel dai bordi dello schermo su QUALSIASI schermo. So che le query sui media potrebbero essere utilizzate per aiutare il problema, ma mi lascerebbero con risultati non ideali o richiedere troppe query diverse. Ci deve essere un modo per modificare -browser-transform: scale(amt);
a livello di programmazione o un altro modo per avere un controllo finito.
Qualche idea?
Bene, ho avuto l'erba su questo. Nessuno ha un indizio? – zeel
Avete dimensioni assolute per (parti della) ruota? Aiuta se aggiungi un piccolo esempio di lavoro nella domanda, è un po 'difficile immaginare come si presenta il tuo codice. - In ogni caso, nel modo in cui l'ho letto, se hai una dimensione della ruota fissa e una dimensione del browser fissa (ma non in vista) hai bisogno di JavaScript per determinare la scala. – Jeroen
Stai dicendo che vuoi calcolare 'amt' in base alla dimensione del viewport? –