fill-rule
Baseline
åºãå©ç¨å¯è½
ãã®æ©è½ã¯åºãå®è£ ããã¦ãããå¤ãã®ãã¼ã¸ã§ã³ã®ç«¯æ«ããã©ã¦ã¶ã¼ã§åä½ãã¾ãã2020å¹´3æä»¥éããã¹ã¦ã®ãã©ã¦ã¶ã¼ã§å©ç¨å¯è½ã§ãã
fill-rule 屿§ã¯ãã¬ã¼ã³ãã¼ã·ã§ã³å±æ§ã§ãå³å½¢ã®å
é¨ã決å®ããããã«ä½¿ç¨ããã¢ã«ã´ãªãºã ãå®ç¾©ãã¾ãã
ã¡ã¢:
ãã¬ã¼ã³ãã¼ã·ã§ã³å±æ§ã§ããããã fill-rule ã«ã¯å¯¾å¿ãã CSS ãããã㣠fill-rule ãããã¾ãã両æ¹ãæå®ãããå ´åã CSS ããããã£ãåªå
ããã¾ãã
ãã®å±æ§ã¯ä»¥ä¸ã® SVG è¦ç´ ã§ä½¿ç¨ãããã¨ãã§ãã¾ãã
ä¾
<svg viewBox="-10 -10 220 120" xmlns="http://www.w3.org/2000/svg">
<!-- fill-rule ã®æ¢å®å¤ -->
<polygon
fill-rule="nonzero"
stroke="red"
points="50,0 21,90 98,35 2,35 79,90" />
<!--
å³å½¢ã®ä¸å¿ã¯ãç¡é大ã¨ã®éã« 2 ã¤ã®
ãã¹ç·åï¼èµ¤ãã¹ããã¼ã¯ã§è¡¨ç¤ºï¼ãããã¾ãã
ãããã£ã¦ãå³å½¢ã®å¤å´ã«ããã¨è¦ãªããã
å¡ãã¤ã¶ããã¾ããã
-->
<polygon
fill-rule="evenodd"
stroke="red"
points="150,0 121,90 198,35 102,35 179,90" />
</svg>
使ç¨ä¸ã®ã¡ã¢
| å¤ | nonzero | evenodd |
|---|---|
| æ¢å®å¤ | nonzero |
| ã¢ãã¡ã¼ã·ã§ã³ | 颿£ |
fill-rule 屿§ã¯ãå³å½¢ã®å
å´ï¼ã¤ã¾ãå¡ãã¤ã¶ãããé åï¼ãã©ã®ããã«æ±ºå®ãããã«ã¤ãã¦ã2 ã¤ã®ãªãã·ã§ã³ãæä¾ãã¦ãã¾ãã
nonzero
å¤ nonzero ã¯ããã®ç¹ããä»»æã®æ¹åã«ç¡é大ã¾ã§å
ç·ãå¼ããå³å½¢ã®ç·åãå
ç·ã¨äº¤å·®ããä½ç½®ã調ã¹ããã¨ã§ãå³å½¢å
ã®ãã®ç¹ã®ãå
å´ããæ±ºå®ãã¾ããã«ã¦ã³ãã 0 ããå§ãããã¹åºéãå
ç·ãå·¦ããå³ã«äº¤å·®ãããã³ã« 1 ã追å ãããã¹åºéãå
ç·ãå³ããå·¦ã«äº¤å·®ãããã³ã« 1 ãæ¸ç®ãã¾ãã交差ã®åæ°ãæ°ããå¾ãçµæãã¼ãã§ããã°ããã®ç¹ã¯ãã¹ã®å¤å´ã§ããããã§ãªããã°å
å´ã§ãã
ä¾
<svg viewBox="-10 -10 320 120" xmlns="http://www.w3.org/2000/svg">
<!-- 交差ãããã¹ã®åºéã«å¯¾ããéã¼ãå¡ãã¤ã¶ãã«ã¼ã«ã®å¹æ -->
<polygon
fill-rule="nonzero"
stroke="red"
points="50,0 21,90 98,35 2,35 79,90" />
<!--
ãã¹ã®åºéãåãæ¹åã«ç§»åããå³å½¢å
ã®å³å½¢ã«å¯¾ããã
å¡ãã¤ã¶ãã«ã¼ã«ãéã¼ãã®å ´åã®å¹æï¼ã©ã¡ãã®æ£æ¹å½¢ã
æè¨åãã«æç»ãããå³ãæ¹åã«ç§»åããï¼
-->
<path
fill-rule="nonzero"
stroke="red"
d="M110,0 h90 v90 h-90 z
M130,20 h50 v50 h-50 z" />
<!--
ãã¹åºéãå対æ¹åã«ç§»åããå³å½¢å
ã®å³å½¢ã«å¯¾ããã
å¡ãã¤ã¶ãã«ã¼ã«ãéã¼ãã®å ´åã®å¹æï¼1 ã¤ã®æ£æ¹å½¢ã¯
æè¨åãã«ããã䏿¹ã¯åæè¨åãã«æç»ããï¼
-->
<path
fill-rule="nonzero"
stroke="red"
d="M210,0 h90 v90 h-90 z
M230,20 v50 h50 v-50 z" />
</svg>
evenodd
evenodd ã®å¤ã¯ããã®ç¹ããä»»æã®æ¹åã«ç¡é大ã¾ã§å
ç·ãå¼ããæå®ãããå³å½¢ã®ãã¹åºéã®ãã¡å
ç·ã横åãæ°ãæ°ãããã¨ã§ãå³å½¢å
ã®ç¹ã®ãå
å´ããæ±ºå®ãã¾ãããã®æ°ã奿°ã®å ´åããã®ç¹ã¯å
å´ã¨ããå¶æ°ã®å ´åããã®ç¹ã¯å¤å´ã¨ãã¾ãã
ä¾
<svg viewBox="-10 -10 320 120" xmlns="http://www.w3.org/2000/svg">
<!-- 交差ãããã¹åºéã«å¯¾ããå¶å¥å¡ãã¤ã¶ãã«ã¼ã«ã®å¹æ -->
<polygon
fill-rule="evenodd"
stroke="red"
points="50,0 21,90 98,35 2,35 79,90" />
<!--
ãã¹åºéãå対æ¹åã«ç§»åããå³å½¢å
ã®å³å½¢ã«å¯¾ããã
å¡ãã¤ã¶ãã«ã¼ã«ãéã¼ãã®å ´åã®å¹æï¼ä¸¡æ¹ã®æ£æ¹å½¢ã
æè¨åãã«ããå³ãã«æç»ããï¼
-->
<path
fill-rule="evenodd"
stroke="red"
d="M110,0 h90 v90 h-90 z
M130,20 h50 v50 h-50 z" />
<!--
ãã¹åºéãå対æ¹åã«ç§»åããå³å½¢å
ã®å³å½¢ã«å¯¾ãã
å¶å¥å¡ãã¤ã¶ãã«ã¼ã«ã®å¹æï¼1 ã¤ã®æ£æ¹å½¢ã¯æè¨åãã«ã
ãã䏿¹ã¯åæè¨åãã«æç»ããï¼
-->
<path
fill-rule="evenodd"
stroke="red"
d="M210,0 h90 v90 h-90 z
M230,20 v50 h50 v-50 z" />
</svg>
仿§æ¸
| 仿§æ¸ |
|---|
| Scalable Vector Graphics (SVG) 2 > # WindingRule > |
ãã©ã¦ã¶ã¼ã®äºææ§
é¢é£æ å ±
- CSS ã®
fill-ruleããããã£