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å¹´7æ.
pointer-events 㯠CSS ã®ããããã£ã§ãç¹å®ã®ã°ã©ãã£ãã¯è¦ç´ ããã¤ã³ã¿ã¼ã¤ãã³ãã®å¯¾è±¡ã«ãªãå¯è½æ§ã®ããç°å¢ï¼åå¨ããå ´åï¼ãè¨å®ãã¾ãã
試ãã¦ã¿ã¾ããã
pointer-events: auto;
pointer-events: none;
pointer-events: stroke; /* SVG ã®ã¿ */
pointer-events: fill; /* SVG ã®ã¿ */
<section class="flex-column" id="default-example">
<div id="example-element">
<p>
<a href="#">ãªã³ã¯ã®ä¾</a>
</p>
<p>
<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg">
<a xlink:href="#">
<circle
cx="50"
cy="50"
fill="#3E6E84"
r="40"
stroke="#ffb500"
stroke-width="5"></circle>
<text fill="white" text-anchor="middle" x="50" y="55">SVG</text>
</a>
</svg>
</p>
</div>
</section>
#example-element {
font-weight: bold;
}
#example-element a {
color: #009e5f;
}
#example-element svg {
width: 10em;
height: 10em;
}
æ§æ
/* ãã¼ã¯ã¼ãå¤ */
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ã®å¥ã®å¤ãã»ããããã¦ããå ´åã¯ããã®åå«è¦ç´ èªä½ã¯ãã¤ã³ã¿ã¼ã¤ãã³ãã®ã¿ã¼ã²ããã¨ãªããã¾ãããã®å ´åããã¤ã³ã¿ã¼ã¤ãã³ãã¯ã¤ãã³ããã£ããã£/ãããªã³ã°ã®éç¨ã§å¿ è¦ã«å¿ãã¦è¦ªè¦ç´ ã®ã¤ãã³ããªã¹ãã¼ãããªã¬ã¼ãã¾ããã¡ã¢:
pointerenterã¤ãã³ãã¨pointerleaveã¤ãã³ãã¯ããã¤ã³ãã£ã³ã°ããã¤ã¹ãè¦ç´ ã¾ãã¯ãã®åå«ã® 1 ã¤ã«ç§»åãããã¨ãã«çºè¡ããã¾ãããã®ãããpointer-events: noneã親è¦ç´ ã«è¨å®ãããåè¦ç´ ã«è¨å®ããã¦ããªãå ´åã§ãããã¤ã³ã¿ã¼ãåè¦ç´ ã«ç§»åããããåè¦ç´ ããé¢ãããããã¨ã親è¦ç´ ã§ã¤ãã³ããçºçãã¾ãã
SVG ã®ã¿ï¼HTML ã§ã¯å®é¨çï¼
visiblePainted-
SVG ã®å ´åã®ã¿ï¼HTML ã§ã¯å®é¨çï¼ã®å¤ã§ããè¦ç´ ã®
visibilityããããã£ã«visibleãè¨å®ããã¦ãã¦ããã¤ãä¾ãã°fillããããã£ã«none以å¤ã®å¤ãè¨å®ããã¦ããæã®å¡ã (fill)ããããã¯strokeããããã£ãnone以å¤ã®æã®ç· (stroke) ã®ä¸ã«ãã¦ã¹ã«ã¼ã½ã«ãããå ´åã®ã¿ãè¦ç´ ããã¤ã³ã¿ã¼ã¤ãã³ãã®ã¿ã¼ã²ããã«ãªããã¾ãã 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ããããã£ãnone以å¤ã«ã»ããããã¦ããå¡ãã®ï¼ããªãã¡fillï¼è¦ç´ ããããã¯strokeã®ããããã£ãnone以å¤ã«ã»ããããã¦ããç·ã®ï¼ããªãã¡strokeï¼è¦ç´ ã®ä¸ã«ãã¦ã¹ã«ã¼ã½ã«ãããå ´åã«ã®ã¿è¦ç´ ããã¤ã³ã¿ã¼ã¤ãã³ãã®ã¿ã¼ã²ããã«ãªããã¾ããvisibilityããããã£ã®å¤ã¯ã¤ãã³ãããã»ã¹ã«å½±é¿ãä¸ãã¾ããã fill-
SVG ã®å ´åã®ã¿ã®å¤ã§ããå¡ã (fill) ã®ä¸ã«ãã¦ã¹ã«ã¼ã½ã«ãããå ´åã«ã®ã¿è¦ç´ ããã¤ã³ã¿ã¼ã¤ãã³ãã®ã¿ã¼ã²ããã«ãªããã¾ãã
fillããããã£ãvisibilityããããã£ã®å¤ã§ã¤ãã³ãå¦çãå¤åãããã¨ã¯ããã¾ããã stroke-
SVG ã®å ´åã®ã¿ã®å¤ã§ããç· (stroke) ã®ä¸ã«ãã¦ã¹ã«ã¼ã½ã«ãããå ´åã«ã®ã¿è¦ç´ ããã¤ã³ã¿ã¼ã¤ãã³ãã®ã¿ã¼ã²ããã«ãªããã¾ãã
strokeããããã£ãvisibilityã®å¤ã§ã¤ãã³ãå¦çãå¤åãããã¨ã¯ããã¾ããã bounding-box-
SVG ã®ã¿ãè¦ç´ ããã¤ã³ã¿ã¼ã¤ãã³ãã®å¯¾è±¡ã¨ãªãã®ã¯ããã¤ã³ã¿ã¼ãè¦ç´ ã®å¢çããã¯ã¹ä¸ã«ããå ´åã®ã¿ã§ãã
all-
SVG ã®å ´åã®ã¿ï¼HTML ã§ã¯å®é¨çï¼ã®å¤ã§ããå¡ã (
fill) ã¨ç· (stroke) ã®ä¸ã«ãã¦ã¹ã«ã¼ã½ã«ãããå ´åã«ã®ã¿è¦ç´ ããã¤ã³ã¿ã¼ã¤ãã³ãã®ã¿ã¼ã²ããã«ãªããã¾ããfillãstrokeãvisibilityã®å¤ã§ã¤ãã³ãå¦çãå¤åãããã¨ã¯ããã¾ããã
解説
ãã®ããããã£ãæå®ãããªãã¨ã visiblePainted ã®å¤ã®åãæ§è³ªã SVG ã³ã³ãã³ãã«é©ç¨ããã¾ãã
å¤ã none ã«è¨å®ããã¨ãè¦ç´ ããã¤ã³ã¿ã¼ã¤ãã³ãã®ã¿ã¼ã²ããã§ã¯ãªããã¨ã示ãã®ã«å ãããã¤ã³ã¿ã¼ã¤ãã³ããè¦ç´ ããééããã¦ã代ããã«è¦ç´ ã®ãä¸ããã¿ã¼ã²ããã«ãããã¨ãæç¤ºãã¾ãã
pointer-events ã使ç¨ãã¦è¦ç´ ããã¤ã³ã¿ã¼ã¤ãã³ãã®ã¿ã¼ã²ããã¨ãªããã¨ã鲿¢ããã¨ãããã¨ã¯ãå¿
ããããã®è¦ç´ ã®ã¤ãã³ããªã¹ãã¼ãèµ·åãããªãããããã¨ãã§ããªãã¨ããæå³ã§ã¯ããã¾ãããä»®ã«è¦ç´ ã®åè¦ç´ ã®ã²ã¨ã¤ã§ã pointer-events ããã¤ã³ã¿ã¼ã¤ãã³ãã®ã¿ã¼ã²ããã«ãªãããæç¤ºçã«è¨å®ããã¦ããå ´åããã®åè¦ç´ ãã¿ã¼ã²ããã«ããã©ã®ãããªã¤ãã³ãã親è¦ç´ ãééãããã®éã«è¦ªè¦ç´ ã«è¨å®ãããã¤ãã³ããªã¹ãã¼ãèµ·åãã¾ãããã¡ããããããã®åè¦ç´ ã«è§¦ãã親è¦ç´ ã«ã ã触ãããã¦ã¹ã®åãã¯ãåè¦ç´ ã¨è¦ªè¦ç´ ã®ã©ã¡ãã«ãæã¾ãããããã¨ã¯ããã¾ãã (親è¦ç´ ããééããããã®ä¸ã«ãããã®ãã¿ã¼ã²ããã«ãªãã¾ã)ã
pointer-events: none ãæã£ãè¦ç´ ã¯ã Tab ãã¼ã使ç¨ãããã¼ãã¼ãããã²ã¼ã·ã§ã³ã«ãã£ã¦ãã©ã¼ã«ã¹ãåãåãã¾ãã
å ¬å¼å®ç¾©
| åæå¤ | auto |
|---|---|
| é©ç¨å¯¾è±¡ | ãã¹ã¦ã®è¦ç´ |
| ç¶æ¿ | ãã |
| è¨ç®å¤ | æå®éã |
| ã¢ãã¡ã¼ã·ã§ã³ã®ç¨®é¡ | 颿£å¤ |
形弿æ³
pointer-events =
auto |
bounding-box |
visiblePainted |
visibleFill |
visibleStroke |
visible |
painted |
fill |
stroke |
all |
none
ä¾
>åºæ¬çãªä¾
ãã®ä¾ã§ã¯ããã¹ã¦ã®ç»åã®ãã¤ã³ã¿ã¼ã¤ãã³ã (ã¯ãªãã¯ããã©ãã°ãããã¼ç) ãç¡å¹ã«ãã¾ãã
img {
pointer-events: none;
}
ãªã³ã¯ã®ç¡å¹å
ãã®ä¾ã§ã¯ã http://example.com ã¸ã®ãªã³ã¯ã®ãã¤ã³ã¿ã¼ã¤ãã³ããç¡å¹ã«ãã¾ãã
HTML
<ul>
<li><a href="/proxy/developer.mozilla.org">MDN</a></li>
<li><a href="/proxy/example.com">example.com</a></li>
</ul>
CSS
a[href="/proxy/example.com"] {
pointer-events: none;
}
çµæ
仿§æ¸
| Specification |
|---|
| CSS Basic User Interface Module Level 4> # pointer-events-control> |
| Scalable Vector Graphics (SVG) 2> # PointerEventsProperty> |
ãã©ã¦ã¶ã¼ã®äºææ§
é¢é£æ å ±
user-select- SVG ã®
pointer-events屿§ - SVG ã®
visibility屿§ PointerEvent