--- title: touch-action slug: Web/CSS/touch-action tags: - CSS - Propriété - Reference translation_of: Web/CSS/touch-action ---
La propriété touch-action définit si une région donnée peut être manipulée par l'utilisateur grâce à des interactions tactiles (en déplaçant ou en zoomant) et comment cette interaction fonctionnera.
/* Avec un mot-clé */ touch-action: auto; touch-action: none; touch-action: pan-x; touch-action: pan-left; touch-action: pan-right; touch-action: pan-y; touch-action: pan-up; touch-action: pan-down; touch-action: pinch-zoom; touch-action: manipulation; /* Valeurs globales */ touch-action: inherit; touch-action: initial; touch-action: unset;
Par défaut, le déplacement et le zoom sont exclusivement gérés par le navigateur, ce qui déclenche un évènement {{event("pointercancel")}} à destination de l'application. En désactivant la prise en charge de ces gestes, l'application peut alors fournir ses propres gestionnaires d'évènements pour {{event("pointermove")}}, {{event("pointerup")}}.
On utilise parfois cette propriété pour désactiver les interactions tactiles sur un élément pour un jeu ou une carte qui fournissent leur propre gestion tactile.
Lorsqu'une interaction tactile a lieu, le navigateur inspecte les valeurs de touch-action pour l'élément et ses ancêtres jusqu'à atteindre l'élément qui implémente le geste (c'est-à-dire celui qui peut défiler/zoomer). En pratique, touch-action est généralement uniquement appliquée aux éléments de plus haut niveau ayant besoin d'un comportement spécifique. Il n'est pas nécessaire de redéfinir touch-action sur les descendants.
Note : Lorsqu'un geste est déjà initié, tout changement sur touch-action n'aura aucun impact sur le geste en cours.
La propriété touch-action peut être définie grâce à :
auto, none, manipulation oupan-x, pan-left, pan-right, et/ou un mot-clé parmi pan-y, pan-up, pan-down et éventuellement le mot-clé pinch-zoom.automanipulationpan-x pan-y pinch-zoom.nonepan-xpan-y, pan-up, pan-down et/ou pinch-zoom.pan-ypan-x, pan-left, pan-right et/ou pinch-zoom.pan-left, pan-right {{experimental_inline}}pan-up, pan-down {{experimental_inline}}pinch-zoom<ul>Ma list <li>UnLongTexteQuiDevraitTenirSurUneLigneHeureusementQuOnAOverflowScroll</li> <li>UnAutreLongTexteQuiDevraitTenirSurUneLigneHeureusementQuOnAOverflowScroll</li> </ul>
ul {
width: 200px;
height: 50px;
overflow-x: scroll;
}
ul > li {
touch-action: pan-x pinch-zoom;
}
{{EmbedLiveSample('Exemples')}}
Note : La propriété touch-action est également utilisée afin de supprimer le délai donné à l'évènement {{event("click")}} pour prendre en charge le zoom via la double-touche.
Une déclaration touch action: none; empêchera le navigateur de zoomer. Cela peut empêcher les personnes à faible vision de lire et de comprendre le contenu de la page.
| Spécification | État | Commentaires |
|---|---|---|
| {{SpecName('Compat', '#touch-action', 'touch-action')}} | {{Spec2('Compat')}} | Ajout de la valeur pinch-zoom pour la propriété. |
| {{SpecName('Pointer Events 2 Ext', '#additional-touch-action-values', 'touch-action')}} | {{Spec2('Pointer Events 2 Ext')}} | Ajout des valeurs pan-left, pan-right, pan-up, pan-down pour la propriété. |
| {{SpecName('Pointer Events', '#the-touch-action-css-property', 'touch-action')}} | {{Spec2('Pointer Events')}} | Définition initiale. |
{{cssinfo}}
{{compat("css.properties.touch-action")}}