2012-09-04 25 views
6

Cuando acerca y aleja mi página web en Google Chrome, los elementos que están posicionados con precisión uno en relación con el otro cambiarán de posición. Esto causa muchos problemas: por ejemplo, a niveles de zoom específicos, un div se superpondrá a su div que contiene lo suficiente como para ocultar un borde. De manera similar, a veces un marcador de 100% no se alineará con precisión con el punto de 100%.Hacer zoom en Chrome causa problemas de posicionamiento de CSS

¿Hay alguna manera de garantizar que el posicionamiento de los elementos entre sí no cambie cuando la página se acerca o aleja?

+2

puede publicar su código en jsfiddle.net o dar el enlace de su sitio –

+0

Si cree que ha encontrado un error, publíquelo en http://crbug.com y luego tendrá la oportunidad de solucionarlo. – starbeamrainbowlabs

+0

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

Respuesta

8

Puede usar el posicionamiento em, que se reubicará y dimensionará en función del tamaño de la fuente. Entonces, cuando a las personas les gusta controlar + o mandar +, la página cambiará de tamaño automáticamente. Aquí hay una página sobre diseños elásticos. Espero que esto ayude.

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

+0

De todos los sitios que dan consejos para principiantes sobre CSS, esta respuesta es la primera que incluso he encontrado que el problema del zoom se basa en em. Simplemente asumí que todas las páginas que tienen una buena escala de zoom las hizo alguien que conocía trucos avanzados, y no es que fuera tan simple. ¡Gracias! –

+0

¡Muchas gracias por la crítica positiva! – earlonrails

2

En mi experiencia, el uso de un valor left: píxeles y un valor top: px comparación a derecha/izquierda inferior/inferior o/superior derecha parece hacer el truco. Esto se aplica tanto a Chrome como a FF, no puedo comentar sobre IE.

Por ejemplo:

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

Aunque se trata de un viejo tema, me encontré con este problema. Se corrigió añadiendo contenedores a los elementos "elusivos". Por lo tanto, antes de tratar de corregir el elemento css, tal vez verifique y asegúrese de que el contenido esté primero.

Cuestiones relacionadas