pointer-events
Baseline
Widely available
This feature is well established and works across many devices and browser versions. Itâs been available across browsers since иÑÐ»Ñ 2015 г..
ÐпиÑание
CSS-ÑвойÑÑво pointer-events позволÑÐµÑ ÐºÐ¾Ð½ÑÑолиÑоваÑÑ ÑобÑÑиÑ, пÑи коÑоÑÑÑ
ÑÐ»ÐµÐ¼ÐµÐ½Ñ Ð¼Ð¾Ð¶ÐµÑ ÑÑаÑÑ Ð¾Ð±ÑекÑом ÑобÑÑÐ¸Ñ Ð¼ÑÑи. ÐÑли ÑÑо ÑвойÑÑво не задано, Ñо к ÑодеÑÐ¶Ð¸Ð¼Ð¾Ð¼Ñ SVG бÑдÑÑ Ð¿ÑименÑÑÑÑÑ Ñ
аÑакÑеÑиÑÑики знаÑÐµÐ½Ð¸Ñ visiblePainted.
Ðдобавок к ÑÐºÐ°Ð·Ð°Ð½Ð¸Ñ Ñого, ÑÑо ÑÐ»ÐµÐ¼ÐµÐ½Ñ Ð½Ðµ ÑвлÑеÑÑÑ Ð¾Ð±ÑекÑом ÑобÑÑÐ¸Ñ Ð¼ÑÑи, знаÑение none ÑообÑÐ°ÐµÑ ÑобÑÑÐ¸Ñ Ð¼ÑÑи пÑоÑ
одиÑÑ "ÑеÑез" ÑÐ»ÐµÐ¼ÐµÐ½Ñ Ð¸ обÑаÑаÑÑÑÑ Ðº ÑлеменÑÑ, наÑ
одÑÑемÑÑÑ "под" ним.
| ÐаÑалÑное знаÑение | auto |
|---|---|
| ÐÑименÑеÑÑÑ Ðº | вÑе ÑлеменÑÑ |
| ÐаÑледÑеÑÑÑ | да |
| ÐбÑабоÑка знаÑÐµÐ½Ð¸Ñ | как Ñказано |
| Animation type | discrete |
СинÑакÑиÑ
/* ÐлÑÑевÑе Ñлова */
pointer-events: auto;
pointer-events: none;
pointer-events: visiblePainted; /* ÑолÑко Ð´Ð»Ñ SVG */
pointer-events: visibleFill; /* ÑолÑко Ð´Ð»Ñ SVG */
pointer-events: visibleStroke; /* ÑолÑко Ð´Ð»Ñ SVG */
pointer-events: visible; /* ÑолÑко Ð´Ð»Ñ SVG */
pointer-events: painted; /* ÑолÑко Ð´Ð»Ñ SVG */
pointer-events: fill; /* ÑолÑко Ð´Ð»Ñ SVG */
pointer-events: stroke; /* ÑолÑко Ð´Ð»Ñ SVG */
pointer-events: all; /* ÑолÑко Ð´Ð»Ñ SVG */
/* ÐлобалÑнÑе знаÑÐµÐ½Ð¸Ñ */
pointer-events: inherit;
pointer-events: initial;
pointer-events: unset;
ÐнаÑениÑ
auto-
ÐÐ»ÐµÐ¼ÐµÐ½Ñ Ð²ÐµÐ´ÑÑ ÑÐµÐ±Ñ Ñак же, как и еÑли Ð±Ñ ÑвойÑÑво
pointer-eventsне бÑло задано. Ð SVG ÑÑо знаÑение даÑÑ Ñакой же ÑÑÑекÑ, как и знаÑениеvisiblePainted. none-
ÐÐ»ÐµÐ¼ÐµÐ½Ñ Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ ÑелÑÑ (target) ÑобÑÑий мÑÑи; Ñем не менее, ÑелÑÑ ÑобÑÑий мÑÑи могÑÑ Ð±ÑÑÑ ÐµÐ³Ð¾ поÑомки, еÑли иÑ
pointer-eventsÐ¸Ð¼ÐµÐµÑ ÐºÐ°ÐºÐ¾Ðµ-либо дÑÑгое знаÑение. Ð ÑÑом ÑлÑÑае ÑобÑÑÐ¸Ñ Ð¼ÑÑи вÑзовÑÑ Ð¾Ð¶Ð¸Ð´Ð°ÐµÐ¼Ð¾Ðµ ÑÑабаÑÑвание обÑабоÑÑиков на ÑÑом ÑодиÑелÑÑком ÑлеменÑе на пÑÑи к/Ð¾Ñ Ð¿Ð¾Ñомк(Ñ)/(а) во вÑÐµÐ¼Ñ ÑÐ°Ð·Ñ Ð·Ð°Ñ Ð²Ð°Ñа/вÑплÑÑиÑ. visiblePainted-
ТолÑко SVG. ÐÐ»ÐµÐ¼ÐµÐ½Ñ Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ ÑелÑÑ ÑобÑÑÐ¸Ñ Ð¼ÑÑи ÑолÑко когда ÑвойÑÑво
visibilityÑÑÑановлено в знаÑениеvisibleи когда кÑÑÑÐ¾Ñ Ð¼ÑÑи Ð½Ð°Ñ Ð¾Ð´Ð¸ÑÑÑ Ð½Ð°Ð´ внÑÑÑенней ÑаÑÑÑÑ ('fill') ÑлеменÑа, пÑи ÑÑом ÑвойÑÑвоfillÑÑÑановлено в знаÑение оÑлиÑное оÑnone, или над пеÑимеÑÑом ÑлеменÑа ('stroke'), пÑи ÑÑом ÑвойÑÑвоstrokeÑÑÑановлено в знаÑение оÑлиÑное оÑnone. visibleFill-
ТолÑко SVG. ÐÐ»ÐµÐ¼ÐµÐ½Ñ Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ ÑелÑÑ ÑобÑÑÐ¸Ñ Ð¼ÑÑи ÑолÑко когда ÑвойÑÑво
visibilityÑÑÑановлено в знаÑениеvisibleи когда кÑÑÑÐ¾Ñ Ð¼ÑÑи Ð½Ð°Ñ Ð¾Ð´Ð¸ÑÑÑ Ð½Ð°Ð´ внÑÑÑенней ÑаÑÑÑÑ ('fill') ÑлеменÑа. ÐнаÑение ÑвойÑÑваfillне влиÑÐµÑ Ð½Ð° обÑабоÑÐºÑ ÑобÑÑиÑ. visibleStroke-
ТолÑко SVG. ÐÐ»ÐµÐ¼ÐµÐ½Ñ Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ ÑелÑÑ ÑобÑÑÐ¸Ñ Ð¼ÑÑи ÑолÑко когда ÑвойÑÑво
visibilityÑÑÑановлено в знаÑениеvisibleи когда кÑÑÑÐ¾Ñ Ð¼ÑÑи Ð½Ð°Ñ Ð¾Ð´Ð¸ÑÑÑ Ð½Ð°Ð´ пеÑимеÑÑом ÑлеменÑа ('stroke'). ÐнаÑение ÑвойÑÑваstrokeне влиÑÐµÑ Ð½Ð° обÑабоÑÐºÑ ÑобÑÑиÑ. visible-
ТолÑко SVG. ÐÐ»ÐµÐ¼ÐµÐ½Ñ Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ ÑелÑÑ ÑобÑÑÐ¸Ñ Ð¼ÑÑи ÑолÑко когда ÑвойÑÑво
visibilityÑÑÑановлено в знаÑениеvisibleи когда кÑÑÑÐ¾Ñ Ð¼ÑÑи Ð½Ð°Ñ Ð¾Ð´Ð¸ÑÑÑ Ð½Ð°Ð´ внÑÑÑенней ÑаÑÑÑÑ ('fill') или над пеÑимеÑÑом ('stroke') ÑлеменÑа. ÐнаÑение ÑвойÑÑвfillиstrokeне влиÑÑÑ Ð½Ð° обÑабоÑÐºÑ ÑобÑÑиÑ. painted-
ТолÑко SVG. ÐÐ»ÐµÐ¼ÐµÐ½Ñ Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ ÑелÑÑ ÑобÑÑÐ¸Ñ Ð¼ÑÑи ÑолÑко когда кÑÑÑÐ¾Ñ Ð¼ÑÑи Ð½Ð°Ñ Ð¾Ð´Ð¸ÑÑÑ Ð½Ð°Ð´ внÑÑÑенней ÑаÑÑÑÑ ('fill') ÑлеменÑа, пÑи ÑÑом ÑвойÑÑво
fillÑÑÑановлено в знаÑение оÑлиÑное оÑnone, или над пеÑимеÑÑом ÑлеменÑа ('stroke'), пÑи ÑÑом ÑвойÑÑвоstrokeÑÑÑановлено в знаÑение оÑлиÑное оÑnone. ÐнаÑение ÑвойÑÑваvisibilityне влиÑÐµÑ Ð½Ð° обÑабоÑÐºÑ ÑобÑÑиÑ. fill-
ТолÑко SVG. ÐÐ»ÐµÐ¼ÐµÐ½Ñ Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ ÑелÑÑ ÑобÑÑÐ¸Ñ Ð¼ÑÑи ÑолÑко когда кÑÑÑÐ¾Ñ Ð¼ÑÑи Ð½Ð°Ñ Ð¾Ð´Ð¸ÑÑÑ Ð½Ð°Ð´ внÑÑÑенней ÑаÑÑÑÑ ('fill') ÑлеменÑа. ÐнаÑение ÑвойÑÑв
visibilityиfillне влиÑÑÑ Ð½Ð° обÑабоÑÐºÑ ÑобÑÑиÑ. stroke-
ТолÑко SVG. ÐÐ»ÐµÐ¼ÐµÐ½Ñ Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ ÑелÑÑ ÑобÑÑÐ¸Ñ Ð¼ÑÑи ÑолÑко когда кÑÑÑÐ¾Ñ Ð¼ÑÑи Ð½Ð°Ñ Ð¾Ð´Ð¸ÑÑÑ Ð½Ð°Ð´ пеÑимеÑÑом ÑлеменÑа ('stroke'). ÐнаÑение ÑвойÑÑв
visibilityиstrokeне влиÑÑÑ Ð½Ð° обÑабоÑÐºÑ ÑобÑÑиÑ. all-
ТолÑко SVG. ÐÐ»ÐµÐ¼ÐµÐ½Ñ Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ ÑелÑÑ ÑобÑÑÐ¸Ñ Ð¼ÑÑи ÑолÑко когда кÑÑÑÐ¾Ñ Ð¼ÑÑи Ð½Ð°Ñ Ð¾Ð´Ð¸ÑÑÑ Ð½Ð°Ð´ внÑÑÑенней ÑаÑÑÑÑ ('fill') или над пеÑимеÑÑом ('stroke') ÑлеменÑа. ÐнаÑение ÑвойÑÑв
visibility,fillиstrokeне влиÑÑÑ Ð½Ð° обÑабоÑÐºÑ ÑобÑÑиÑ.
ФоÑмалÑнÑй ÑинÑакÑиÑ
pointer-events =
auto |
bounding-box |
visiblePainted |
visibleFill |
visibleStroke |
visible |
painted |
fill |
stroke |
all |
none
ÐÑимеÑÑ
>ÐÑÐ¸Ð¼ÐµÑ 1
/* ÐÑÐ¸Ð¼ÐµÑ 1: СделаÑÑ Ñак, ÑÑо Ð±Ñ Ð²Ñе обÑекÑÑ img не ÑеагиÑовали на пеÑеÑаÑкивание, наведение(:hover), нажаÑие(click) и Ñ.д. */
img {
pointer-events: none;
}
ÐÑÐ¸Ð¼ÐµÑ 2
СделаÑÑ ÑÑÑÐ»ÐºÑ Ð½Ð° ÑеÑÑÑÑ http://example.com не ÑеагиÑÑÑÑей на нажаÑие(click), наведение(:hover) и Ñ.д.
<ul>
<li><a href="https://developer.mozilla.org">MDN</a></li>
<li><a href="http://example.com">example.com</a></li>
</ul>
a[href="http://example.com"] {
pointer-events: none;
}
ÐÑимеÑание
ÐбÑаÑиÑе внимание, ÑÑо пÑедоÑвÑаÑение Ñого, ÑÑÐ¾Ð±Ñ ÑÐ»ÐµÐ¼ÐµÐ½Ñ Ð±Ñл обÑекÑом ÑобÑÑий мÑÑи, Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ pointer-events не обÑзаÑелÑно ознаÑаеÑ, ÑÑо обÑабоÑÑики ÑобÑÑий мÑÑи на ÑÑом ÑлеменÑе не могÑÑ Ð¸Ð»Ð¸ не бÑдÑÑ Ð·Ð°Ð¿ÑÑкаÑÑÑÑ. ÐÑли Ñ Ð¾Ð´Ð½Ð¾Ð³Ð¾ из доÑеÑниÑ
ÑлеменÑов еÑÑÑ ÑвнÑе pointer-events, позволÑÑÑие ÑÑÐ¾Ð¼Ñ ÑебÑÐ½ÐºÑ Ð±ÑÑÑ Ð¾Ð±ÑекÑом ÑобÑÑий мÑÑи, Ñогда лÑбÑе ÑобÑÑиÑ, наÑеленнÑе на ÑÑого доÑеÑнего ÑлеменÑа, бÑдÑÑ Ð¿ÑоÑ
одиÑÑ ÑеÑез ÑодиÑелÑ, когда ÑобÑÑие пеÑемеÑаеÑÑÑ Ð²Ð´Ð¾Ð»Ñ ÑодиÑелÑÑкой ÑепоÑки и запÑÑÐºÐ°ÐµÑ Ð¾Ð±ÑабоÑÑики ÑобÑÑий на ÑодиÑелÑÑком обÑекÑе. ÐонеÑно, лÑÐ±Ð°Ñ Ð°ÐºÑивноÑÑÑ Ð¼ÑÑи в ÑоÑке на ÑкÑане, коÑоÑÐ°Ñ Ð¿Ð¾ÐºÑÑваеÑÑÑ ÑодиÑелем, но не доÑеÑним, не бÑÐ´ÐµÑ Ð¿Ð¾Ð¹Ð¼Ð°Ð½Ð° ни ÑебÑнком, ни ÑодиÑелем (он пÑойдÑÑ ÑеÑез «ÑодиÑелÑÑкий» на «Ñели» под ним).
ÐÑ Ñ
оÑели Ð±Ñ Ð¿ÑедоÑÑавиÑÑ Ð±Ð¾Ð»ÐµÐµ Ñонкий конÑÑÐ¾Ð»Ñ (а не ÑолÑко auto и none) в HTML, когда ÑаÑÑи ÑлеменÑа ÑмогÑÑ Â«Ð¿Ð¾Ð¹Ð¼Ð°ÑÑ» ÑобÑÑÐ¸Ñ Ð¼ÑÑи. ÐÑли Ñ Ð²Ð°Ñ ÐµÑÑÑ ÐºÐ°ÐºÐ¸Ðµ-Ñо конкÑеÑнÑе веÑи, ÑÑÐ¾Ð±Ñ Ð¿Ð¾Ð¼Ð¾ÑÑ Ð½Ð°Ð¼ в ÑеÑении как ÑледÑÐµÑ ÑаÑÑиÑиÑÑ pointer-events Ð´Ð»Ñ HTML, и коÑоÑÑе Ð²Ñ Ñ
оÑели Ð±Ñ ÑделаÑÑ Ñ ÑÑим ÑвойÑÑвом, добавÑÑе иÑ
в Ñаздел «ÐÑполÑзоваÑÑ ÑлÑÑаи» на ÑÑой ÑÑÑаниÑе вики (не беÑпокойÑеÑÑ, Ð¼Ñ Ð²ÑÑ ÑоÑ
Ñаним аккÑÑаÑно).
ХаÑакÑеÑиÑÑики
| Specification |
|---|
| CSS Basic User Interface Module Level 4 > # pointer-events-control > |
| Scalable Vector Graphics (SVG) 2 > # PointerEventsProperty > |
СовмеÑÑимоÑÑÑ Ñ Ð±ÑаÑзеÑами
СмоÑÑиÑе Ñакже
- ÐÑÑибÑÑ SVG
pointer-events - ÐÑÑибÑÑ SVG
visibility - WebKit Specs PointerEventsProperty extended for use in (X)HTML content
- 60fps scrolling using pointer-events: none