<clipPath>
Baseline
åºãå©ç¨å¯è½
ãã®æ©è½ã¯åºãå®è£ ããã¦ãããå¤ãã®ãã¼ã¸ã§ã³ã®ç«¯æ«ããã©ã¦ã¶ã¼ã§åä½ãã¾ãã2015å¹´7æä»¥éããã¹ã¦ã®ãã©ã¦ã¶ã¼ã§å©ç¨å¯è½ã§ãã
<clipPath> 㯠SVG ã®è¦ç´ ã§ã clip-path ããããã£ã§ä½¿ç¨ãããã¯ãªããã³ã°ãã¹ãå®ç¾©ãã¾ãã
ã¯ãªããã³ã°ãã¹ã¯ãæç»ãé©ç¨ãããé åãå¶éãããæ¦å¿µçã«ã¯ãã¯ãªããã³ã°ãã¹ã§å²ã¾ããé åã®å¤ã«ããé¨åã¯æç»ããã¾ããã
使ç¨ã³ã³ããã¹ã
| ã«ãã´ãªã¼ | ç¡ã |
|---|---|
| 許å¯ããã¦ããå 容 | ä»»æã®æ°ãä»»æã®é åºã®ä»¥ä¸ã®è¦ç´ ã ã¢ãã¡ã¼ã·ã§ã³è¦ç´ 説æçè¦ç´ å³å½¢è¦ç´ <text>ã<use> |
屿§
clipPathUnits-
<clipPath>è¦ç´ ã®ã³ã³ãã³ãã®åº§æ¨ç³»ãå®ç¾©ãã¾ãã å¤ã®å:userSpaceOnUse|objectBoundingBox; ããã©ã«ãå¤:userSpaceOnUse; ã¢ãã¡ã¼ã·ã§ã³: å¯
DOM ã¤ã³ã¿ã¼ãã§ã¤ã¹
ãã®è¦ç´ 㯠SVGClipPathElement ã¤ã³ã¿ã¼ãã§ã¤ã¹ãå®è£
ãã¦ãã¾ãã
ä¾
<svg viewBox="0 0 100 100">
<clipPath id="myClip">
<!--
åã®å¤å´ã«ãããã®ã¯ãã¹ã¦åãåãããããã
è¦ããªããªãã¾ãã
-->
<circle cx="40" cy="35" r="35" />
</clipPath>
<!-- åç
§ç¨ã®å
ã®é»ããã¼ã -->
<path
id="heart"
d="M10,30 A20,20,0,0,1,50,30 A20,20,0,0,1,90,30 Q90,60,50,90 Q10,60,10,30 Z" />
<!--
ã¯ãªããã®åã®ä¸ã«ãã赤ããã¼ãã®ä¸é¨ã ããã
è¦ããããã«ãªã£ã¦ãã¾ãã
-->
<use clip-path="url(#myClip)" href="#heart" fill="red" />
</svg>
/* r å¹¾ä½ããããã£ãå®è£
ãã¦ãããã©ã¦ã¶ã¼åãã« CSS ãå°ã追å */
@keyframes openYourHeart {
from {
r: 0;
}
to {
r: 60px;
}
}
#myClip circle {
animation: openYourHeart 15s infinite;
}
ã¯ãªããã³ã°ãã¹ã¯ãæ¦å¿µçã«ã¯ãåç
§ãã¦ããè¦ç´ ã®ã«ã¹ã¿ã ãã¥ã¼ãã¼ãã¨åãã§ãããããã£ã¦ãè¦ç´ ã®ã¬ã³ããªã³ã°ã«å½±é¿ãä¸ãã¾ãããè¦ç´ ã®å
å¨çãªå½¢ç¶ã«ã¯å½±é¿ãä¸ãã¾ãããã¯ãªããã³ã°ãããè¦ç´ ï¼<clipPath> è¦ç´ ã clip-path ããããã£ã§åç
§ãã¦ããè¦ç´ ãã¾ãã¯åç
§ãã¦ããè¦ç´ ã®åï¼ã®ãã¦ã³ãã£ã³ã°ããã¯ã¹ã¯ãã¯ãªããã³ã°ããã¦ããªãå ´åã¨åãã§ãªããã°ãªãã¾ããã
ããã©ã«ãã§ã¯ãã¯ãªãããããé åã§ã¯ pointer-events ãçºè¡ããã¾ãããä¾ãã°ãåå¾ 10 ã®åãåå¾ 5 ã®åã§ã¯ãªããã³ã°ããã¦ããå ´åãå°ããæ¹ã®åå¾ã®å¤å´ã§ã¯ "click" ã¤ãã³ããåãåããã¨ã¯ããã¾ããã
仿§æ¸
| 仿§æ¸ |
|---|
| CSS Masking Module Level 1 > # ClipPathElement > |
ãã©ã¦ã¶ã¼ã®äºææ§
é¢é£æ å ±
- ã¯ãªããã³ã°ã¨ãã¹ã¯ã® SVG è¦ç´ :
<mask> - CSS ã®
clip-pathãããã㣠- CSS ã¯ãªããã³ã°å ¥é
- CSS ãã¹ã¯ã¢ã¸ã¥ã¼ã«