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)Рекомендация

Браузеры

111241543.6
2.13.6363.2

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

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

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