Heim > Web-Frontend > CSS-Tutorial > Hauptteil

Warum springt die feste Navigation, wenn die virtuelle Tastatur in Mobile Safari aktiviert wird?

DDD
Freigeben: 2024-10-27 06:02:29
Original
1070 Leute haben es durchsucht

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

So verhindern Sie, dass die feste Navigation während der Aktivierung der virtuellen Tastatur springt

Feste Navigationselemente können unerwartetes Verhalten zeigen, wenn die virtuelle Tastatur in Mobile Safari angezeigt wird . Dies kann dazu führen, dass die Navigation an eine unerwünschte Position in der Mitte der Seite springt.

Das Problem

Benutzer erleben eine plötzliche Verschiebung der Position des festen Navigationselements, wenn Sie konzentrieren sich auf ein Texteingabefeld in der festen Navigation und die virtuelle Tastatur erscheint. Dies macht sich besonders bemerkbar, wenn das Navigationselement unten auf der Seite positioniert ist.

Die Lösung

Um diesen Fehler zu beheben, sollten Sie den folgenden CSS- und JavaScript-Code verwenden :

CSS:

.header {
    position: fixed;
}

.footer {
    position: fixed;
}

.fixfixed .header,
.fixfixed .footer {
    position: absolute;
}
Nach dem Login kopieren

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');
    });
}
Nach dem Login kopieren

Durch Hinzufügen der fixfixed-Klasse zum Körper when Wenn ein Eingabeelement fokussiert ist und es entfernt wird, wenn die Eingabe unscharf ist, können Sie die festen Elemente auf „position: absolut“ umstellen und sie dann bei Bedarf auf „position: fest“ zurücksetzen. Diese Lösung verhindert effektiv, dass das Navigationselement während der Tastaturaktivierung springt.

Das obige ist der detaillierte Inhalt vonWarum springt die feste Navigation, wenn die virtuelle Tastatur in Mobile Safari aktiviert wird?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage