2012-03-19 9 views
17

¿Funciona esto en> iOS 5?realiza una conexión de fondo del trabajo fijo en iOS5?

.element { 
    background: url(images/myImage.jpg) 50% 0 no-repeat fixed; 
} 

Pensé que debería, pero hasta ahora no lo es.

+0

¿De qué manera no funciona (no es fijo, no hay fondo, etc.)? – Connor

+1

La imagen de fondo no parece ser fija. Se desplaza con el contenido. – Dylan

+0

Eliminé mi comentario anterior, solo vea mi respuesta. – Connor

Respuesta

13

De acuerdo con este background-attachment support matrix, no.

Another post sugiere que dar con una solución para dispositivos móviles no vale la pena:

... Android y iPhone bloques temporizadores o rendir durante el desplazamiento, por lo que el efecto es que se mueven con divs la página desplazada y solo después, finalmente, los divs vuelven a la posición esperada. Esto está en contra de la posición idea fija

+0

Bummer, espero que esto sea compatible pronto. Probaré una propiedad diferente. – Dylan

27

Potencialmente puede evitar esto usando un elemento separado y position: fixed la que funciona!

HTML:

<div id="Background"></div> 

<div id="Content"></div> 

CSS:

#Background { 
    background: #000 url("img/Background.jpg") no-repeat 50% 0; 
    position: fixed; 
    top: 0; 
    left: 0; 
    right: 0; 
    bottom: 0; 
    z-index: -1 
} 
+3

Agregue esto a #Background: z-index: -1; – Jeff

+1

No estoy seguro de por qué esto no se ha actualizado anteriormente: esta es la forma correcta de manejar el problema, vale la pena mencionar aquí que 'background-attachment' no se puede cambiar, * SIN EMBARGO * la forma correcta de obtener el resultado deseado es '' con '# bg-img {position: fixed}' – Brian

+0

@Brian Semánticamente, seguro; si es una imagen, usa una etiqueta de imagen. Sin embargo, hay varias ventajas al usar 'background-image'. Al configurar las propiedades 'top',' bottom', 'left', y' right', nos aseguramos de que toda la ventana gráfica esté cubierta por el elemento '# Background', pero la imagen en sí misma no se alargará. A continuación, puede usar 'background-position' para alinear la imagen en la esquina inferior derecha (si lo desea) y' background-size' para escalar la imagen a la ventana gráfica. – shshaw

0

Hay demasiados problemas con la posición fija en los dispositivos móviles y táctiles.

Mientras el fondo no esté animado de ninguna manera (desenfoque, transiciones de css a cualquier JS) Y mientras no haya barra de desplazamiento, entonces es utilizable y consistente.

Todo lo demás, en función de resultado en navegador en los resultados deseados, la imagen pixelación, imágenes de escala de 100 veces en los dispositivos IOS, "saltar" divs etc.

El mejor método de trabajo en torno a que he encontrado hasta ahora, dicen , si desea reproducir una página de desplazamiento de BG fija, es usar el método de paralaje, tener un div como desplazamiento, el siguiente con fondo transparente, repetir el enjuague.

Parece lo suficientemente bueno, creo, y no se necesitan complementos.

Cuestiones relacionadas