--- 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
.auto
manipulation
pan-x pan-y pinch-zoom
.none
pan-x
pan-y
, pan-up
, pan-down
et/ou pinch-zoom
.pan-y
pan-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")}}