Tworzę mobilną stronę internetową, która jest w zasadzie dużą formą z kilkoma danymi wejściowymi.
Jednak (przynajmniej na moim telefonie z Androidem), za każdym razem, gdy klikam jakieś dane wejściowe, cała strona powiększa się, zasłaniając resztę strony. Czy jest jakieś polecenie HTML lub CSS, które wyłącza takie powiększanie na stronach internetowych?
user-scalable=no
jest ignorowany. Zobacz toOdpowiedzi:
To powinno być wszystko, czego potrzebujesz
źródło
width=device-width
już pierwszego metatagu?Dla tych z was, którzy spóźniają się na przyjęcie, odpowiedź kgutteridge nie działa dla mnie, a odpowiedź Benny'ego Neugebauera obejmuje docelową gęstość dpi ( funkcja jest przestarzała ).
To jednak działa dla mnie:
źródło
Istnieje tu kilka podejść - i chociaż istnieje taka sytuacja, że zazwyczaj użytkownicy nie powinni być ograniczani, jeśli chodzi o powiększanie w celu ułatwienia dostępu, mogą wystąpić przypadki, w których jest to wymagane:
Renderuj stronę na szerokość urządzenia, nie skaluj:
Zapobiegaj skalowaniu i uniemożliwiaj użytkownikowi powiększanie:
Usuwanie całego powiększania, całego skalowania
źródło
Możesz użyć:
Należy jednak pamiętać, że w systemie Android 4.4 właściwość target-gęstośćdpi nie jest już obsługiwana . W przypadku Androida 4.4 i nowszych jako najlepszą praktykę zaleca się:
źródło
Ponieważ wciąż nie ma rozwiązania dla pierwszego wydania, oto mój czysty CSS dwa centy.
Przeglądarki mobilne (większość z nich) wymagają czcionek o wielkości 16px. Więc
rozwiązuje problem. Nie musisz więc wyłączać funkcji powiększania i utraty dostępności w swojej witrynie.
Jeśli Twój podstawowy rozmiar czcionki nie jest 16px lub nie 16px w telefonach komórkowych, możesz użyć zapytań o media.
źródło
font-size: 1rem
całą stronę, aby czcionka ładnie skalowała się, jednocześnie unikając problemu „skupiania się na powiększeniu”.spróbuj dodać ten metatag i styl
źródło
touch-action
być ustawione nanone
- developer.mozilla.org/en-US/docs/Web/CSS/touch-action#Valuestouch-action: manipulation;
działało dobrze.touch-action: none;
nic nie zrobiłemWydaje się, że dodanie metatagów do index.html nie uniemożliwia powiększania strony. Dodanie poniższego stylu zrobi magię.
EDYCJA: Demo: https://no-mobile-zoom.stackblitz.io
źródło
Możliwe rozwiązanie dla aplikacji internetowych: Chociaż powiększania nie można już wyłączyć w iOS Safari, zostanie ono wyłączone podczas otwierania strony za pomocą skrótu na ekranie głównym.
Dodaj te metatagi, aby zadeklarować swoją aplikację jako „obsługującą aplikację internetową”:
Tej funkcji należy jednak używać tylko wtedy, gdy aplikacja jest samowystarczalna, ponieważ przyciski do przodu / do tyłu i pasek adresu URL oraz opcje udostępniania są wyłączone. (Nadal możesz jednak przesuwać palcem w lewo i w prawo). Takie podejście umożliwia jednak całkiem podobną aplikację jak ux. Przeglądarka pełnoekranowa uruchamia się tylko wtedy, gdy witryna jest ładowana z ekranu głównego.
Udało mi się to również uruchomić po tym, jak włączyłem do folderu głównego ikonę apple-touch-icon-180x180.png.Jako bonus prawdopodobnie chcesz również uwzględnić wariant tego:
źródło
Możesz wykonać to zadanie, po prostu dodając następujący element „meta” do „head”:
Dodanie wszystkich atrybutów, takich jak „szerokość”, „początkowa skala”, „maksymalna szerokość”, „maksymalna skala” może nie działać. Dlatego po prostu dodaj powyższy element.
źródło
Dodaj skrypt, aby wyłączyć szczypanie, dotknij, ustaw ostrość
źródło