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 |
Дивіться також
user-select- Атрибут SVG
pointer-events - Атрибут SVG
visibility PointerEvent