Кратко
СкопированоСвойство touch
позволяет контролировать то, как с элементом можно взаимодействовать на сенсорных экранах.
.example { touch-action: manipulation;}
.example { touch-action: manipulation; }
Пример
СкопированоЧтобы увидеть разницу в примерах ниже, нужно воспользоваться устройством с сенсорным экраном.
У нас есть две одинаковые картинки внутри контейнеров, первую мы сможем скроллить, а вторую нет, так как установлено значение none
у свойства touch
.
.touch-auto { touch-action: auto;}.touch-none { touch-action: none;}.map { width: 350px; height: 250px; overflow: scroll; position: relative;}.map img { width: 640px; height: 425px;}
.touch-auto { touch-action: auto; } .touch-none { touch-action: none; } .map { width: 350px; height: 250px; overflow: scroll; position: relative; } .map img { width: 640px; height: 425px; }
<div class="map touch-auto"> <img src="map.jpg" alt="Карта мира"></div><div class="map touch-none"> <img src="map.jpg" alt="Карта мира"></div>
<div class="map touch-auto"> <img src="map.jpg" alt="Карта мира"> </div> <div class="map touch-none"> <img src="map.jpg" alt="Карта мира"> </div>
Как понять
СкопированоСвойство touch
управляет взаимодействием с сенсорным экраном и напоминает более распространённое свойство pointer
, которое регулирует взаимодействие мышкой.
Пригодится touch
, например, чтобы отключить обработку прикосновений браузером по умолчанию на сенсорных экранах. Вместо неё можно реализовать свою логику с помощью JavaScript. Представьте, что при скролле карты вы хотите, чтобы она масштабировалась — придётся переопределять поведение.
Отключить дефолтное поведение можно и программно. Но с touch
мы гарантируем, что браузер знает наши планы до того, как будут вызваны слушатели событий.
Как пишется
Скопированоnone
— запрещает все типы взаимодействий. Можно обрабатывать события при помощи JavaScript.auto
— разрешает все типы взаимодействия (значение по умолчанию).manipulation
— элемент можно сдвигать и зумить. Это сокращение для комбинацииpan
. Остальные нестандартные жесты, вроде двойного тапа, запрещены.- x pan - y pinch - zoom pan
— элемент можно сдвигать по оси x с помощью одного пальца. Это сокращение для значений- x pan
и- left pan
. Может использоваться в сочетании с- right pan
,- y pan
,- up pan
и- down pinch
.- zoom pan
— элемент можно смещать по оси y с помощью одного пальца. Это сокращение для значений- y pan
и- up pan
. Может использоваться в сочетании с- down pan
,- x pan
,- left pan
и- right pinch
.- zoom pan
— элемент можно смещать только если начать движение от левого края (эксперимент).- left pan
— элемент можно смещать только если начать движение от правого края (эксперимент).- right pan
— элемент можно смещать только если начать движение снизу вверх (эксперимент).- down pan
— элемент можно смещать только если начать движение сверху вниз (эксперимент).- up pinch
— элемент можно зазумить щипком. Можно совместить с- zoom pan
,- x pan
,- left pan
,- right pan
,- y pan
,- up pan
.- down
Подсказки
Скопировано💡 touch
может помешать людям со слабым зрением читать страницу, если не предусматривается другая возможность увеличить содержимое.