2012-09-04 22 views
6

Quando eseguo lo zoom in avanti e indietro sulla mia pagina Web in Google Chrome, gli elementi posizionati precisamente l'uno rispetto all'altro cambieranno posizione. Ciò causa molti problemi: ad esempio, a livelli di zoom specifici, un div si sovrappone al suo div di contenimento quanto basta per nascondere un bordo. Allo stesso modo, a volte un indicatore del 100% non si allinea esattamente con il punto del 100%.Lo zoom su Chrome causa problemi di posizionamento CSS

C'è un modo per garantire che il posizionamento degli articoli in relazione tra loro non cambi quando la pagina viene ingrandita o ridotta?

+2

puoi inserire il tuo codice in jsfiddle.net o dare il link del tuo sito –

+0

Se pensi di aver trovato un bug, postalo su http://crbug.com e poi avrai una possibilità se verrà risolto. – starbeamrainbowlabs

+0

uguale a http://stackoverflow.com/questions/28223074/absolute-html-layout-is-broken-when-zooming/28223433#28223433 –

risposta

8

È possibile utilizzare il posizionamento em che verrà riposizionato e ridimensionato in base alla dimensione del carattere. Quindi, quando alle persone piace il controllo + o il comando +, la pagina verrà ridimensionata automaticamente. Ecco una pagina sui layout elastici. Spero che questo ti aiuti.

http://v1.jontangerine.com/log/2007/09/the-incredible-em-and-elastic-layouts-with-css

+0

Di tutti i siti che offrono suggerimenti per principianti su CSS, questa risposta è il primo che ho trovato anche menzionare che il problema dello zoom si basa su em. Ho appena dato per scontato che tutte le pagine con un buon ridimensionamento dello zoom fossero state create da qualcuno che conosceva trucchi avanzati e non che fosse così semplice. Grazie! –

+0

Grazie mille per la recensione positiva! – earlonrails

2

Nella mia esperienza, utilizzando un valore left: px e un valore top: px rispetto a destra/in basso a sinistra/in basso oa destra/alto sembra fare il trucco. Questo vale sia per Chrome che per FF, non può commentare IE.

Ad esempio:

#my-element 
{ 
    list-style-type: none; 
    position: fixed; 
    left: 54px; 
    top: 40px; 
} 
1

Anche se questo è un vecchio argomento, sono incappato in questo problema. Risolto aggiungendo contenitori wrapper agli elementi "elusivi". Quindi, prima di provare a correggere l'elemento css, controlla e assicurati prima i wrapper di contenuto.

Problemi correlati