<use>
Baseline
åºãå©ç¨å¯è½
*
ãã®æ©è½ã¯åºãå®è£ ããã¦ãããå¤ãã®ãã¼ã¸ã§ã³ã®ç«¯æ«ããã©ã¦ã¶ã¼ã§åä½ãã¾ãã2015å¹´7æä»¥éããã¹ã¦ã®ãã©ã¦ã¶ã¼ã§å©ç¨å¯è½ã§ãã
* ãã®æ©è½ã®ä¸é¨ã¯ã対å¿ã¬ãã«ãç°ãªãå ´åãããã¾ãã
<use> è¦ç´ 㯠SVG ææ¸ã®ä¸ãããã¼ãåãåºãã¦ãå¥ã®å ´æã«è¤è£½ãã¾ãã
广ã¯ããããããã®ãã¼ããéå
¬éã® DOM ã«é
ä¸ãå«ãã¦è¤è£½ããã <use> è¦ç´ ãããå ´æã«è²¼ãä»ãããããã®ããã«ãªãã<template> è¦ç´ ã¨ã¨ã¦ãä¼¼ã¦ãã¾ãã
使ç¨ã³ã³ããã¹ã
| ã«ãã´ãªã¼ | ã°ã©ãã£ãã¯è¦ç´ ãã°ã©ãã£ãã¯åç §è¦ç´ ãæ§é çè¦ç´ |
|---|---|
| 許å¯ããã¦ããå 容 | ä»»æã®æ°ãä»»æã®é åºã®ä»¥ä¸ã®è¦ç´ ã ã¢ãã¡ã¼ã·ã§ã³è¦ç´ 説æçè¦ç´ |
屿§
href-
è¤è£½ããå¿ è¦ãããè¦ç´ ããã©ã°ã¡ã³ãã¸ã® URL ã§ããããããè½ã¨ãç©´ã®è©³ç´°ã«ã¤ãã¦ã¯ã使ç¨ä¸ã®ã¡ã¢ãåç §ãã¦ãã ããã
å¤ã®å:<URL>; ããã©ã«ãå¤: none; ã¢ãã¡ã¼ã·ã§ã³: å¯ xlink:href-
è¤è£½ããå¿ è¦ãããè¦ç´ ããã©ã°ã¡ã³ãã®
<IRI>åç §ã§ããhrefã¨xlink:hrefã®ä¸¡æ¹ãåå¨ããå ´åãhrefã§æå®ãããå¤ã使ç¨ããã¾ãã
å¤ã®å:<IRI>; ããã©ã«ãå¤: none; ã¢ãã¡ã¼ã·ã§ã³: å¯è¦å: SVG 2 以éã
xlink:href屿§ã¯hrefã«åã£ã¦ä»£ããã鿍奍ã¨ãªãã¾ããã詳細ã¯xlink:hrefãã¼ã¸ãåç §ãã¦ãã ããã x-
ãã®
<use>è¦ç´ ã«é©ç¨ããã追å ã®æçµãªãã»ããå¤æã® X 座æ¨ã
å¤ã®å:<coordinate>; ããã©ã«ãå¤:0; ã¢ãã¡ã¼ã·ã§ã³: å¯ y-
ãã®
<use>è¦ç´ ã«é©ç¨ããã追å ã®æçµãªãã»ããå¤æã® Y 座æ¨ã
å¤ã®å:<coordinate>; ããã©ã«ãå¤:0; ã¢ãã¡ã¼ã·ã§ã³: å¯ width-
ãã®
<use>è¦ç´ ã®å¹ ã§ãã
å¤ã®å:<length>; ããã©ã«ãå¤:0; ã¢ãã¡ã¼ã·ã§ã³: å¯ height-
ãã®
<use>è¦ç´ ã®é«ãã§ãã
å¤ã®å:<length>; ããã©ã«ãå¤:0; ã¢ãã¡ã¼ã·ã§ã³: å¯
ã¡ã¢:
width ããã³ height 㯠<use> è¦ç´ ã§ã¯ãåç
§ãããè¦ç´ ã« viewBox ãããå ´åãé¤ãã广ãããã¾ãããããªãã¡ã <use> ã <svg> ã¾ã㯠<symbol> è¦ç´ ãåç
§ãã¦ããæã ã广ãããã¾ãã
ã¡ã¢:
SVG2 ããã x, y, width, height ã¯ä½ç½®ããããã£ã¨ãªããããªãã¡ãããã®å±æ§ããã®è¦ç´ ã¸ã® CSS ããããã£ã¨ãã¦ã使ç¨ãããã¨ãã§ããããã«ãªãã¾ããã
DOM ã¤ã³ã¿ã¼ãã§ã¤ã¹
ãã®è¦ç´ 㯠SVGUseElement ã¤ã³ã¿ã¼ãã§ã¤ã¹ãå®è£
ãã¦ãã¾ãã
ä¾
次ã®ä¾ã¯ã<use> è¦ç´ ã使ç¨ãã¦ãå¡ãã¤ã¶ãè²ã¨ç·ã®è²ãç°ãªãåãæç»ããæ¹æ³ã示ãã¦ãã¾ãã
æå¾ã®åã§ã¯ãç·ã¯ myCircle ã§æ¢ã«è¨å®ããã¦ãããããstroke="red" ã¯ç¡è¦ããã¾ãã
<svg viewBox="0 0 30 10" xmlns="http://www.w3.org/2000/svg">
<circle id="myCircle" cx="5" cy="5" r="4" stroke="blue" />
<use href="#myCircle" x="10" fill="blue" />
<use href="#myCircle" x="20" fill="white" stroke="red" />
</svg>
使ç¨ä¸ã®ã¡ã¢
<use> ã®ã»ã¨ãã©ã®å±æ§ã¯ã <use> ããåç
§ãããè¦ç´ ã«æ¢ã«ãã屿§ã䏿¸ããã¾ããã (ãã㯠CSS ã®ã¹ã¿ã¤ã«å±æ§ãã«ã¹ã±ã¼ãã§ã以åãã«è¨å®ããããã®ã䏿¸ãããæ¹æ³ã¨ã¯ç°ãªãã¾ã)ã
åç
§ãããè¦ç´ ã対å¿ãã屿§ããã§ã«å®ç¾©ãã¦ããå ´åã <use> è¦ç´ ã® x, y, width, height, href ã®å屿§ã®ã¿ãå¾è¿°ãããã广ãæã¤ããããã¯æã¤å¯è½æ§ãããã¾ãããã ããåç
§ãããè¦ç´ ã«è¨å®ããã¦ããªããã®ä»ã®å±æ§ã¯ã <use> è¦ç´ ã«é©ç¨ãããå¯è½æ§ãããã¾ãã
ã¯ãã¼ã³ããããã¼ãã¯å
¬éãããªãã®ã§ã CSS ã使ã£ã¦ <use> è¦ç´ ã¨ãã®é ããåå«è¦ç´ ã«ã¹ã¿ã¤ã«ä»ããããå ´åã¯æ³¨æãå¿
è¦ã§ããCSS ã®ç¶æ¿ã使ç¨ãã¦æç¤ºçã«è¦æ±ããªãéããCSS 屿§ã¯é ãããè¤è£½ã® DOM ã«ãã£ã¦ç¶æ¿ããããã¨ãä¿è¨¼ããã¾ããã
ã»ãã¥ãªãã£ä¸ã®çç±ã§ããã©ã¦ã¶ã¼ã¯åä¸ãªãªã¸ã³ããªã·ã¼ã <use> è¦ç´ ã«é©ç¨ãã¦ã href 屿§ã«ãããªãªã¸ã³ãã¾ããã URL ãèªã¿è¾¼ããã¨ãæå¦ãããã¨ãããã¾ããç¾å¨ã®ã¨ããã <use> è¦ç´ ã®åä¸ãªãªã¸ã³ããªã·ã¼ãè¨å®ããæ¹æ³ã¯å®ç¾©ããã¦ãã¾ããã
å¤é¨ãªã½ã¼ã¹ãã <use> ã«ãããªã½ã¼ã¹ãèªã¿è¾¼ã¿
å¤é¨ SVG ãã¡ã¤ã«ãã <use> è¦ç´ ã使ç¨ãã¦ããã¼ããèªã¿è¾¼ããã¨ãã§ãã¾ãããã¡ã¤ã«ã®ãã¹ãæå®ããå¾ãèªã¿è¾¼ããã¼ãã® id ãæã URL ãã©ã°ã¡ã³ããç¶ãã¦æå®ãã¾ãã
<svg>
<use href="../assets/my-svg.svg#my-fragment"></use>
</svg>
éå»ã«ã¯ãURL ãã©ã°ã¡ã³ãã¯ãSVG ææ¸å
¨ä½ãèªã¿è¾¼ãã ãã®å ´åã§ãã常ã«å¿
è¦ã¨ããã¦ãã¾ããããã®ãããªå ´åãid 㯠SVG ã®ã«ã¼ãè¦ç´ ã«å«ãããã¦ãã¾ããã
<svg xmlns="http://www.w3.org/2000/svg" id="my-fragment">
<circle cx="150" cy="100" r="80" fill="green" />
</svg>
ããããç¾ä»£ã®å®è£
ã§ã¯æ´æ°ãå ãããã¦ãããå¤é¨ææ¸å
¨ä½ãèªã¿è¾¼ã¿ããå ´åãURL ãã©ã°ã¡ã³ããªãã§åç
§ã§ããããã«ãªãã¾ããï¼ã¾ããSVG ææ¸ã®ã«ã¼ãè¦ç´ ã« id ãæå®ããå¿
è¦ããªããªãã¾ããï¼ã
<svg>
<use href="../assets/my-svg.svg"></use>
</svg>
ãã©ã¦ã¶ã¼ã®å¯¾å¿ã«ã¤ãã¦ã¯ããã©ã¦ã¶ã¼ã®äºææ§ä¸è¦§è¡¨ã確èªãã¦ãã ããã
ãã¼ã¿ URI ãã <use> ã§ãªã½ã¼ã¹ãèªã¿è¾¼ã¿
ã»ãã¥ãªãã£ä¸ã®çç±ãããhref 屿§ã«ãã¼ã¿ URI ã§ãªã½ã¼ã¹ãèªã¿è¾¼ããã¨ã¯éæ¨å¥¨ã§ãããã㯠<use href="data:..." ã®å ´åã ãã§ãªããset ã¾ã㯠setAttribute ã¡ã½ããã使ç¨ã㦠href ãè¨å®ããå ´åã«ãé©ç¨ããã¾ãã
ãã¡ããããã©ã¦ã¶ã¼ã®å¯¾å¿ã«ã¤ãã¦ã¯ããã©ã¦ã¶ã¼ã®äºææ§ä¸è¦§è¡¨ã確èªãã¦ãã ããã
仿§æ¸
| 仿§æ¸ |
|---|
| Scalable Vector Graphics (SVG) 2 > # UseElement > |