iOS7 position:fixed; œuvres laid
Je sais iScroll et je l'ai déjà utilisé jQuery mobile pour un long moment et je sais que deux d'entre eux résolu ce problème, mais je veux le faire moi-même et de ne pas inclure un grand cadre pour cela.
Ma question est de savoir comment jQuery Mobile fixe cette position:fixed; problème sur iOS dévié? Actuellement tous mes fixes positionnés les éléments de modifier la position si le livre est fini, mais il apparaît toujours fixe en haut et pas seulement à la fin du défilement.
OriginalL'auteur user3292653 | 2014-03-20
Vous devez vous connecter pour publier un commentaire.
J'ai eu le même problème. J'ai eu un élément fixe sur le corps et c'était très bogué. Et pour moi
height:auto;
au lieu deheight:100%
travaillé.Code complet:
OriginalL'auteur dude
position:fixed
sur iOS 7 fonctionne assez bien, en fait (il y a des petits problèmes, par exemple juddering pourrait être un problème en fonction de certains facteurs) donc je pense que peut-être vous avez essayé d'imiter un collant de défilement (où un élément de bugs lors du défilement à un certain y-offset).Malheureusement, pour iOS, vous ne pouvez pas faire cela très facilement (lorsque vous faites défiler, ou de balayer, tous les JavaScript est arrêtée, et c'est pourquoi
position:fixed
arrive à la fin de l'événement. Si vous êtes chanceux, vous pourriez espérer l'utilisateur casseroles et position:fixe sur touchmove...)Comme vous l'avez mentionné, il existe des solutions de contournement lorsque vous appliquez un débordement et imiter natif de défilement (iScroll, par exemple). Ces travaux, mais ils sont les plus gourmands en mémoire (merci, l'accélération matérielle pour le défilement régulier) de sorte que les performances pourraient être un problème selon vos besoin.
Pour iOS 7, il y a une valeur pour
position
, qui eststicky
. Cela fonctionne vraiment bien, comme démontré ici:http://html5-demos.appspot.com/static/css/sticky.html
http://caniuse.com/css-sticky
Le seul inconvénient est qu'elle est limitée à iOS 6.1 et 7. Toutefois, si les appareils plus anciens ne sont pas un problème,
position:sticky
est une excellente solution, car il est natif de la solution.OriginalL'auteur Jack
Juste essayer de faire de votre blocs à l'intérieur de défilement (overflow-y: scroll) et de les placer comme inline-blocks à proximité les uns des autres. Donc, comme un résultat que vous obtiendrez indépendant du contenu défilant.
OriginalL'auteur Vlad