Ich erstelle eine mobile Webseite, die im Grunde eine große Form mit mehreren Texteingaben ist.
Allerdings (zumindest auf meinem Android-Handy) wird die gesamte Seite jedes Mal vergrößert, wenn ich auf eine Eingabe klicke, wodurch der Rest der Seite verdeckt wird. Gibt es einen HTML- oder CSS-Befehl, um diese Art des Zooms auf mobilen Webseiten zu deaktivieren?
user-scalable=no
wird ignoriert. Siehe diesAntworten:
Dies sollte alles sein, was Sie brauchen
quelle
width=device-width
schon im ersten Meta-Tag?Für diejenigen von euch, die zu spät zur Party kommen, funktioniert die Antwort von kgutteridge nicht für mich und Benny Neugebauers Antwort enthält Target-Density-Dpi (eine Funktion, die veraltet ist ).
Dies funktioniert jedoch für mich:
quelle
Hier gibt es eine Reihe von Ansätzen - und obwohl die Position ist, dass Benutzer normalerweise nicht eingeschränkt werden sollten, wenn es um das Zoomen für Barrierefreiheitszwecke geht, kann es Fälle geben, in denen dies erforderlich ist:
Rendern Sie die Seite in der Breite des Geräts, skalieren Sie nicht:
Verhindern Sie die Skalierung und verhindern Sie, dass der Benutzer zoomen kann:
Entfernen aller Zoom- und Skalierungsfunktionen
quelle
Sie können verwenden:
Beachten Sie jedoch, dass mit Android 4.4 die Eigenschaft target-densdpi nicht mehr unterstützt wird . Für Android 4.4 und höher wird Folgendes als Best Practice empfohlen:
quelle
Da es für das erste Problem noch keine Lösung gibt, hier meine reinen CSS zwei Cent.
Für mobile Browser (die meisten von ihnen) muss die Schriftgröße in den Eingaben 16 Pixel betragen. Damit
löst das Problem. Sie müssen also die Zoom- und Zugriffsfunktionen Ihrer Website nicht deaktivieren.
Wenn Ihre Basisschriftgröße auf Mobiltelefonen nicht 16px oder nicht 16px beträgt, können Sie Medienabfragen verwenden.
quelle
font-size: 1rem
für die gesamte Seite festlegen , damit die Schriftart gut skaliert wird und gleichzeitig das Problem des "Fokus auf Zoom" vermieden wird.Bitte versuchen Sie, dieses Meta-Tag und diesen Stil hinzuzufügen
quelle
touch-action
aufnone
- developer.mozilla.org/en-US/docs/Web/CSS/touch-action#Valuestouch-action: manipulation;
funktioniert.touch-action: none;
hat nichts getanEs scheint, als würde das Hinzufügen von Meta-Tags zu index.html das Zoomen der Seite nicht verhindern. Das Hinzufügen des folgenden Stils wird die Magie bewirken.
EDIT: Demo: https://no-mobile-zoom.stackblitz.io
quelle
Mögliche Lösung für Web-Apps: Während das Zoomen in iOS Safari nicht mehr deaktiviert werden kann, wird es deaktiviert, wenn die Site über eine Verknüpfung zum Startbildschirm geöffnet wird.
Fügen Sie diese Meta-Tags hinzu, um Ihre App als "Web App-fähig" zu deklarieren:
Verwenden Sie diese Funktion jedoch nur , wenn Ihre App selbsttragend ist, da die Vorwärts- / Rückwärtsschaltflächen und die URL-Leiste sowie die Freigabeoptionen deaktiviert sind. (Sie können jedoch immer noch nach links und rechts wischen.) Dieser Ansatz ermöglicht jedoch eine App wie ux. Der Vollbildbrowser wird erst gestartet, wenn die Site vom Startbildschirm geladen wird.
Ich habe es auch erst zum Laufen gebracht, nachdem ich ein Apple-Touch-Symbol-180x180.png in meinen Stammordner aufgenommen habe.Als Bonus möchten Sie wahrscheinlich auch eine Variante davon hinzufügen:
quelle
Sie können die Aufgabe erfüllen, indem Sie einfach das folgende 'Meta'-Element in Ihren' Kopf 'einfügen:
Das Hinzufügen aller Attribute wie "Breite", "Anfangsskala", "Maximale Breite" und "Maximale Skalierung" funktioniert möglicherweise nicht. Fügen Sie daher einfach das obige Element hinzu.
quelle
Bitte fügen Sie das Skript hinzu, um die Quetschung zu deaktivieren, tippen Sie auf den Fokus-Zoom
quelle