pointer-events
Свойство pointer-events CSS определяет, в каких условиях графический элемент может стать мишенью для событий указателя.
Попробуйте
Синтаксис
/* Keyword values */ pointer-events: auto; pointer-events: none; /* Values used in SVGs */ 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; /* Global values */ 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какое-либо другое значение. В этих случаях события указателя будут вызывать обработчики событий на этом родительском элементе, соответствующим образом, в фазах захвата и возвращения события.Примечание: События
pointerenterиpointerleaveсрабатывают при перемещении указательного устройства в элемент или в один из его потомков. Таким образом, даже еслиpointer-events: noneустановлено на родителе, а не на потомках, события срабатывают на родителе после того, как указатель переместился внутрь или наружу потомка.
Только для SVG (экспериментально для HTML)
visiblePainted-
Только для SVG (экспериментально для HTML). Элемент может быть только мишенью события указателя, когда свойство
visibilityустановлено вvisible, например, когда курсор мыши находится внутри (т. е., 'заливка') элемента, и свойствоfillустановлено в значение, отличное отnone, или когда курсор мыши находится на периметре (т. е., 'контур') элемента, и свойствоstrokeустановлено в значение, отличное отnone. visibleFill-
Только для SVG. Элемент может быть только мишенью события указателя, когда свойство
visibilityустановлено вvisible, и, например, когда курсор мыши находится внутри (т. е., в заливке) элемента. Значение свойстваfillне влияет на обработку событий. visibleStroke-
Только для SVG. Элемент может быть только мишенью события указателя, когда свойство
visibilityустановлено вvisible, и, например, когда курсор мыши находится на периметре (т. е., контуре) элемента. Значение свойстваstrokeне влияет на обработку событий. visible-
Только для SVG (экспериментально для HTML). Элемент может быть мишенью события указателя, когда свойство
visibilityустановлено вvisible, и, например, курсор мыши находится как внутри (т. е., 'заливка'), так и на периметре (т. е., 'контур') элемента. Значенияfillиstrokeне влияют на обработку событий. painted-
Только для SVG (экспериментально для HTML). Элемент может быть только мишенью события указателя, когда, например, курсор мыши находится внутри (т. е., 'заливка') элемента, и свойство
fillустановлено в значение, отличное отnone, или когда курсор мыши находится на периметре (т. е., 'контур') элемента, и свойствоstrokeустановлено в значение, отличное отnone. Значение свойстваvisibilityне влияет на обработку событий. fill-
Только для SVG. Элемент может быть только мишенью события указателя, когда указатель находится внутри (т. е., 'заливка') элемента. Значения свойств
fillиvisibilityне влияют на обработку событий. stroke-
Только для SVG. Элемент может быть только мишенью события указателя, когда указатель находится на периметре (т. е., 'контур') элемента. Значения свойств
strokeиvisibilityне влияют на обработку событий. bounding-box-
Только для SVG. Элемент может быть только мишенью события указателя, когда указатель находится внутри объёмной рамки элемента.
all-
Только для SVG (экспериментально для HTML). Элемент может быть только мишенью события указателя, когда указатель находится внутри (т. е., 'заливка') или на периметре (т. е., 'контур') элемента. Значения
fill,stroke, иvisibilityне влияют на обработку событий.
Описание
Если это свойство не указано, те же характеристики, что и для значения visiblePainted применимы к SVG-контенту.
В дополнение к указанию того, что элемент не является мишенью для событий указателя, значение none указывает событию указателя "пройти" через элемент и стать мишенью для того, что находится "под" этим элементом.
Обратите внимание, что предотвращение того, чтобы элемент был мишенью для событий указателя, используя pointer-events не обязательно означает, что обработчики событий указателя на этом элементе не могут или не будут вызываться. Если у одного из потомков элемента pointer-events явно установлено значение, позволяющее этому потомку быть мишенью для событий указателя, все события, направленные на этого потомка, пройдут через родительский элемент, при перемещении по цепочке родителей, и вызовут обработчики событий на родителе, соответствующим образом. Конечно, любая активность указателя в точке на экране, которая покрыта родителем, но не потомком, не будет поймана ни потомком, ни родителем (она пройдёт "через" родительский элемент и станет мишенью для того, что находится под ним).
Элементы с pointer-events: none по-прежнему будут получать фокус при последовательной навигации по клавиатуре с помощью клавиши Tab.
Формальное определение
| Начальное значение | auto |
|---|---|
| Применимо к | всем элементам |
| Наследуется | да |
| Вычисленное значение | как указано |
| Тип анимации | дискретный |
Формальный синтаксис
Примеры
Отключение событий указателя для всех изображений
В этом примере отключаются события указателя (щелчки, перетаскивание, наведение курсора и т. д.) для всех изображений.
img {
pointer-events: none;
}
Отключение событий указателя для одного элемента ссылки
В этом примере отключаются события указателя для ссылки на http://example.com.
HTML
<ul> <li><a href="https://developer.mozilla.org">MDN</a></li> <li><a href="http://example.com">example.com</a></li> </ul>
CSS
a[href="http://example.com"]
{
pointer-events: none;
}
Результат
Спецификации
| Спецификация |
|---|
| CSS Basic User Interface Module Level 4 # pointer-events-control |
| Scalable Vector Graphics (SVG) 2 # PointerEventsProperty |
Совместимость с браузерами
| Рабочие столы | Мобильные | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
pointer-events |
1 | 12 | 1.5 | 9 | 4 | 18 | 4 | 14 | 3.2 | 1.0 | 2 |
html_elements |
2 | 12 | 3.6 | 15 | 4 | 18 | 4 | 14 | 3.2 | 1.0 | 37 |
См. также
- Атрибут SVG
pointer-events - Атрибут SVG
visibility - API
PointerEvent - Спецификация WebKit PointerEventsProperty расширенная для использования в (X)HTML-контенте
-
user-select- управляет возможностью пользователя выделять текст
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/CSS/pointer-events