CSS touch-action — керування сенсорними жестами


CSS властивість touch-action визначає, які сенсорні жести браузер обробляє сам (прокрутку, зум), а які віддає обробникам подій.

автор: NagarD

Загальний опис

Це ключ до плавних жестів на мобільних. Якщо на елементі власна обробка перетягування, а браузер водночас намагається прокрутити сторінку — вийде смикання.

touch-action: none віддає всі жести скрипту. pan-y дозволяє лише вертикальну прокрутку — саме те, що треба горизонтальній каруселі.

Значення manipulation вимикає розпізнавання подвійного тапу й тим самим прибирає стару затримку 300 мс перед кліком.

автор: NagarD

Порада

touch-action: manipulation на кнопках прибирає затримку кліку на мобільних — безкоштовне прискорення інтерфейсу.

автор: NagarD

Синтаксис

touch-action: auto | none | [ pan-x || pan-y ] | manipulation;

Властивість touch-action може отримувати 5 значень:

auto

Усі жести обробляє браузер.

автор: NagarD

none

Усі жести віддаються обробникам подій.

автор: NagarD

pan-x

Дозволена лише горизонтальна прокрутка.

автор: NagarD

pan-y

Дозволена лише вертикальна прокрутка.

автор: NagarD

manipulation

Прокрутка і щипковий зум, без подвійного тапу.

автор: NagarD

Значення без задання: auto
Наслідує: Ні
Анімується: Ні

Переглядачі

Підтримка: стаціонарні переглядачі
Переглядач Google Chrome Mozilla Firefox Apple Safari Opera Microsoft EDGE Microsoft Internet Explorer
touch-action 36+ 52+ 13+ 23+ 12+ 11+
Підтримка: мобільні переглядачі
Переглядач Mobile Google Android Mobile Google Chrome Mobile Mozilla Firefox Mobile Apple Safari
touch-action 55+ yes yes 13+

Приклади

+ запропонувати свій приклад у пісочниці

Горизонтальна карусель, яка не б'ється з вертикальною прокруткою.

HTML

<div class="carousel">
    <div>Слайд 1</div>
    <div>Слайд 2</div>
</div>
<button>Кнопка без затримки</button>

CSS

.carousel {
    display: flex;
    overflow-x: auto;
    /* браузер керує лише вертикаллю, горизонталь — наша */
    touch-action: pan-y;
}

button {
    touch-action: manipulation;
}
автор: NagarD

Коментарі

Коментарів ще немає — будьте першим!

Відповідь для

Увійдіть — коментар з'явиться одразу, без капчі й очікування перевірки.

Пропозиція правки

Ваша версія — : після перевірки замінить чинну. Нова порада чи нотатка — з'явиться на сторінці після перевірки.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія секції «»: після перевірки замінить чинну.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія опису «»: після перевірки замінить чинну.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Зворотний зв'язок
Вхід