CSS stroke-dasharray ããããã£
Baseline
åºãå©ç¨å¯è½
ãã®æ©è½ã¯åºãå®è£ ããã¦ãããå¤ãã®ãã¼ã¸ã§ã³ã®ç«¯æ«ããã©ã¦ã¶ã¼ã§åä½ãã¾ãã2017å¹´4æä»¥éããã¹ã¦ã®ãã©ã¦ã¶ã¼ã§å©ç¨å¯è½ã§ãã
stroke-dasharray 㯠CSS ã®ããããã£ã§ãSVG å³å½¢ã®ã¹ããã¼ã¯æç»ã«ä½¿ç¨ãããããã·ã¥ï¼ç·ï¼ã¨ããéã®ãã¿ã¼ã³ãå®ç¾©ãã¾ããæå®ãããå ´åãè¦ç´ ã® stroke-dasharray 屿§ã䏿¸ããã¾ãã
ãã®ããããã£ã¯ããããã SVG å³å½¢ã¾ãã¯ããã¹ãã³ã³ãã³ãè¦ç´ ï¼å®å
¨ãªä¸è¦§ã¯ stroke-dasharray ãåç
§ï¼ã«é©ç¨ããã¾ãããç¶æ¿ããããã£ã§ããããã<g> ãªã©ã®è¦ç´ ã«é©ç¨ãããå ´åãåå«è¦ç´ ã®ã¹ããã¼ã¯ã«ãæå³ãã广ãåã³ã¾ãã
æ§æ
/* ãã¼ã¯ã¼ã */
stroke-dasharray: none;
/* æ°å¤ãé·ãããã¼ã»ã³ãå¤ */
stroke-dasharray: 2px, 5px;
stroke-dasharray: 20%, 50%;
stroke-dasharray: 2, 5;
/* 以ä¸ã® 2 ã¤ã®ã«ã¼ã«ã¯åç */
stroke-dasharray: 2, 5, 3;
stroke-dasharray: 2, 5, 3, 2, 5, 3;
/* ã°ãã¼ãã«å¤ */
stroke-dasharray: inherit;
stroke-dasharray: initial;
stroke-dasharray: revert;
stroke-dasharray: revert-layer;
stroke-dasharray: unset;
å¤
å¤ã¯ãã«ã³ãããã¯ã¤ãã¹ãã¼ã¹ã§åºåããã <number>ã<length>ã<percentage> ã®å¤ã®ãªã¹ãã§ããã交äºã«ç¾ããããã·ã¥ã¨ããéã®é·ããæå®ãã¾ããã¾ãã¯ãã¼ã¯ã¼ã none ãæå®ãã¾ãã奿°ã®å¤ãæå®ãããå ´åãå¶æ°ã®å¤ãè¨å®ããããã«å¤å
¨ä½ãç¹°ãè¿ããã¾ãã
none-
ã¹ããã¼ã¯ã¯ç ´ç·ãªãã§æç»ããã¾ããæ¢å®å¤ã§ãã
<number>-
SVG åä½ã®æ°å¤ã§ãããç¾å¨ã®åä½ç©ºéã«ãã£ã¦å®ç¾©ããããµã¤ãºã§ããè² ã®å¤ã¯ç¡å¹ã§ãã
<length>-
ãã¯ã»ã«åä½ã¯ SVG åä½ã¨åæ§ã«æ±ããã¾ãï¼ä¸è¨ã®
<number>åç §ï¼ãemãªã©ã®ãã©ã³ããã¼ã¹ã®é·ãã¯ãè¦ç´ ã®ããã¹ããµã¤ãºã«å¯¾ãã SVG å¤ãåºæºã«è¨ç®ããã¾ãããã®ä»ã®é·ãã®åä½ã®å¹æã¯ãã©ã¦ã¶ã¼ã«ãã£ã¦ç°ãªãå ´åãããã¾ããè² ã®å¤ã¯ç¡å¹ã§ãã <percentage>-
ãã¼ã»ã³ãå¤ã¯ãç¾å¨ã® SVG ãã¥ã¼ãã¼ãã®æ£è¦åããã対è§ç·ããã®ç¸å¯¾å¤ã§ããã㯠ã§è¨ç®ããã¾ããè² ã®å¤ã¯ç¡å¹ã§ãã
å ¬å¼å®ç¾©
| åæå¤ | none |
|---|---|
| é©ç¨å¯¾è±¡ | <circle>, <ellipse>, <line>, <path>, <polygon>, <polyline>, and <rect> elements in an svg |
| ç¶æ¿ | ãã |
| ãã¼ã»ã³ãå¤ | refer to the normalized diagonal measure of the current SVG viewport's applied viewBox, or of the viewport itself if no viewBox is specified |
| è¨ç®å¤ | A comma separated list of absolute lengths or percentages, numbers converted to absolute lengths first, or keyword specified |
| ã¢ãã¡ã¼ã·ã§ã³ã®ç¨®é¡ | å復å¯è½ãªã¹ã |
形弿æ³
stroke-dasharray =
none |
[ <length-percentage> | <number> ]+#
<length-percentage> =
<length> |
<percentage>
ä¾
>åºæ¬çãªç ´ç·ã®é å
ãã®ä¾ã¯ã空ç½åºåãã® <number> å¤ã使ç¨ãã stroke-dasharray ããããã£ã®åºæ¬çãªä½¿ç¨æ³ã示ãã¦ãã¾ãã
HTML
ã¾ããåºæ¬ç㪠SVG ã®ç©å½¢ã®å³å½¢ãè¨å®ãã¾ãããã®ç©å½¢ã«ã¯ãå¹
2 ã®èµ¤ãã¹ããã¼ã¯ãé©ç¨ããã¾ãã
<svg viewBox="0 0 100 50" width="500" height="250">
<rect
x="10"
y="10"
width="80"
height="30"
fill="none"
stroke="red"
stroke-width="2" />
</svg>
CSS
ã¹ããã¼ã¯ã®ç ´ç·ãã¿ã¼ã³ãã10 åä½ã®ããã·ã¥ã«ç¶ã㦠5 åä½ã®ããéã¨ãã¦å®ç¾©ãã¾ããããã¯ããã·ã¥éã®ããéãããã·ã¥èªä½ã®ååã®é·ãã«ãªããã¨ãæå³ãã¾ãã
rect {
stroke-dasharray: 10 5;
}
çµæ
ã¹ããã¼ã¯ãè§ãæ²ããéããã¿ã¼ã³ã¯ãã®ã¾ã¾å¼ãç¶ããããããªç¶æ ã«ãªãã¾ããå·¦ä¸é ã§ã¯ãã¹ããã¼ã¯ã®å§ç¹ã¨çµç¹ã交ããå°ç¹ã§ã10 åä½ã®é·ãã®å é ããã·ã¥ããçµè·¯ã®æ«å°¾ã§è¦ãããããã·ã¥ãã¿ã¼ã³ã®ä¸é¨ã¨çµåãã¦ããããã«è¦ãã10 åä½ããé·ãç·ãè§ãæ²ãã£ã¦ä¼¸ã³ã¦ããããã«è¦ãã¾ãã
ç ´ç·ã®é åã®ç¹°ãè¿ã
ãã®ä¾ã§ã¯ã奿°åã®ã«ã³ãåºåãã® <number> å¤ãããã奿°åã®å¤ãä¸ããããå ´åã«ã¯ãå¶æ°åã®å¤ãè¨å®ããããã«å¤ãç¹°ãè¿ãããæ§åã示ãã¦ãã¾ãã
HTML
ãã®å ´åã2 ã¤ã®ç©å½¢ãå®ç¾©ãã¾ãã
<svg viewBox="0 0 100 100" width="500" height="500">
<rect
x="10"
y="10"
width="80"
height="30"
fill="none"
stroke="red"
stroke-width="2" />
<rect
x="10"
y="60"
width="80"
height="30"
fill="none"
stroke="red"
stroke-width="2" />
</svg>
CSS
æåã®ç©å½¢ã«ã¯ãããã·ã¥ã 5ãããéã 5ãããã·ã¥ã 1 ã®ç ´ç·é
å 5, 5, 1 ãå®ç¾©ãã¦ãã¾ãããã ããããã¯æ°å¤ã奿°åã§ãããããä¸é£ã®æ°å¤å
¨ä½ãç¹°ãè¿ãããçµæã¨ã㦠2 çªç®ã®ç©å½¢ã«é©ç¨ãããå¤ã¨åä¸ã®å¤ãçæããã¾ãã
rect:nth-of-type(1) {
stroke-dasharray: 5, 5, 1;
}
rect:nth-of-type(2) {
stroke-dasharray: 5, 5, 1, 5, 5, 1;
}
çµæ
å¶æ°ã®æ°åãå¿ è¦ãªçç±ã¯ããã¹ã¦ã®ç ´ç·é åãããã·ã¥ã§å§ã¾ããããéã§çµããããã§ãããããã£ã¦ãå®ç¾©ããããã¿ã¼ã³ã¯ã5 åä½ã®ããã·ã¥ã5 åä½ã®ããéã1 åä½ã®ããã·ã¥ã5 åä½ã®ããéã5 åä½ã®ããã·ã¥ãããã¦1 åä½ã®ããéã¨ãªãã¾ããçµæã®ã¹ããã¼ã¯ã§ã¯ã5 åä½ã®ããã·ã¥ 2 ã¤ã®éã« 1 åä½ã®ããéãåå¨ããåç®æããããã·ã¥é åãåå§åããä½ç½®ã示ãã¦ãã¾ãã
ãã¼ã»ã³ãå¤ã¨ãã¯ã»ã«å¤
ãã®ä¾ã¯ãstroke-dasharray ããããã£å¤å
ã§ <percentage> ããã³ <length> å¤ã使ç¨ããæ¹æ³ã示ãã¦ãã¾ãã
HTML
åã®ä¾ã¨åæ§ã«ã2 ã¤ã®ç©å½¢ãå®ç¾©ãã¦ãã¾ãã
<svg viewBox="0 0 100 100" width="500" height="500">
<rect
x="10"
y="10"
width="80"
height="30"
fill="none"
stroke="red"
stroke-width="2" />
<rect
x="10"
y="60"
width="80"
height="30"
fill="none"
stroke="red"
stroke-width="2" />
</svg>
CSS
ä»åã¯ãåãªãæ°å¤ã®ç¾ åã§ã¯ãªãããã¯ã»ã«åä½ã¨ãã¼ã»ã³ãå¤ã使ç¨ãã¾ãã
rect:nth-of-type(1) {
stroke-dasharray: 5px, 5px, 1px;
}
rect:nth-of-type(2) {
stroke-dasharray: 5%, 5%, 1%;
}
çµæ
çµæã¯ãåã®ä¾ã®çµæã¨æ¬è³ªçã«åºå¥ãã¤ãã¾ããã
仿§æ¸
| 仿§æ¸ |
|---|
| CSS Fill and Stroke Module Level 3 > # stroke-dasharray > |