Namespace separator
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ì.
ë¤ìì¤íì´ì¤ ì íì (|)ë ì íì를 ë¤ìì¤íì´ì¤ë¡ë¶í° ë¶ë¦¬íì¬, íì
ì íìì ë¤ìì¤íì´ì¤ í¹ì ë¤ìì¤íì´ì¤ê° ìë ê²½ì°ë¥¼ ìë³í©ëë¤.
/* ë¤ìì¤íì´ì¤ ë´ ë§í¬ë myNameSpaceë¡ ëª
ëª
í©ëë¤. */
myNameSpace|a {
font-weight: bold;
}
/* (ë¤ìì¤íì´ì¤ê° ìë ê²½ì°ë¥¼ í¬í¨íë) ì´ë í ë¤ìì¤íì´ì¤ ë´ì ë¨ë½ */
*|p {
color: darkblue;
}
/* í¤ë© 2ë ë¤ìì¤íì´ì¤ ë´ì ìì§ ììµëë¤. */
|h2 {
margin-bottom: 0;
}
íì
ì íìì ì ì²´ ì íìë ì íì ì¸ ë¤ìì¤íì´ì¤ ì»´í¬ëí¸ë¥¼ íì©í©ëë¤. ë¤ìì¤íì´ì¤ê° ì´ì ì @namespace를 íµí´ ì ìëìë¤ë©´ ì´ ì íìë¤ ìì ë¤ìì¤íì´ì¤ì ì´ë¦ì ë¤ìì¤íì´ì¤ 구ë¶ì (|)ë¡ êµ¬ë¶íì¬ ë¤ìì¤íì´ì¤íí ì ììµëë¤. ì´ë ì¸ë¼ì¸ SVG ë MathMLê° ìë HTMLì´ë ì¬ë¬ ì´íê° ê²°í©ë XMLì²ë¼ ë¤ìì ë¤ìì¤íì´ì¤ë¥¼ í¬í¨í 문ì를 ë¤ë£¨ë ê²½ì°ì ì ì©í©ëë¤.
ns|h1-nsë¤ìì¤íì´ì¤ ë´<h1>ììì ì¼ì¹í©ëë¤.*|h1- 모ë<h1>ììì ì¼ì¹í©ëë¤.|h1- ì ì¸ëê±°ë ììë ë¤ìì¤íì´ì¤ ë°ì 모ë<h1>ììì ì¼ì¹í©ëë¤.
구문
namespace|element { style properties }
ìì
기본ì ì¼ë¡, HTML ì´ë SVG ìì ë´ì ìë 모ë ììë http://www.w3.org/1999/xhtml ë° http://www.w3.org/2000/svg ìì ë¤ìì¤íì´ì¤ê° ììì ììí기 ë문ì ë¤ìì¤íì´ì¤ë¥¼ ê°ì§ê³ ììµëë¤. ë¹ ë¤ìì¤íì´ì¤ íë¼ë¯¸í°ë¥¼ ê°ì§ document.createElementNS ë©ìëë ë¤ìì¤íì´ì¤ê° ìë ìì를 ìì±í ì ììµëë¤.
ëª ëª ë ë¤ìì¤íì´ì¤ ìì
ì´ ìì ììë 모ë ììê° ë¤ìì¤íì´ì¤ì ìí´ ììµëë¤.
HTML
ë¤ìì¤íì´ì¤ê° ìë¤ë©´ ì´ë ëª ìì ì¼ë¡ HTML ë´ì ì ì¸ëê±°ë SVG ë´ì ì¡´ì¬í©ëë¤.
<p>ì´ ë¨ë½ì <a href="#">ë§í¬ê° ì¡´ì¬í©ëë¤</a>.</p>
<svg width="400" viewBox="0 0 400 20">
<a href="#">
<text x="0" y="15">ë§í¬ë SVG ë´ë¶ìì ìì±ëììµëë¤.</text>
</a>
</svg>
CSS
CSSë ë ê°ì ë¤ìì¤íì´ì¤ë¥¼ ì ì¸íê³ ì ì ë§í¬ (a), ë¤ìì¤íì´ì¤ê° ìë ë§í¬ (|a), 모ë ë¤ìì¤íì´ì¤ ëë ë¤ìì¤íì´ì¤ê° ìë ë§í¬ (*|a), ê·¸ë¦¬ê³ ë ê°ì ë¤ë¥¸ ì´ë¦ì´ ì§ì ë ë¤ìì¤íì´ì¤ (svgNamespace|a ì htmlNameSpace|a) ì ì¤íì¼ì ì§ì í©ëë¤.
@namespace svgNamespace url("/proxy/www.w3.org/2000/svg");
@namespace htmlNameSpace url("/proxy/www.w3.org/1999/xhtml");
/* 기본 ë¤ìì¤íì´ì¤ì ìë 모ë `<a>`, ì´ ê²½ì° ëª¨ë `<a>` */
a {
font-size: 1.4rem;
}
/* ë¤ìì¤íì´ì¤ê° ìë ê²½ì° */
|a {
text-decoration: wavy overline lime;
font-weight: bold;
}
/* (ë¤ìì¤íì´ì¤ê° ìë ê²½ì°ë¥¼ í¬í¨í) 모ë ë¤ìì¤íì´ì¤ */
*|a {
color: red;
fill: red;
font-style: italic;
}
/* <svg> ì½í
ì¸ ë´ì ìë svgNamespace ë¤ìì¤íì´ì¤ */
svgNamespace|a {
color: green;
fill: green;
}
/* HTML 문ì ë´ì ìë htmlNameSpace ë¤ìì¤íì´ì¤ */
htmlNameSpace|a {
text-decoration-line: line-through;
}
ê²°ê³¼
ë¤ìì¤íì´ì¤ ë´ì ìì§ ìì ë§í¬ ì íì |a ë ì´ë¤ ë§í¬ìë ì¼ì¹íì§ ììµëë¤. HTMLììë http://www.w3.org/1999/xhtml ê° ëª
ìíë ê²ì²ë¼ ëª
ìì ì¼ë¡ ë¤ìì¤íì´ì¤ê° ì ì¸ëì§ ìììì§ë¼ë ë¤ìì¤íì´ì¤ ë´ì 모ë HTML를 ì미í©ëë¤. SVGììë ë¤ìì¤íì´ì¤ê° ëª
ìì ì¼ë¡ ì ì¸ëì§ ìììì§ë¼ë http://www.w3.org/2000/svg ë¤ìì¤íì´ì¤ë¥¼ ììí©ëë¤. ì´ë 모ë ì½í
ì¸ ê° ìµì íëì ë¤ìì¤íì´ì¤ ë´ì ìë¤ë ê²ì ì미í©ëë¤.
기본 ë¤ìì¤íì´ì¤ì ë¤ìì¤íì´ì¤ê° ìë ê²
ì´ ìì ììë JavaScript를 ì¬ì©íì¬ ë¤ìì¤íì´ì¤ê° ìë ìì를 ìì±íê³ ì´ë¥¼ 문ì ë´ì ì½ì
í©ëë¤. @namespace 를 ì¬ì©íì¬ ì´ë¦ì´ ì§ì ëì§ ìì ë¤ìì¤íì´ì¤ë¥¼ ì ìí¨ì¼ë¡ì¨ SVG ë¤ìì¤íì´ì¤ë¥¼ 기본 ë¤ìì¤íì´ì¤ë¡ ì¤ì í©ëë¤.
ì°¸ê³ : 기본 ëë ì´ë¦ì´ ì§ì ëì§ ìì ë¤ìì¤íì´ì¤ê° ì ìë ê²½ì°, ì ì²´ ì íì ë° íì ì íìë í´ë¹ ë¤ìì¤íì´ì¤ì ìììë§ ì ì©ë©ëë¤.
HTML
HTML ë´ í¹ì SVG ë´ ì´ë í ë¤ìì¤íì´ì¤ë ëª ìì ì¼ë¡ ì ì¸ëì§ ìììµëë¤.
<p>ììì ì¸ HTML ë¤ìì¤íì´ì¤ ë´ <a href="#">ë§í¬</a></p>
<svg width="400" viewBox="0 0 400 20">
<a href="#">
<text x="0" y="15">SVG ë´ìì ë§í¬ê° ìì±ëììµëë¤.</text>
</a>
</svg>
JavaScript
document.createElementNS를 ì´ì©í JavaScriptììë ìµì»¤ ë§í¬ë¥¼ ë¤ìì¤íì´ì¤ ìì´ ìì±í ì ìê³ ì´ë¥¼ ë§í¬ì ì¶ê°í©ëë¤.
// create 'no namespace' anchor
const a = document.createElementNS("", "a");
a.href = "#";
a.appendChild(document.createTextNode("Link created without a namespace"));
document.body.appendChild(a);
CSS
@namespace를 ì´ì©íì¬ ë¤ìì¤íì´ì¤ë¥¼ ì ì¸í©ëë¤. ë¤ìì¤íì´ì¤ì ì´ë¦ì ìëµíë©´, @namespace ì ì¸ì 기본 ë¤ìì¤íì´ì¤ë¥¼ ìì±í©ëë¤.
/* ì´ë¦ì ìëµíë ê²ì¼ë¡ ì´ë SVG를 기본 ë¤ìì¤íì´ì¤ë¡ ì¤ì í©ëë¤. */
@namespace url("/proxy/www.w3.org/2000/svg");
/* (SVGì ì¤ì ë) 기본 ë¤ìì¤íì´ì¤ `<a>` */
a {
font-size: 1.4rem;
}
/* (SVGì ì¤ì ë) 기본 ë¤ìì¤íì´ì¤ ë´ì ìë `<svg>` ì `<p>` */
svg,
p {
border: 5px solid gold;
}
/* ë¤ìì¤íì´ì¤ ì¸ë¶ì ë§í¬ */
|a {
text-decoration: wavy underline purple;
font-weight: bold;
}
/* ë¤ìì¤íì´ì¤ê° ìê±°ë ì´ë í ë¤ìì¤íì´ì¤ì ë§í¬ */
*|a {
font-style: italic;
color: magenta;
fill: magenta;
}
ê²°ê³¼
ë¤ìì¤íì´ì¤ 구ë¶ìê° ìë ì íì a ë SVG <a> ìììë§ ì¼ì¹í©ëë¤. ì´ë SVGê° ê¸°ë³¸ ë¤ìì¤íì´ì¤ë¡ ì¤ì ëì´ ìë ê²ê³¼ ì°ê´ì´ ììµëë¤.
ë¤ìì¤íì´ì¤ê° ìë ì íì |a ë, JavaScriptë¡ ì ìíê³ ì¶ê°í <a> ì ì¼ì¹í©ëë¤. í´ë¹ ë
¸ëë 기본 ë¤ìì¤íì´ì¤ê° ìë ì ì¼í ë
¸ëì´ê¸° ë문ì
ëë¤.
ëª ì¸ì
| Specification |
|---|
| CSS Namespaces Module Level 3> # declaration> |