- Definieren Sie, mit welcher Funktion der Navigator bedient werden soll: Desplazamiento, Pellizco-Zoom und Double Toque.
- Kombinieren Sie die Werte (Pan-X/Pan-Y/Pan-*) und Pinch-Zoom, um die gewünschte Manipulation zu ermöglichen.
- Achten Sie auf den Zugriff: Vermeiden Sie, dass die Zoom-Salve unbedingt blockiert wird.
- Kompatibilität mit Verstärkern; iOS Safari präsentiert Funktionen, Tests und echte Hardware.
Während wir mit taktilen Schnittstellen arbeiten, gibt es ein Detail, das den Unterschied zwischen einem flüssigen und anderen frustrierenden Erlebnis markiert: Entscheiden Sie, ob Sie den Navigator ausgewählt haben und ob Sie Ihren Code eingegeben habenDie CSS-Eigenschaft touch-action Es ist nur der Unterbrecher, der es erlaubt, sein Verhalten auf dem Millimeter einzustellen.
Lejos de ser algo esotérico, touch-action Steuern Sie die Ausrichtung, den Zoom oder die anderen voreingestellten Gesten que the navegador aplicaría al tocar un elemento. Wenn Sie es verwenden, vermeiden Sie Rückschläge in Ereignissen, verwenden Sie nur wenig JavaScript und steuern Sie echte Komponenten wie Karten, Karten oder Spiellizenzen.
Was ist die exakte Touch-Aktion?
In ein paar Worten, touch-action Geben Sie dem Benutzer einen Hinweis darauf, dass die Taster aus der ursprünglichen Form ausgeworfen werden können In einer Region der Seite und Orte müssen Sie sie für Ihre Veranstaltungsmanager reservieren. Es ist die Ergänzung zum Tastsinn pointer-events, que mes asociar mes a interactions with ratón, pero con an enfoque específico en gestos like the displazamiento y el zoom.
Somit Es ist möglich, dass der Navigator seine Arbeit erledigt (zerstört, vergrößert) oder blockiert, um die Interaktionen durchzuführen (z. B. Zoomen innerhalb einer Karte) Keine Interferenzen und keine künstlichen Demos click.

Sintaxis y formas de uso
Das Gerät ist für verschiedene Kombinationen mit viel Beton geeignet. Sie können einen einzigen Wert angeben oder verschiedene kompatible Komponenten verwenden, um das taktile Verhalten mit Präzision einzustellen.
/* Declaración típica */
#elemento {
touch-action: pan-right pinch-zoom;
}
Wenn die genaue Grammatik erforderlich ist, ist dies die formelle Syntax-Übereinstimmung :
touch-action =
auto |
none |
|| || pinch-zoom ] |
manipulation
Mit anderen Worten, kann einen globalen Wert nutzen (automatisch, keine, Manipulation) Es gibt eine Kombination aus horizontalen und vertikalen Ausrichtungselementen, mehr pinch-zoom optional.
Werte der Touch-Action und dass es jedes Mal eins gibt
Dieses Angebot enthält wertvolle Hinweise für viele konkrete Fälle. Wir möchten vermeiden, dass JavaScript erneut implementiert wird , oder im Gegenteil, Sie müssen es kostenlos nutzen, um es zu ändern, sobald es erforderlich ist.
auto-
Dann hat der Navigator alle Einstellungen zum Platzieren und Zoomen vorgenommen . Es liegt in der Verantwortung des Defekts: Der Benutzer kann ihn entfernen, um ihn zu entfernen und ihn zu verstärken, ohne dass er mehr braucht.
none-
Sperrung durch vollständiges Eingreifen des Navigators in diesen Gestohlen. Keine pellizco-zoom nativos ; Sie müssen JavaScript implementieren, wenn Sie diese benötigen. Es ist ideal für Karten oder Karten, bei denen die Kontrolle zu 100 % gewährleistet sein muss.
manipulation-
Ermöglichen Sie die Entfernung und den Zoom, aber deaktivieren Sie sie Ciertos sind nicht in der Lage, die doppelte Haube für den Verstärker zu verwenden. Es ist in der Praxis ein Pseudonym von „Schwenken-X, Schwenken-Y, Pinch-Zoom" (Die Kombination ist ausdrücklich erklärt, da sie für die Kompatibilität gültig ist). Wenn Sie die doppelte Haube verlassen, Außerdem entfällt die Notwendigkeit, die Generierung von Ereignissen erneut durchzuführen
clickAufgrund eines Problems ist mir die Antwort auf die Schnittstelle am besten. pan-x-
Activa Die horizontale Anordnung erfolgt allein. Puede combinarse con
pan-y,pan-up,pan-downund / oderpinch-zoom. Es un atajo que englobapan-leftypan-right. pan-y-
Activa Die vertikale Anordnung erfolgt allein. Puede combinarse con
pan-x,pan-left,pan-rightund / oderpinch-zoom. Auf die eine oder andere Weise ist es eine Sache, die darin enthalten istpan-upypan-down. pan-left,pan-right,pan-up,pan-down-
Es ist möglich, den Platzbedarf nur dann zu beseitigen, wenn Sie ihn in die angegebene Richtung bewegen . Ojo: Sobald Sie die Plazierung gestartet haben, können Sie die Richtung umkehren . Es gibt ein Detail, das sie verwirren: An den Schnittstellenanschlüssen bedeutet „ Pan-up “, dass der Benutzer den Bildschirm auf den Bildschirm gelegt hat, damit der Inhalt gerade angezeigt wird; Und „ pan-left “ impliziert, dass der Inhalt auf den Markt gebracht werden muss, damit er aus dem Verkehr gezogen werden kann.
pinch-zoom-
Aktivieren Gestos Multi-Dedo dedo de Zoom y desplazamiento. Sie können es mit der Wertschätzung kombinieren
pan-*. Von Navigatoren, die es implementieren, Der Beauftragte kann den Zoom sofort fortsetzen Es besteht keine Gefahr, dass ein Ereignis abgesagt wird.
Kombinations- und Normalisierungseinstellung
Bei der Kombination von Richtungen ist eine Vereinfachung erforderlich. Nicht alles, was Sie schreiben können, ist gültig, wenn Sie eine einfachere Form haben. Zum Beispiel: "pan-left pan-right„Wir betrachten dies als ungültig, weil die Form korrekt ist und mehr Zeit hat pan-x.
Es gibt jedoch keine Kombinationen, die Sie gesendet haben, wie „pan-left pan-down„um zuzulassen, dass Plazamientos que Inician hacia la izquierda o hacia abajo. In diesem Fall gibt es keine gleichwertige direkte Abkürzung, da es sich um eine akzeptable Kombination handelt.
Denken Sie auch daran Puedes mezclar ejes y pellizco. Zum Beispiel: "pan-x pinch-zoom„Ermöglichen Sie eine horizontale Ausrichtung durch eine horizontale Ausrichtung und einen Multi-Zoom-Vorgang, indem Sie die vertikale Ausrichtung automatisch aktivieren.
Cuándo usar cada valor: patrones reales
Der typische Fall ist eine Karte oder ein Spieltitel, der auf der Seite eingebettet ist. Wenn das Gesto des Pellizcar sich auf die eigene Karte auswirkt und nicht auf den Navigator zoomt, te interesa declarar touch-action: none; Sie haben Ihr personalisiertes Zoom in JavaScript geschrieben.
Weitere Szenarios finden Sie in Ihrem Code Es wird nur ein Teil der Interaktion implementiert (z. B. der Zoom) und es ist wichtig, dass der Navigator die ursprüngliche Aufgabe übernimmt. In diesem Fall: „touch-action: pan-x pan-y;„Der Agent des Benutzers hat die Aufgabe übernommen und muss sie kostenlos nutzen, um den Zoom zu nutzen, wie er sagt.
Für UI-Komponenten wie horizontale Würfel, pan-x suele ser la mejor opción. Ermöglicht das seitliche Verschieben mit nur einem Klick, verhindert, dass der Zoom deaktiviert wird, wenn er nicht geöffnet wird, und vermeidet Konflikte mit dem vertikalen Bildlauf auf der Seite, wenn er nicht aktiviert ist.
Wenn Ihre Priorität ist Sofortige Antwort auf die Haube und Beseitigung der Verzögerung der doppelten Haube, manipulation Es ist ein Wunder. Beenden Sie den Doppelklick, um ihn zu verstärken und mit der Notwendigkeit zu verbinden click, es gibt ein Gefühl von „Schnappheit“ auf Tasten und Schnüren.
Impacto en accesibilidad
Ein kritischer Punkt: si declaras touch-action: none; Blockiert den nativen Zoom des Navigators. Personen mit niedriger Sicht, die einen Verstärker benötigen, um diese Kapazität zu nutzen, können dazu führen, dass Ihre Schnittstelle nicht mehr zugänglich ist.
Wenn der Kontext erlaubt ist, considera mantener pinch-zoom aktiviert oder suchen barrierefreie Alternativen que no impidan el aumento. Hacer zoom es, para muchos usuarios, una manramienta de lectura essential; Nein, es gibt keine Deaktivierungen mehr.
Kompatibilität mit Navigationsgeräten
Die Unterstützung von touch-action es amplio, pero con matices. Die modernen Browser sind Chrome (36+), Edge (12+), Firefox (52+) und Opera (23+). Implementieren Sie das Eigentum mit den wichtigsten Werten.
Die historische Delikatesse liegt neben Safari. Für iOS Safari gibt es Einschränkungen, mit solider Unterstützung auto y manipulation, mientras que otros valores han sido mehr variabless según version and contexto. Bei älteren Safari-Schreibversionen (13+) ist die Kompatibilität besonders gut. Aber wir empfehlen Ihnen, bestimmte Fälle zu prüfen, Dies alles hängt von den verfügbaren Kombinationen ab.
Die Kompatibilitätstabellen öffentlicher Stellen (Tipps, die wir im Tagebuch konsultieren) werden mit Beiträgen der Gemeinschaft und der US-Wirtschaft aktualisiert . Wenn Ihr Projekt sinnvoll ist, müssen Sie es auf konkrete und reale Maßnahmen prüfen. Zehn weitere Personen, die nur Geräte mit Berührungsbildschirm verwenden, müssen die korrekte Form des Geräts überprüfen.
Praktische Anwendungsbeispiele
Veamos war einer der Gönner der Erklärung, dass er das Leben retten wollte. Recuerda probar siempre en hardware táctil for comprobar que the experience is the esperada.
1) Alle Einstellungen deaktivieren (Karte oder Leinwand personalisieren)
Bis zu dem Zeitpunkt, an dem Sie die Anordnung und den Innenzoom ohne Interferenzen ausführen müssen. Der Navigator kann weder den Plazamiento noch den Pellizco abfangen.
<!-- HTML -->
<div id='mapa' class='superficie'></div>
<!-- CSS -->
.superficie {
touch-action: none;
}
2) Aktivieren Sie die natürliche Einstellung, indem Sie nur den Zoom steuern
Wenn Ihr JavaScript den Zoom aktiviert hat, muss der Navigator den Bildlauf ausführen und gleichzeitig das Spiel nicht neu erfinden.
.zoom-personalizado {
touch-action: pan-x pan-y;
}
3) Horizontale Ausrichtung mit pellizco-zoom
Für komplexe Bilder oder Galerien: Scrollen Sie horizontal mit nur einem Klick und zoomen Sie mit beiden , scrollen Sie jedoch von Haus aus vertikal.
.galeria-avanzada {
touch-action: pan-x pinch-zoom;
}
4) Desplazamientos por rección inicial
Bei Gelegenheiten können Sie es sich nur erlauben, eine konkrete Richtung festzulegen (z. B., um nicht mit anderen Komponenten in Konflikt zu geraten).
.panel-contextual {
touch-action: pan-left pan-down;
}
5) Atajo pragmático: Manipulation
Wenn Sie auf eine Berührung mit der doppelten Haube reagieren, manipulation es un gran comodín. Ayuda a evitar el retraso del click Post-Toque.
button, a {
touch-action: manipulation;
}
Beziehung mit pointer-events y eventos de clic
Obwohl sie manchmal verwirrt sind, touch-action y pointer-events atacan problemas distintos. Der zweite Schritt entscheidet, ob ein Element mit „Punteros“ (ratón, táctil, lápiz) auf der Ebene der Trefferprüfung reagiert; el primero determina Wenn Sie den Defekt berühren, können Sie ihn aus dem Navigationsgerät auswerfen in dieser Region.
Zusätzlich Deaktivieren Sie die Funktion wie die Doppelhaube mit manipulation Elimina el retraso clásico del click Über eine bewegliche Haube. Diese Verzögerung besteht darin, zwischen einer einfachen Haube und dem Anfang einer doppelten Haube zum Zoomen zu unterscheiden; Wenn die doppelte Haube nicht existiert, kann der Navigator die Tür öffnen click ohne zu warten
Hinweise und Details zur Implementierung
Mit pinch-zoom, hay navegadores que Starten Sie den Zoom sofort weiter Es besteht jedoch die Absicht, die JavaScript-Aktion abzubrechen. Este comportamiento favorece una sensación de inmediatez In der Pellizco-Geste sind die Elemente enthalten, die sie zulassen.
Wenn Sie jedoch die Richtung einschränken, die Sie mit dem Scrollen begonnen haben, kann der Benutzer die Richtung umkehren . Dies ist eine Erfahrung mit dem, was der Herr aus einer Liste oder einer Bibliothek gelernt hat, und vermeidet künstliche Blöcke mitten in der Geste.
Gute Praktiken
Erstens, wenden Sie sich an die Mindesteingriffsregel: Die Tapferkeit beschränkt sich kaum darauf, was Sie in Ihrem Fall tun müssen. Si te basta con pan-x, keine Verwendungen none. Es ist in seiner natürlichen Form erhalten und zugänglich.
Zweite, vollständige Hardware-Prüfung: Das bedeutet, dass der Emulator die Trägheit und die Reibung nicht beeinträchtigen kann. Die taktilen Sensationen sind praktisch, und kleine Veränderungen sind möglich touch-action se notan.
Wenn der Zoom aufgrund der Notwendigkeit des Produkts blockiert ist, bieten wir Ihnen Alternativen zur Zugänglichkeit an (Steuerelemente für Texteingabe, internes Zoomen, klarer Kontrast, geeigneter Kontrast). Privar del zoom sin alternativa perjudica la lectura.
Jetzt dokumentieren wir das Verhalten mit der Ausrüstung: Wenn Sie klare Verträge zwischen CSS und JavaScript schließen, vermeiden Sie Konflikte, bis alle Zuhörer Ereignisse oder Bibliotheksaufgaben für mittelfristig abbrechen.
Nützliche Klassen und Frameworks
Viele aktuelle Anwendungsframeworks clases que mapean 1:1 a touch-action, lokal acelera prototipado y cambios. Es kommt häufig vor, dass es verschiedene Varianten gibt touch-auto, touch-none, touch-pan-x o touch-pan-y.
<div class='h-48 w-full touch-auto overflow-auto'>
<img class='h-auto w- max-w-none' src='...' alt=''>
</div>
<div class='h-48 w-full touch-none overflow-auto'>
<img class='h-auto w- max-w-none' src='...' alt=''>
</div>
<div class='h-48 w-full touch-pan-x overflow-auto'>
<img class='h-auto w- max-w-none' src='...' alt=''>
</div>
<div class='h-48 w-full touch-pan-y overflow-auto'>
<img class='h-auto w- max-w-none' src='...' alt=''>
</div>
Dies nutzt Hilfsmittel, um die CSS-Laufzeit und -Kohärenz zu gewährleisten; recuerda que bajo el capó siguen siendo valores de touch-action, mit den unterschiedlichsten Kombinations- und Wirkungsregeln.
Testen und Debuggen
Um die Wirkung zu überprüfen, ist es ideal, ein taktiles Gerät zu verwenden. Algunos Browser haben eine Touch-Emulation auf ihren DevTools durchgeführt , aber sie haben nicht die Perfektion der Gesto-Fisic reproduziert, ohne dass mehrere von ihnen gleichzeitig verwendet werden.
Wenn Sie nicht geantwortet haben, überprüfen Sie die Prioritäten: Was ist wirklich ein Element, das die Ereignisse rezitiert? ¿Hey Hörer, die por preventDefault()? Bestätigen Sie die computed style de touch-action y chequear superposiciones con pointer-events spart Ihnen Stunden.
Fragmentos listos para copiar
Unos cuantos atajos útiles para el day a day. Úsalos como base y ajústalos a tu caso.
/* Desactiva todo (señal de: me ocupo yo por JS) */
.superficie { touch-action: none; }
/* Solo desplazamiento horizontal */
.carrusel { touch-action: pan-x; }
/* Solo desplazamiento vertical */
.lista { touch-action: pan-y; }
/* Inicios hacia derecha + hacia arriba */
.panel { touch-action: pan-right pan-up; }
/* Pellizco-zoom + desplazamiento en cualquier eje (sin doble tap) */
.interactivo { touch-action: manipulation; }
Notas de soporte específicas
In der Vergangenheit der Wert pinch-zoom Wird seit der Version 56 durch Chrome-Unterstützung populär gemacht, und Ihr Comportamiento habe ich verfeinert. Stellen Sie sicher, dass Ihre App nicht in einen Konflikt gerät, wenn Sie auf der Plattform eine Systemverbindung herstellen gestos del SO (Beispiel: Gestos de navegación por bordes).
Wenn Ihr öffentliches Ziel iOS umfasst, erhalten Sie die Matiz: Die verfügbaren Kombinationen können nicht gleichzeitig mit Chromium kompatibel sein . Die Tests müssen durchgeführt werden, sobald UX in die erste Richtung geht oder die doppelte Haube blockiert.
Zusammenfassung der Sintaxis und mentaler Modelle
Eine Möglichkeit, keine Zweideutigkeiten zu vermeiden, ist im Kopf. Der erste Schritt besteht darin, die zulässige Richtung einzuhalten (Pan-x, Pan-y, Pan-links usw.); después entscheidet si añades pinch-zoom; y, si lo tuyo es la rapidez, USA manipulation als Abkürzung a lo típico sin doble toque.
Ja, das bringt die Vereinfachung nicht mit sich: Wenn Ihre Kombination mit einem Gerät geschrieben werden kann, verwenden Sie das Gerät. Es ist lesbar und vermeidet ungültige Werte (der Klassiker „Pan-Links-Pan-Rechts“, das heißt pan-x).
Plantilla de estilos para proyectos
Dieser Block wird in Design-Systeme und Komponentenbibliotheken eingebunden. Definieren Sie CSS-Anwendungen für häufige Verwendung und Kohärenz zwischen Geräten.
/* Utilidades corporativas */
.u-touch-auto { touch-action: auto; }
.u-touch-none { touch-action: none; }
.u-touch-pan-x { touch-action: pan-x; }
.u-touch-pan-y { touch-action: pan-y; }
.u-touch-zoom { touch-action: pinch-zoom; }
.u-touch-sensible { touch-action: manipulation; }
In diesem Fall wird die Absicht (z. B. „vernünftig“ implizit mit einer Antwort) bereits durch einen detaillierten Techniker dokumentiert, der die Einführung durch andere Entwickler erleichtert.
Kleine Checkliste vor der Veröffentlichung
– „Hast du die Tapferkeit weniger aufdringlich, als dass du dein Ziel erreicht hättest?“ Wenn jemand nativ ist, déjalo nativ.
– Ist Ihre App mit Zoom nutzbar? Es gibt keine Opfer, es ist nicht unantastbar.
– Wurde iOS und Android tatsächlich verglichen? Die Emulation ist nützlich, aber noch nicht endgültig.
– ¿Los Hörer nicht interfieren con el comportamiento esperado? Evita cancelaciones globales.
Es ist klar, dass touch-action Es ist eine unverzichtbare Hilfe, um das Tasterlebnis zu verbessern: Um zu begrenzen, was Ihre Mutter und Ihre Tochter tun, reduzieren Sie die Latenz wie im Buch click Über die Haube hinaus bieten wir Ihnen Kombinationsmöglichkeiten für alle möglichen Fälle an; Wenn es darum geht, reale Geräte und ein gut zugängliches Haus zu prüfen, neigen sie zu taktilen Komponenten, die ihnen natürliche und flexible Eigenschaften verleihen.