@namespace CSS ã¢ããã«ã¼ã«
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æ.
@namespace ã¯ã¢ããã«ã¼ã«ã§ã
CSS ã¹ã¿ã¤ã«ã·ã¼ã ã§ä½¿ç¨ãã XML åå空éãå®ç¾©ãã¾ãã
試ãã¦ã¿ã¾ããã
@namespace svg url("/proxy/www.w3.org/2000/svg");
a {
color: orangered;
text-decoration: underline dashed;
font-weight: bold;
}
svg|a {
fill: blueviolet;
text-decoration: underline solid;
text-transform: uppercase;
}
<p>
<a href="#">ããã¯é常㮠HTML ã®ãªã³ã¯ã§ã</a>
</p>
<svg width="250px" viewBox="0 0 250 20" xmlns="http://www.w3.org/2000/svg">
<a href="#">
<text x="0" y="15">ãã㯠SVG ã§ä½æããããªã³ã¯ã§ã</text>
</a>
</svg>
æ§æ
/* æ¢å®ã®åå空é */
@namespace url("XML-namespace-URL");
@namespace "XML-namespace-URL";
/* æ¥é è¾ã¤ãã®åå空é */
@namespace prefix url("XML-namespace-URL");
@namespace prefix "XML-namespace-URL";
解説
å®ç¾©ãããåå空éã¯ãå
¨ç§°ãåã屿§ã»ã¬ã¯ã¿ã¼ã«ããã¦ã鏿ããè¦ç´ ããã®åå空éã«å¶éããããã«ä½¿ç¨ãããã¨ãã§ãã¾ãã @namespace ã«ã¼ã«ã¯ä¸è¬ã«ãè¤æ°ã®åå空éãå«ãææ¸ãæ±ãå ´åâä¾ãã°ãHTML ã§ã¤ã³ã©ã¤ã³ã® SVG ã MathML ãä½µç¨ããå ´åããè¤æ°ã®èªå½ãæ··å¨ãã XML ãªã©ã§ã®ã¿å½¹ç«ã¡ã¾ãã
@namespace ã«ã¼ã«ã¯ãã¹ã¿ã¤ã«ã·ã¼ãå
ã§ãã¹ã¦ã® @charset ããã³ @import ã«ã¼ã«ããå¾ãã¾ãä»ã®ã¢ããã«ã¼ã«ãã¹ã¿ã¤ã«å®£è¨ããåã«é
ç½®ããªããã°ãªãã¾ããã
@namespace ã¯ãã¹ã¿ã¤ã«ã·ã¼ãã®æ¢å®ã®åå空éãå®ç¾©ã§ãã¾ããæ¢å®ã®åå空éãå®ç¾©ããã¨ãã¹ã¦ã®å
¨ç§°ã»ã¬ã¯ã¿ã¼ãè¦ç´ åã»ã¬ã¯ã¿ã¼ï¼å±æ§ã»ã¬ã¯ã¿ã¼ã¯é¤ããå¾è¿°ã®ã¡ã¢ãåç
§ï¼ã¯ãæ¢å®ã®åå空éå
ã®è¦ç´ ã«ã®ã¿é©ç¨ããã¾ãã
ã¾ãã @namespace ã«ã¼ã«ã§åå空éã®æ¥é è¾ãå®ç¾©ã§ãã¾ããå
¨ç§°ã»ã¬ã¯ã¿ã¼ãè¦ç´ åã»ã¬ã¯ã¿ã¼ã屿§ã»ã¬ã¯ã¿ã¼ã«åå空éã®æ¥é è¾ãä»å ããã¨ããããã®ã»ã¬ã¯ã¿ã¼ã¯åå空éããã³è¦ç´ ã¾ãã¯å±æ§ã«ä¸è´ããå ´åã®ã¿ä¸è´ãã¾ãã
HTML ã§ã¯ãæ¢ç¥ã®å¤æ¥è¦ç´ ã¸èªåçã«åå空éãå²ãå½ã¦ããã¾ããããªãã¡ã HTML è¦ç´ ã¯ææ¸å
ã« xmlns 屿§ãåå¨ããªãã¦ã XHTML åå空é (http://www.w3.org/1999/xhtml) ã«å«ã¾ãã¦ãããã®ããã«åä½ãã¾ããã¾ã <svg> ããã³ <math> è¦ç´ ã¯ãé©åãªåå空éï¼ãããã http://www.w3.org/2000/svg ããã³ http://www.w3.org/1998/Math/MathMLï¼ãå²ãå½ã¦ããã¾ãã
ã¡ã¢:
XML ã§ã¯ã屿§ã«ç´æ¥æ¥é è¾ãå®ç¾©ããªãéãï¼ä¾: xlink:hrefï¼ã屿§ã¯åå空éãæã¡ã¾ãããè¨ãæããã¨ã屿§ã¯æå±ããè¦ç´ ããåå空éãç¶æ¿ãã¾ããããã®åä½ã«åãããããã CSS ã®æ¢å®ã®åå空éã¯å±æ§ã»ã¬ã¯ã¿ã¼ã«é©ç¨ãã¾ããã
形弿æ³
@namespace =
@namespace <namespace-prefix>? [ <string> | <url> ] ;
<namespace-prefix> =
<ident>
ä¾
>æ¢å®ãã¤å®ç¾©æ¸ã¿ã®åå空éã®æå®
@namespace url("/proxy/www.w3.org/1999/xhtml");
@namespace svg url("/proxy/www.w3.org/2000/svg");
/* XHTML ã¯æ¢å®ã§æ¥é è¾ã®ãªãåå空éã§ããããããã㯠XHTML ã®ãã¹ã¦ã® <a> è¦ç´ ã鏿ãã¾ã */
a {
}
/* ããã¯ãã¹ã¦ã® SVG <a> è¦ç´ ã鏿ãã¾ã */
svg|a {
}
/* XHTML 㨠SVG ã®ä¸¡æ¹ã® <a> è¦ç´ ã«ä¸è´ãã¾ã */
*|a {
}
仿§æ¸
| Specification |
|---|
| CSS Namespaces Module Level 3> # declaration> |