Maison > interface Web > tutoriel CSS > le corps du texte

Pourquoi la navigation fixe saute-t-elle lorsque le clavier virtuel s'active dans Mobile Safari ?

DDD
Libérer: 2024-10-27 06:02:29
original
1013 Les gens l'ont consulté

Why Does Fixed Navigation Jump When the Virtual Keyboard Activates in Mobile Safari?

Comment empêcher la navigation fixe de sauter lors de l'activation du clavier virtuel

Les éléments de navigation fixes peuvent présenter un comportement inattendu lorsque le clavier virtuel apparaît dans Mobile Safari . Cela peut amener la navigation à sauter à une position indésirable au milieu de la page.

Le problème

Les utilisateurs subissent un changement soudain de la position de l'élément de navigation fixe lorsque ils se concentrent sur un champ de saisie de texte dans la navigation fixe et le clavier virtuel apparaît. Ceci est particulièrement visible lorsque l'élément de navigation est positionné en bas de la page.

La solution

Pour résoudre ce bug, pensez à utiliser le code CSS et JavaScript suivant :

CSS :

.header {
    position: fixed;
}

.footer {
    position: fixed;
}

.fixfixed .header,
.fixfixed .footer {
    position: absolute;
}
Copier après la connexion

JavaScript :

if ('ontouchstart' in window) {
    /* Cache DOM references */
    var $body = $('body');

    /* Bind events */
    $(document)
    .on('focus', 'input', function() {
        $body.addClass('fixfixed');
    })
    .on('blur', 'input', function() {
        $body.removeClass('fixfixed');
    });
}
Copier après la connexion

En ajoutant la classe fixfixed au corps lorsque un élément d'entrée est mis au point et en le supprimant lorsque l'entrée est floue, vous pouvez basculer les éléments fixes en position : absolue, puis les réinitialiser en position : fixe si nécessaire. Cette solution empêche efficacement l'élément de navigation de sauter lors de l'activation du clavier.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!