pointer-events

Свойство pointer-events позволяет управлять тем, как элементы будут реагировать на события мыши или прикосновения к сенсорному экрану. Часто применяется для того, чтобы в сложной компоновке можно было взаимодействовать с нижележащими элементами, игнорируя вышележащие.

Краткая информация

Значение по умолчанию auto
Наследуется Да
Применяется Ко всем элементам
Анимируется Нет

Синтаксис

pointer-events: auto | none
Описание Пример
<тип> Указывает тип значения. <размер>
A && B Значения должны выводиться в указанном порядке. <размер> && <цвет>
A | B Указывает, что надо выбрать только одно значение из предложенных (A или B). normal | small-caps
A || B Каждое значение может использоваться самостоятельно или совместно с другими в произвольном порядке. width || count
[ ] Группирует значения. [ crop || cross ]
* Повторять ноль или больше раз. [,<время>]*
+ Повторять один или больше раз. <число>+
? Указанный тип, слово или группа не является обязательным. inset?
{A, B} Повторять не менее A, но не более B раз. <радиус>{1,4}
# Повторять один или больше раз через запятую. <время>#

Значения

auto
Восстанавливает функциональность элемента по умолчанию.
none
Предотвращает события мыши и щелчки по элементу.

Пример

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>pointer-events</title> <style> .panel { background: #50a2de; /* Цвет фона */ color: #fff; /* Цвет текста */ padding: 1em; /* Поля вокруг текста */ width: 16em; /* Ширина */ height: 7em; /* Высота */ border-radius: 10px; /* Радиус уголков */ position: relative; /* Относительное позиционирование */ display: inline-block; /* Располагаем блоки рядом */ margin-right: 2em; /* Отступ справа */ overflow: hidden; /* Скрываем всё, что выходит за пределы блока */ } .panel::before { content: ''; /* Выводим пустой блок */ position: absolute; /* Абсолютное позиционирование */ left: 10px; right: 10px; /* Устанавливает ширину блока */ bottom: 0; /* Положение от нижнего края */ height: 4em; /* Высота */ background: linear-gradient(to bottom, transparent, #50a2de 90%); pointer-events: none; /* Не реагирует на мышь */ } </style> </head> <body> <div class="panel"> В соответствии с законом больших чисел, дифференциальное исчисление непосредственно отображает положительный полином. Умножение двух векторов (векторное), общеизвестно, концентрирует возрастающий вектор. </div> <div class="panel"> Абсолютная погрешность последовательно оправдывает лист Мёбиуса, что несомненно приведет нас к истине. Если предположить, что a &lt; b, то многочлен последовательно трансформирует нормальный ортогональный определитель. </div> </body> </html>

В данном примере к каждому блоку снизу добавляется псевдоэлемент с градиентом, плавно скрывающий часть текста. При этом невозможно выделить часть текста, поскольку псевдоэлемент частично перекрывает его. Чтобы этот псевдоэлемент не мешал работе с текстом, к нему добавляем свойство pointer-events со значением none.

Спецификация

Спецификация Статус
Scalable Vector Graphics (SVG) 1.1 (Second Edition) Рекомендация

Браузеры

11 12 4 15 4 3.6
2.1 3.6 36 3.2

В таблице браузеров применяются следующие обозначения.

  • — элемент полностью поддерживается браузером;
  • — элемент браузером не воспринимается и игнорируется;
  • — при работе возможно появление различных ошибок, либо элемент поддерживается с оговорками.

Число указывает версию браузреа, начиная с которой элемент поддерживается.