- সংজ্ঞায়িত করুন qué gestos maneja el navegador: desplazamiento, pellizco-zoom y doble toque.
- কম্বিন ভ্যালোরস (প্যান-এক্স/প্যান-ওয়াই/প্যান-*) এবং চিমটি-জুম, ও ইউএসএ এল অ্যাটাজো ম্যানিপুলেশন।
- Atención a accesibilidad: evitar bloquear el zoom salvo necesidad real.
- সামঞ্জস্যপূর্ণ amplia; আইওএস সাফারি উপস্থাপনা, হার্ডওয়্যার বাস্তবে প্রুব।

Cuando trabajamos con interfaces táctiles, hay un detalle que marca la diferencia entre una experiencia fluida y otra frustrante: ডিসিডির qué gestos gestiona el navegador y cuáles gestiona tu código. CSS এর মালিকানাধীন touch-action es justo el interruptor fino que permite ajustar ese comportamiento al milimetro.
গোপনীয়তার লেজোস, touch-action কন্ট্রোল এল ডিসপ্লাজামিয়েন্টো, এল জুম পোর পেলিজকো y otros gestos predeterminados que el navegador aplicaría al tocar un elemento. Bien usada, evita retrasos en eventos, Choca menos con tu JavaScript y te da control real en componentes como mapas, carruseles o lienzos de juegos.
¿কোন সঠিক টাচ-অ্যাকশন?
En pocas palabras, touch-action indica al agente de usuario qué acciones táctiles puede ejecutar de forma Nativa en una región de la página y cuáles debe reservar para tu manejadores de eventos. কৌশলের পরিপূরক pointer-events, que solemos asociar más a interacciones con ratón, pero con un enfoque específico en gestos como el desplazamiento y el zoom.
এই ভাবে, puedes permitir que el navegador haga su trabajo (desplazar, hacer zoom) o bloquearlo para implementar tú las interacciones (পোর ইজেমপ্লো, zoom interno de un mapa) sin interferencias ni demoras artificiales en los click.

সিনট্যাক্সিস এবং ব্যবহারের ফর্ম
La propiedad acepta varias combinaciones con reglas muy concretas. Puedes declarar un unico valor, o componer varios valores compatibles প্যারা ajustar el comportamiento táctil con precision.
/* Declaración típica */
#elemento {
touch-action: pan-right pinch-zoom;
}
সঠিক গ্রামীণফোনের প্রয়োজন, esta es la sintaxis formal reconocida:
touch-action =
auto |
none |
|| || pinch-zoom ] |
manipulation
অন্য কথায়, puedes usar uno de los valores globales (স্বয়ংক্রিয়, কিছুই নয়, ম্যানিপুলেশন) o bien una combinacion de los conjuntos de desplazamiento horizontal y/o উল্লম্ব, más pinch-zoom allyচ্ছিকভাবে
Valores de touch-action y qué hace cada uno
Esta propiedad ofrece valores pensados para casos muy concretos. Elegir el que toca evita tener que reimplementar gestos con JavaScript o, al contrario, te deja vía libre para hacerlo cuando lo necesites.
auto-
দেজা কুই এল নাভেগাদোর gestione todos los gestos de desplazamiento y zoom. Es el comportamiento por defecto: el usuario puede deslizar para desplazarse y pellizcar para ampliar sin que tengas que hacer nada más.
none-
Bloquea por completo la intervención del navegador en esos gestos. কোন habra desplazamiento ni pellizco-zoom nativos; আপনি জাভাস্ক্রিপ্ট এর সাথে সামঞ্জস্যপূর্ণ করতে পারেন। 100% আপনি মানচিত্র জন্য আদর্শ.
manipulation-
পারমিট এল ডিসপ্লাজামিয়েন্টো ই এল পেলিজকো-জুম, পারো ডেসঅ্যাক্টিভা ciertos gestos no estándar como el doble toque para ampliar. Es, en la practica, un alias de "প্যান-এক্স প্যান-ওয়াই পিঞ্চ-জুম" (la combinacion explicita se mantiene válida por compatibilidad) আল quitar el doble toque, también elimina la necesidad de retrasar la generación de eventos
clickTras un toque, lo que mejora la respuesta de la interfaz. pan-x-
সক্রিয় el desplazamiento অনুভূমিক con un solo dedo. Puede combinarse con এর সাথে
pan-y,pan-up,pan-downএবং / অথবাpinch-zoom। এটা ইংরেজিতে লেখা।pan-leftypan-right. pan-y-
সক্রিয় el desplazamiento উল্লম্ব কন আন একক dedo. Puede combinarse con এর সাথে
pan-x,pan-left,pan-rightএবং / অথবাpinch-zoom. Del mismo modo, es un atajo que incluyepan-upypan-down. pan-left,pan-right,pan-up,pan-down-
অনুমতি gestos de desplazamiento con un solo dedo que empiezan en la dirección indicada. Ojo: una vez iniciado el desplazamiento, se puede invertir la dirección. Hay un detalle que suele confundir: en terminos de interfaz, "প্যান-আপ"তাত্ত্বিক que el usuario arrastra el dedo hacia abajo en la pantalla para que el contenido se mueva hacia arriba; y"প্যান-বাম" implica arrastrar el dedo a la derecha para que el contenido se desplace hacia la izquierda.
pinch-zoom-
সক্ষম করুন gestos multi-dedo de zoom y desplazamiento. Se puede combinar con cualquiera de los valores
pan-*. En navegadores que lo বাস্তবায়ন, el agente de usuario puede iniciar el zoom continuo de inmediato sin esperar a que un manejador de eventos lo cancel.
Reglas de Combinación y normalización
আল combinar direcciones, existen reglas de simplificación. কোন টোডো লো que se puede escribir es válido si hay una forma más সহজ. উদাহরণস্বরূপ, "pan-left pan-right" se considera inválido porque la forma correcta y más corta es pan-x.
পাপ নিষেধাজ্ঞা, হে কম্বিন্যাসিওনেস que sí tienen Sentido, como "pan-left pan-down" paramitir desplazamientos que inician hacia la izquierda o hacia abajo. En este caso, no hay una abreviatura directa equivalente, por lo que es una combinación গ্রহণযোগ্য।
এটাও মনে রাখবেন puedes mezclar ejes y pellizco. উদাহরণস্বরূপ, "pan-x pinch-zoom" পারমিট desplazamiento অনুভূমিক por un dedo y zoom multi-dedo a la vez, dejando fuera el desplazamiento vertical nativo.
Cuándo usar cada বীরত্ব: patrones reales
El caso típico es un mapa o un lienzo de juego embebido en la página. Si quieres que el gesto de pellizcar afecte al propio Mapa y no al zoom del navegador, আপনি আগ্রহী ঘোষণাকারী touch-action: none; আপনি জাভাস্ক্রিপ্টে জুম ব্যক্তিগতকরণ লিখতে পারেন৷
Otro escenario es cuando tu código একক প্রয়োগ una parte de la interacción (por ejemplo, el zoom), y prefieres que el navegador mantenga el desplazamiento nativo. En ese caso, "touch-action: pan-x pan-y;" le dice al agente de usuario que gestione todo el desplazamiento y te deja libre para ocuparte del zoom como quieras.
প্যারা কম্পোনেন্টস ডি UI como carruseles horizontales, pan-x সুয়েল সেরা বিকল্প. পারমিটেস এল ডিসপ্লাজামিন্টো পাশ্বর্ীয় কন আন ডিডো, ম্যান্টিনেস এল পেলিজকো-জুম ডিসঅ্যাক্টিভেডো সি নো লো অ্যানাডেস, ওয়াই ইভিটাস কনফ্লিক্টোস কন এল স্ক্রোল উল্লম্ব ডি লা পেজিনা সি নো কিউয়েরস কিউ সে সক্রিয়।
যদি তোমার অগ্রাধিকার হয় প্রতিক্রিয়া, manipulation es un atajo estupendo. Quita el doble tap para ampliar y con ello la necesidad de retrasar el click, lo que da una sensación de "snappiness" en botones y enlaces.
অ্যাক্সেসযোগ্যতার উপর প্রভাব
সমালোচনামূলক বিষয়: সি ডিক্লারাস touch-action: none; bloqueas el zoom nativo del navegador. Las personas con baja visión que necesitan ampliar para leer perderán esa capacidad, lo que puede convertir tu interfaz en inaccessible.
Cuando el contexto lo permita, বিবেচনা করা pinch-zoom সক্ষম করা অথবা অনুসন্ধান করুন অ্যাক্সেসিবিলিটি বিকল্প que no impidan el aumento. Hacer zoom es, para muchos usuarios, una herramienta de lectura esencial; কোন লা ডিস্যাক্টিভস একটি লা লিগেরা।
কম্প্যাটিবিলিডেড এন্ট্রি নেভেগাডোরস
এর সমর্থন touch-action এটা অনেক, কিন্তু এর সাথে। Los navegadores modernos como Chrome (36+), Edge (12+), Firefox (52+) এবং Opera (23+) কার্যকরী নীতিমালা
El punto delicado históricamente ha sido Safari. আইওএস সাফারি সীমাবদ্ধতা উপস্থাপন করে, সফটওয়্যার সহ auto y manipulation, mientras que otros valores han sido más variables según versión y contexto. En versiones recientes de Safari de escritorio (13+), la compatibilidad es notablemente mejor, pero conviene validar casos específicos, sobre todo si dependes de combinaciones avanzadas.
Las tablas de compatibilidad públicas (las típicas que consultamos a diario) se actualizan con contributiones de la comunidad y estadísticas de uso; si tu proyecto es sensible a gestos concretos, prueba en dispositivos reales. Ten en cuenta también que একক en dispositivos con pantalla táctil podrás verificar el comportamiento দৃঢ়ভাবে প্রতিষ্ঠিত।
ব্যবহারের ব্যবহারিক উদাহরণ
Veamos algunos patrones declaración que te solucionarán la vida. হার্ডওয়্যার ট্যাক্টিলের জন্য রিকুয়ের্দা প্রোবার সিমপ্রে para comprobar que la experiencia es la esperada.
1) Desactivar todos los gestos (মানচিত্র ও ক্যানভাস ব্যক্তিগতকরণ)
Útil cuando quieres প্রয়োগকারী tú el arrastre y el zoom internos sin interferencias. El navegador no interceptará ni el desplazamiento ni el pellizco.
<!-- HTML -->
<div id='mapa' class='superficie'></div>
<!-- CSS -->
.superficie {
touch-action: none;
}
2) অনুমতি desplazamiento nativo, নিয়ন্ত্রণ একক জুম
আপনি জাভাস্ক্রিপ্ট সে encarga ডেল জুম, deja que el navegador gestione el scroll en ambos ejes রুইডা পুনর্নবীকরণ না করার জন্য।
.zoom-personalizado {
touch-action: pan-x pan-y;
}
3) Desplazamiento অনুভূমিক কন pellizco-জুম
প্যারা ক্যারুসেলস কমপ্লেজোস বা গ্যালারিয়াস: স্ক্রোল অনুভূমিক কন আন ডিডো এবং জুম কন ডস, উল্লম্বভাবে স্ক্রোল করা যাবে না।
.galeria-avanzada {
touch-action: pan-x pinch-zoom;
}
4) ডিসপ্লাজামিন্টস por dirección initicial
অনুমতি দেওয়া সুযোগ solo gestos que arrancan hacia una dirección concreta (p. ej., para no interferir con otros componentes).
.panel-contextual {
touch-action: pan-left pan-down;
}
5) Atajo pragmático: ম্যানিপুলেশন
Cuando buscas una respuesta táctil contundente sin doble toque, manipulation এটা একটা মহান কাজ. Ayuda a evitar el retraso del click পোস্ট-টোক।
button, a {
touch-action: manipulation;
}
সম্পর্ক আছে pointer-events ক্লিকের ইভেন্টগুলি
যদিও তারা মাঝে মাঝে বিভ্রান্ত হয়, touch-action y pointer-events অ্যাটাকান সমস্যা. El segundo সিদ্ধান্ত নিন si un elemento responsee a "punteros" (ratón, táctil, lápiz) a nivel de hit-testing; প্রাথমিকভাবে নির্ধারণ করুন qué gestos táctiles por defecto puede ejecutar el navegador ঐ অঞ্চলে।
উপরন্তু, desactivar gestos como el doble toque con manipulation এলিমিনা এল রেট্রাসো ক্লাসিকো ডেল click tras un toque en moviles. Ese retardo existía para distinguir entre un toque simple y el inicio de un doble toque para zoom; si el doble toque ya no existe, el navegador puede despachar el click অপেক্ষা না করে
বাস্তবায়নের বিস্তারিত বিবরণ
বিরূদ্ধে pinch-zoom, খড়ের ন্যাভিগেশন inician el zoom continuo inmediatamente sin esperar a que intentes cancelar la acción por JavaScript. এই অংশীদারিত্বের পক্ষে একটি অনুভূতি যা আপনাকে সাহায্য করবে en el gesto de pellizco sobre elementos que lo permiten.
También debes saber que, aun cuando restringes la dirección que inicia un desplazamiento, el usuario podrá invertir la dirección una vez iniciado el scroll. Esto alinea la experiencia con lo que la gente espera de una lista o un lienzo, y evita bloqueos artificiales a mitad del gesto.
ভাল অভ্যাস
প্রাইমরো, অ্যাপ্লিকা লা রেগলা ডি মিনিমা হস্তক্ষেপ: elige el valor menos restrictivo que resuelva tu caso. তুমি কি করতে পারো? pan-x, কোন ব্যবহার নেই none. Así preservas gestos nativos y accesibilidad.
সেগুন্ডো, হার্ডওয়্যার বাস্তবে সম্পূর্ণ উপাদানগুলি: lo que parece óptimo con el emulador puede no reflejar la inercia y la fricción reales. Las sensaciones táctiles son sutiles, y pequeños cambios en touch-action উল্লেখযোগ্য।
Tercero, si bloqueas el zoom por necesidades del producto, অ্যাক্সেসযোগ্যতার বিকল্পগুলি (কন্ট্রোল ডি টামানো ডি টেক্সটো, জুম ইন্টারনো ক্লারো, কনট্রাস্ট অ্যাডুকুয়াডো)। Privar del zoom sin alternativa perjudica la lectura.
Cuarto, নথিপত্র y acuerda el comportamiento con el equipo: সিএসএস এবং জাভাস্ক্রিপ্টের জন্য মার্কার কনট্রাটস ক্লাস evita দ্বন্দ্ব, sobre todo cuando hay শ্রোতাদের que cancelan eventos o librerías de gestos de por media.
শ্রেণী উপযোগিতা এবং কাঠামো
অনেক ফ্রেমওয়ার্ক ডি ইউটিলিডেড অফ recen ক্লাস ১:১ এ touch-action, lo cual acelera prototipado y cambios. এটা অভ্যাসগত encontrar ভেরিয়েন্ট কোমো 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>
সিএসএস লিম্পিও এবং কোহেরেন্টে একটি ম্যান্টেনার ব্যবহার করে; recuerda que bajo el capó siguen siendo valores de touch-action, con las mismas reglas de combinación y efectos.
পরীক্ষা এবং ডিবাগিং
প্যারা ভেরিফিকার el efecto, lo ideal es un dispositivo táctil. অ্যালগুনোস নেভিগডোরস অফ রিসেন ইমুলেশন ট্যাক্টিল এবং ডেভ টুলস, pero no reproduce a la perfección la física del gesto ni los múltiples dedos simultáneos.
সি আলগো কোন প্রতিক্রিয়া নেই, অগ্রাধিকার পুনর্বিবেচনা করুন: ¿el elemento realmente recibe los eventos? ¿hay শ্রোতারা que cancelan por preventDefault()? নিশ্চিত করা computed style de touch-action y chequear superpositiones con pointer-events আপনার ঘন্টা বাঁচায়।
কপি করার জন্য টুকরো তালিকা
Unos cuantos atajos útiles para el día a día. Ú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; }
বিশেষায়িত সহায়তার নোটস
অতীতে, মান pinch-zoom 56 সংস্করণে ক্রোম থেকে জনপ্রিয়তা পাওয়া যায়, y su comportamiento ha ido refinándose. En plataformas donde el pellizco sea una acción de sistema, verifica que tu app no entra en conflict con SO এর ধরণ (por ejemplo, gestos de navegación por bordes)।
আপনি পাবলিক অবজেটিভ আইওএস, রিকুয়ের্দা এল ম্যাটিজ অন্তর্ভুক্ত: las combinaciones avanzadas pueden no comportarse igual que en Chromium. Las pruebas cruzadas son obligatorias cuando basas la UX en direcciones iniciales o en bloquear el doble toque.
Sintaxis resumida y মানসিক মডেল
Una manera de no equivocarte es pensar en capas. প্রাইমরো এলিজেস এল ইজে ও লাস ডিরেসিওনেস পারমিটিডাস (প্যান-এক্স, প্যান-ওয়াই, প্যান-বাম, ইত্যাদি); después সিদ্ধান্ত নেয় si anades pinch-zoom; y, si lo tuyo es la rapidez, আপনি ব্যবহার manipulation একটি শর্টকাট হিসাবে একটি লো টাইপো সিন ডাবল টোক।
Y no olvides la simplificación: si tu combinacion se puede escribir con un atajo, usa el atajo. Es legible y evita valores inválidos (el ক্লাসিকো "প্যান-লেফট প্যান-ডান" que debería ser pan-x).
প্ল্যান্টিলা ডি estilos প্যারা প্রোজেক্টস
Este bloque suele encajar en design systems y librerías de componentes. ব্যবহারের ফ্রিকুয়েন্টের জন্য সিএসএসের জন্য ব্যবহারযোগ্য সংজ্ঞায়িত করুন y tendrás coherencia entre equipos.
/* 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; }
ক্লাসের সাথে, উদ্দেশ্যের নথিপত্র (por ejemplo, "sensible" implicando respuesta ágil) en lugar de un detalle técnico aislado, lo que facilita la adopción por parte de otros desarrolladores.
প্রকাশের পূর্ববর্তী চেকলিস্ট
– ¿এসকোগিডো এল বীরত্ব মেনোস ইনট্রুসিভো কিউ কমপ্লে তোমার উদ্দেশ্য আছে? Si algo puede ser nativo, déjalo nativo.
– ¿Tu অ্যাপটি ব্যবহারযোগ্য কোন জুম? কোনো ত্যাগ স্বীকারের সুযোগ নেই কোনো দুর্ভেদ্য নয়.
– ¿আইওএস এবং অ্যান্ড্রয়েড বাস্তবে সমঝোতা আছে? La emulación es útil, pero no definitiva.
– ¿লস শ্রোতারা কোন ইন্টারফিয়ারেন কন এল কমপোর্টামিন্টো এস্পেরাডো? বিশ্বব্যাপী বাতিলকরণের এভিটা.
এটা স্পষ্ট যে touch-action es una palanca esencial para afinar la experiencia táctil: te permite delimitar qué gestos son nativos y cuáles controlas tú, হ্রাস latencias como la del click Tras el toque, y ofrece combinaciones ricas para casos avanzados; si a eso sumas pruebas en dispositivos reales y un ojo en accesibilidad, tendrás componentes táctiles que se sienten naturales y fiables.