pointer-events
Властивість CSS pointer-events
(події вказівника) задає, за яких обставин (і чи такі обставини є) певний графічний елемент може стати ціллю подій вказівника.
Спробуйте його в дії
Синтаксис
/* Значення – ключове слово */
pointer-events: auto;
pointer-events: none;
/* Значення SVG */
pointer-events: visiblePainted;
pointer-events: visibleFill;
pointer-events: visibleStroke;
pointer-events: visible;
pointer-events: painted;
pointer-events: fill;
pointer-events: stroke;
pointer-events: bounding-box;
pointer-events: all;
/* Глобальні значення */
pointer-events: inherit;
pointer-events: initial;
pointer-events: revert;
pointer-events: revert-layer;
pointer-events: unset;
Властивість pointer-events
задається як одне ключове слово, вибране зі списку значень нижче.
Значення
auto
Елемент поводиться так, ніби властивість
pointer-events
не була задана. У вмісті SVG це значення та значенняvisiblePainted
мають однаковий ефект.none
Елемент сам собою ніколи не є ціллю подій вказівника. Однак його піддерево може піддаватися взаємодії, якщо задати в ньому інше значення
pointer-events
. За таких умов події вказівника будуть запускати обробники на батьківському елементі під час фаз захоплення та спливання, коли подія підніматиметься від нащадків.[!NOTE] Події
pointerenter
таpointerleave
викликаються, коли вказівник переміщується до елемента або його нащадків. Навіть якщо на батьківському елементі заданоpointer-events: none
, а на нащадках — ні, події все одно будуть викликані на батьківському елементі, коли вказівник входить або виходить за межі нащадка.
Тільки для SVG (експериментальне для HTML)
visiblePainted
Тільки для SVG (експериментальне для HTML). Елемент може бути ціллю події вказівника лише тоді, коли властивість
visibility
задана значеннямvisible
, і, наприклад, коли курсор миші знаходиться над внутрішньою частиною ("fill") елемента, а властивістьfill
має значення, відмінне відnone
, або коли курсор миші знаходиться над контуром ("stroke") елемента, і властивістьstroke
встановлена на значення, відмінне відnone
.visibleFill
Тільки для SVG. Елемент може бути ціллю події вказівника лише тоді, коли
visibility
має значенняvisible
, і, наприклад, коли курсор миші знаходиться над внутрішньою частиною ("fill") елемента. Значенняfill
не впливає на обробку подій.visibleStroke
Тільки для SVG. Елемент може бути ціллю події вказівника лише тоді, коли
visibility
має значенняvisible
, і, наприклад, коли курсор миші знаходиться над контуром ("stroke") елемента. Значенняstroke
не впливає на обробку подій.visible
Тільки для SVG (експериментальне для HTML). Елемент може бути ціллю події вказівника, коли
visibility
має значенняvisible
, і, наприклад, коли курсор миші знаходиться над внутрішньою частиною ("fill") або контуром ("stroke") елемента. Значенняfill
таstroke
не впливають на обробку подій.painted
Тільки для SVG (експериментальне для HTML). Елемент може бути ціллю події вказівника лише тоді, коли, наприклад, курсор миші знаходиться над внутрішньою частиною ("fill") елемента, і властивість
fill
має значення, відмінне відnone
, або коли курсор миші знаходиться над контуром ("stroke") елемента, і властивістьstroke
має значення, відмінне відnone
. Значенняvisibility
не впливає на обробку подій.fill
Тільки для SVG. Елемент може бути ціллю події вказівника лише тоді, коли вказівник перебуває над внутрішньою частиною ("fill") елемента. Значення
fill
таvisibility
не впливають на обробку подій.stroke
Тільки для SVG. Елемент може бути ціллю події вказівника лише тоді, коли вказівник знаходиться над контуром ("stroke") елемента. Значення
stroke
таvisibility
не впливають на обробку подій.bounding-box
Тільки для SVG. Елемент може бути ціллю події вказівника лише тоді, коли вказівник знаходиться над рамками меж елемента.
all
Тільки для SVG (експериментальне для HTML). Елемент може бути ціллю події вказівника лише тоді, коли вказівник перебуває над внутрішньою частиною ("fill") або контуром ("stroke") елемента. Значення
fill
,stroke
таvisibility
не впливають на обробку подій.
Опис
Коли властивість не задана, для вмісту SVG застосовуються ті ж характеристики, що й для значення visiblePainted
.
Значення none
не тільки робить елемент недоступним для подій вказівника, але й дозволяє події "проходити крізь" цей елемент, націлюючись на те, що розташоване під ним.
Зверніть увагу, що відключення можливості елемента бути ціллю подій вказівника за допомогою pointer-events
не обов'язково означає, що обробники подій вказівника на цьому елементі не можуть або не будуть викликані. Якщо один з нащадків елемента має значення pointer-events
, яке дозволяє йому бути ціллю подій вказівника, тоді події, спрямовані на цього нащадка, пройдуть крізь батьківський елемент під час руху по ланцюгу, і викличуть обробники подій на батьківському елементі. Звісно, будь-яка активність вказівника в зоні, яку покриває батьківський елемент, але не нащадок, не буде зафіксована ні нащадком, ні батьківським елементом. Подія просто "пройде крізь" батьківський елемент і націлиться на те, що знаходиться під ним.
Елементи з pointer-events: none
все одно отримують фокус за допомогою послідовної навігації клавіатурою за допомогою клавіші Tab.
Формальне визначення
Початкове значення | auto |
---|---|
Успадковується | так |
Обчислене значення | as specified |
Формальний синтаксис
auto | none | visiblePainted | visibleFill | visibleStroke | visible | painted | fill | stroke | all | inherit
Приклади
Вимкнення подій вказівника для всіх зображень
Цей приклад вимикає події вказівника (натискання, перетягування, наведення тощо) для всіх зображень.
img {
pointer-events: none;
}
Вимкнення подій вказівника для одного посилання
Цей приклад вимикає події вказівника для посилання на http://example.com
.
HTML
<ul>
<li><a href="https://webdoky.org/">ВебДоки</a></li>
<li><a href="http://example.com">example.com</a></li>
</ul>
CSS
a[href="http://example.com"]
{
pointer-events: none;
}
Результат
Специфікації
Сумісність із браузерами
desktop | mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
pointer-events
|
Chrome Full support 1 | Edge Full support 12 | Firefox Full support 1.5 | Internet Explorer Full support 11 | Opera Full support 9 | Safari Full support 4 | WebView Android Full support 2 | Chrome Android Full support 18 | Firefox for Android Full support 4 | Opera Android Full support 14 | Safari on iOS Full support 3.2 | Samsung Internet Full support 1.0 |
Applies to HTML elements
|
Chrome Full support 2 | Edge Full support 12 | Firefox Full support 3.6 | Internet Explorer Full support 11 | Opera Full support 15 | Safari Full support 4 | WebView Android Full support 37 | Chrome Android Full support 18 | Firefox for Android Full support 4 | Opera Android Full support 14 | Safari on iOS Full support 3.2 | Samsung Internet Full support 1.0 |
Дивіться також
- Атрибут SVG
pointer-events
- Атрибут SVG
visibility
- API
PointerEvent
- Специфікації WebKit PointerEventsProperty, розширені для використання у вмісті (X)HTML
user-select
– контролює, чи може користувач виділяти текст