2012-01-19 7 views
7

Sto facendo un applicazione per iPhone utilizzando PhoneGap & anche utilizzando jQuery Mobile. Voglio impostare l'immagine di sfondo per data-role = div della pagina. In questa altezza della pagina è uguale alla schermata & quindi lo sfondo è impostato sulle dimensioni dello schermo. Ma la lunghezza del contenuto della pagina è molto maggiore dello schermo &, quindi lo sfondo grigio viene visualizzato dopo il completamento dell'immagine. La mia domanda è se c'è un modo in modo che possiamo mantenere l'immagine di sfondo fisso & scorrimento o spostare solo il contenuto della pagina & non immagine di sfondo. Solo per menzionare ho provato full size background jquery pluggin. Funziona su Android ma non su iOS.Come può immagine di sfondo posizione fissa ho impostato in jQuery Mobile per iPhone utilizzando PhoneGap

Qualcuno può aiutare per favore? Grazie in anticipo.

risposta

9

Ok, quindi quello che ho fatto, invece era quello di creare un elemento fisso all'interno dell'elemento corpo della pagina. Quindi sarebbe simile

<body> 
    <div id="background"></div> 
    ... 
</body> 

E per il CSS ho dichiarato quanto segue:

#background { 
    position:fixed; 
    top:0; 
    left:0; 
    width:100%; 
    height:100%; 
    background: url(images/bg-retina.jpg) 0 0 no-repeat fixed !important; 
    background-size:contain; 
} 

E questo ha fatto il trucco per me. Speriamo che aiuta (qualcuno là fuori: P)

+1

Questo ha funzionato per me in chrome, ma non in iOS. –

3

È alla ricerca di background-attachment proprietà.

div[data-role="page"]{ 
    background-attachment: fixed; 
} 

Aggiornamento:
background-attachment:fixed è supportato da iOS 5 , se si utilizza la versione precedente di iOS si può prendere in considerazione l'utilizzo di iScroll.

+0

Grazie, ma anche questo non funziona . – Sayali

+0

Funziona a partire da iOS5, se si utilizza la versione precedente di iOS versione WebKit utilizzata da Safari non supporta 'background-attachment: fixed' –

+0

Ya funziona su iOS 5. Voglio farlo funzionare su iOS 4.2 o 4.3 – Sayali

0

È possibile impostare l'immagine di sfondo alla pagina jQuery:

.ui-page { background-image:url(../ios/sample~ipad.png); 
background-repeat:no-repeat; background-position:center center; 
background-attachment:scroll; background-size:100% 100%; } 
0

si può provare questo:

.ui-mobile 
.ui-page-active{ 

display:block; 
overflow:visible; 
overflow-x:hidden; 

} 

funziona bene per me.

0

prova con questo, questo lavoro per me.

position:fixed; 
top:0; 
left:0; 
width:100%; 
height:100%; 
background: url(../Images/loginBackground.jpg) 0 0 fixed !important; 
background-size:100% 100%; 
background-repeat: no-repeat; 
0
<body> 
    <div id="background"></div> 
    ... 
</body> 

css:

#background { 
    background-image: url("/images/background.png"); 
    background-repeat: no-repeat; 
    background-attachment: fixed; 
    height: 100%; 
    width: 100%; 
    position: fixed; 
    background-position: 0 0; 
    -webkit-background-size: cover; 
    -moz-background-size: cover; 
    -o-background-size: cover; 
    background-size: cover; 
} 

@media screen and (max-width: 480px) { 
    #background { 
     background-attachment: initial !important; 
    } 
} 

Il problema è che i dispositivi mobili iOS avere errori di rendering simultaneamente background-size:cover; e background-attachment:fixed; quindi bisogna risolvere il problema da @media