CSSåå空éã«ããXMLææžã®ã¹ã¿ã€ãªã³ã°ã«é¢ããè©³çŽ°è§£èª¬ãæ§æãé©ç𿹿³ããŠã§ãéçºè åãã®ãã¹ããã©ã¯ãã£ã¹ãç¶²çŸ ã
CSS åå空éã«ãŒã«ïŒXMLãæ£ç¢ºã«ã¹ã¿ã€ãªã³ã°ãã
ã«ã¹ã±ãŒãã£ã³ã°ã¹ã¿ã€ã«ã·ãŒãïŒCSSïŒã¯ãäŒçµ±çã«HTMLææžã®ã¹ã¿ã€ãªã³ã°ã«äœ¿çšãããŠããŸãããããããCSSã¯XMLïŒExtensible Markup LanguageïŒææžã«ãé©çšã§ããŸããããã§CSSåå空éãç»å Žããé¢é£ä»ããããåå空éã«åºã¥ããŠXMLæ§é å ã®ç¹å®ã®èŠçŽ ãã¿ãŒã²ããã«ããã¡ã«ããºã ãæäŸããŸããCSSåå空éãçè§£ããããšã¯ãXHTMLãSVGãMathMLããã®ä»ã®XMLããŒã¹ã®ãã¯ãããžãŒãæ±ãéçºè ã«ãšã£ãŠäžå¯æ¬ ã§ãã
XMLåå空éãšã¯ïŒ
XMLåå空éã¯ãåäžã®XMLææžå ã§ç°ãªããœãŒã¹ããã®èªåœãæ··åšãããéã«ãèŠçŽ åã®è¡çªãåé¿ããæ¹æ³ã§ããåå空éã¯Uniform Resource IdentifierïŒURIïŒã«ãã£ãŠèå¥ãããéåžžã¯URLã§ããURIèªäœãæå¹ãªãªãœãŒã¹ãæãå¿ èŠã¯ãããŸããããåå空éã®äžæã®èå¥åãšããŠæ©èœããŸããXMLææžå ã«ãèŠçŽ ãäžæã«èå¥ããããå¥ã®äžçããäœæããæ¹æ³ã ãšèããŠãã ããã
HTMLãšScalable Vector GraphicsïŒSVGïŒã®äž¡æ¹ãå«ãææžãèããŠã¿ãŸããããHTMLãšSVGã¯ã©ã¡ãã<title>ãšããèŠçŽ ãæã£ãŠããŸããåå空éããªãå Žåããã©ãŠã¶ã¯ã©ã®<title>èŠçŽ ã«ã¹ã¿ã€ã«ãé©çšãã¹ããåãããŸããã
XMLã§ã®åå空éã®å®£è𿹿³ã®äŸã以äžã«ç€ºããŸãã
<?xml version="1.0" encoding="UTF-8"?>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:svg="http://www.w3.org/2000/svg">
<head>
<title>åå空éã®ããããã¥ã¡ã³ã</title>
</head>
<body>
<h1>ããã«ã¡ã¯äžçïŒ</h1>
<svg:svg width="100" height="100">
<svg:circle cx="50" cy="50" r="40" stroke="green" stroke-width="4" fill="yellow" />
</svg:svg>
</body>
</html>
ãã®äŸã§ã¯ïŒ
xmlns="http://www.w3.org/1999/xhtml"ã¯ã<html>èŠçŽ ãšãã®ãã¹ãŠã®åå«ïŒãªãŒããŒã©ã€ããããªãéãïŒã®ããã©ã«ãã®åå空éã宣èšããŸããããã¯ã<head>ã<title>ã<body>ã<h1>ã®ãããªèŠçŽ ãXHTMLåå空éã«å±ããããšãæå³ããŸããxmlns:svg="http://www.w3.org/2000/svg"ã¯ãSVGåå空éã«å¯ŸããŠæ¥é èŸãsvgããæã€åå空éã宣èšããŸãã<svg:svg>ã<svg:circle>ã®ãããªèŠçŽ ã¯SVGåå空éã«å±ããŸãã
CSSåå空éã®ä»çµã¿
CSSåå空éã䜿çšãããšãåå空éã«åºã¥ããŠèŠçŽ ã«ã¹ã¿ã€ã«ãé©çšã§ããŸããããã¯ãCSSå
ã®@namespace at-ruleã䜿çšããŠå®çŸãããŸãã@namespace ã«ãŒã«ã¯ãååç©ºéæ¥é èŸãç¹å®ã®åå空éURIã«é¢é£ä»ããŸãã
åºæ¬çãªæ§æã¯æ¬¡ã®ãšããã§ãã
@namespace æ¥é èŸ "åå空éURI";
ããã§ïŒ
æ¥é èŸã¯ãCSSã§äœ¿çšãããååç©ºéæ¥é èŸã§ãã"åå空éURI"ã¯ãåå空éãèå¥ããURIã§ãã
ååç©ºéæ¥é èŸã宣èšããããCSSã»ã¬ã¯ã¿ãŒã§ããã䜿çšããŠããã®åå空éã«å±ããèŠçŽ ãã¿ãŒã²ããã«ããããšãã§ããŸãã
CSSåå空éã®é©çšïŒå®è·µçãªäŸ
äŸ1ïŒSVGèŠçŽ ã®ã¹ã¿ã€ãªã³ã°
åã®äŸã®SVGåãã¹ã¿ã€ãªã³ã°ããããšããŸããããæ¬¡ã®CSSã䜿çšã§ããŸãã
@namespace svg "http://www.w3.org/2000/svg";
svg|circle {
fill: red;
stroke: blue;
stroke-width: 5px;
}
ãã®CSSã§ã¯ïŒ
@namespace svg "http://www.w3.org/2000/svg";ã¯ãæ¥é èŸãsvgãã§SVGåå空éã宣èšããŸããsvg|circleã¯ã修食åã»ã¬ã¯ã¿ãŒã§ãã瞊ç·ïŒ|ïŒã¯ãååç©ºéæ¥é èŸãšèŠçŽ åãåºåããŸãããã®ã»ã¬ã¯ã¿ãŒã¯ãSVGåå空éå ã®ãã¹ãŠã®<circle>èŠçŽ ãã¿ãŒã²ããã«ããŸãã
ãã®CSSã«ãããåã®å¡ãã€ã¶ãè²ãèµ€ãç·ïŒã¹ãããŒã¯ïŒã®è²ãéãç·å¹ ã5ãã¯ã»ã«ã«å€æŽãããŸãã
äŸ2ïŒããã©ã«ãåå空éã§ã®XHTMLèŠçŽ ã®ã¹ã¿ã€ãªã³ã°
XMLææžã«ããã©ã«ãåå空éïŒã«ãŒãèŠçŽ ã«æ¥é èŸãªãã§å®£èšããããã®ïŒãããå Žåã§ããCSSã䜿çšããŠãã®åå空éå
ã®èŠçŽ ãã¿ãŒã²ããã«ããããšãã§ããŸããååç©ºéæ¥é èŸãå®çŸ©ãããã®åŸãååç©ºéæ¥é èŸãæã€ãŠãããŒãµã«ã»ã¬ã¯ã¿ãŒïŒ*ïŒã䜿çšããå¿
èŠããããŸãã
以åã®äŸã®XHTMLæ§é ãèããŠã¿ãŠãã ããã<h1>èŠçŽ ãã¹ã¿ã€ãªã³ã°ããã«ã¯ã次ã®CSSã䜿çšã§ããŸãã
@namespace xhtml "http://www.w3.org/1999/xhtml";
xhtml|h1 {
color: green;
font-size: 2em;
}
ãã®CSSã§ã¯ïŒ
@namespace xhtml "http://www.w3.org/1999/xhtml";ã¯ãæ¥é èŸãxhtmlãã§XHTMLåå空éã宣èšããŸããxhtml|h1ã¯ãXHTMLåå空éå ã®<h1>èŠçŽ ãã¿ãŒã²ããã«ããŸãã
ãã®CSSã«ããã<h1>èŠçŽ ã®è²ãç·ã«ããã©ã³ããµã€ãºã2emã«å€æŽãããŸãã
äŸ3ïŒè€æ°ã®åå空éã®äœ¿çš
CSSã§è€æ°ã®åå空éãå®çŸ©ããŠãåãææžå ã®ç°ãªãèªåœã®èŠçŽ ãã¹ã¿ã€ãªã³ã°ã§ããŸãã
XHTMLãšMathMLãçµã¿åãããXMLææžãèããŠã¿ãŸãããã
<?xml version="1.0" encoding="UTF-8"?>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:mathml="http://www.w3.org/1998/Math/MathML">
<head>
<title>è€æ°ã®åå空éã®ããããã¥ã¡ã³ã</title>
</head>
<body>
<h1>MathMLã®äŸ</h1>
<mathml:math>
<mathml:mrow>
<mathml:mi>x</mathml:mi>
<mathml:mo>+</mathml:mo>
<mathml:mi>y</mathml:mi>
</mathml:mrow>
</mathml:math>
</body>
</html>
<h1>èŠçŽ ïŒXHTMLïŒãš<math>èŠçŽ ïŒMathMLïŒã®äž¡æ¹ãã¹ã¿ã€ãªã³ã°ããã«ã¯ã次ã®CSSã䜿çšã§ããŸãã
@namespace xhtml "http://www.w3.org/1999/xhtml";
@namespace mathml "http://www.w3.org/1998/Math/MathML";
xhtml|h1 {
color: blue;
}
mathml|math {
font-size: 1.5em;
}
ãã®CSSã¯ã<h1>èŠçŽ ãéè²ã§ã¹ã¿ã€ãªã³ã°ãã<math>èŠçŽ ã®ãã©ã³ããµã€ãºã倧ããããŸãã
ãã©ãŠã¶äºææ§
CSSåå空éã®ãµããŒãã¯ãææ°ã®ãã©ãŠã¶ã§ã¯äžè¬çã«è¯å¥œã§ãããã ããå€ããã©ãŠã¶ã§ã¯ãµããŒããéå®çãŸãã¯ãŸã£ãããªãå ŽåããããŸããäºææ§ã確ä¿ããããã«ãããŸããŸãªãã©ãŠã¶ã§CSSããã¹ãããããšãéèŠã§ãã
ãã©ãŠã¶ãµããŒãã®äžè¬çãªæŠèŠã以äžã«ç€ºããŸãã
- ChromeïŒ å®å šãµããŒã
- FirefoxïŒ å®å šãµããŒã
- SafariïŒ å®å šãµããŒã
- EdgeïŒ å®å šãµããŒã
- Internet ExplorerïŒ éå®çãµããŒãïŒIE9+ ã¯è¥å¹²ã®çããïŒ
Internet Explorerã®å€ãããŒãžã§ã³ã§ã¯ãæ¡ä»¶ä»ãã³ã¡ã³ãã代æ¿ã¹ã¿ã€ãªã³ã°ææ³ãå¿ èŠã«ãªãå ŽåããããŸãã
CSSåå空éã®äœ¿çšã«é¢ãããã¹ããã©ã¯ãã£ã¹
- CSSã®å é ã«åå空éã宣èšããïŒããã«ãããCSSãããèªã¿ããããä¿å®ãããããªããŸãã
- æå³ã®ããæ¥é èŸã䜿çšããïŒé¢é£ããåå空éãæç¢ºã«ç€ºãæ¥é èŸãéžæããŸãïŒäŸïŒSVGã®å Žåã¯ãsvgããXHTMLã®å Žåã¯ãxhtmlãïŒã
- æ¥é èŸã®äœ¿çšã«äžè²«æ§ãæãããïŒåå空éã®æ¥é èŸãéžæããããCSSå šäœã§äžè²«ããŠäœ¿çšããŸãã
- ããŸããŸãªãã©ãŠã¶ã§ãã¹ãããïŒCSSããã¹ãŠã®ã¿ãŒã²ãããã©ãŠã¶ã§æåŸ ã©ããã«åäœããããšã確èªããŸãã
- CSSãªã»ããã®äœ¿çšãæ€èšããïŒã¹ã¿ã€ã«ããªã»ãããããšãç¹ã«XMLææžãæ±ãéã«ãããŸããŸãªãã©ãŠã¶éã§ã®äžè²«ããã¹ã¿ã€ãªã³ã°ã確ä¿ããã®ã«åœ¹ç«ã¡ãŸãã
- ãã¹ãŠã®åå空éèŠçŽ ã«ä¿®é£ŸåïŒæ¥é èŸ|èŠçŽ ïŒã䜿çšããïŒäžéšã®ãã©ãŠã¶ã§ã¯ãæ¥é èŸãªãã§ããã©ã«ãåå空éå ã®èŠçŽ ãã¹ã¿ã€ãªã³ã°ã§ããŸãããæç¢ºããšäžè²«æ§ã®ããã«åžžã«ä¿®é£Ÿåã䜿çšããããšããã¹ããã©ã¯ãã£ã¹ã§ãã
ãŠãããŒãµã«åå空éã»ã¬ã¯ã¿ãŒ
ãŠãããŒãµã«åå空éã»ã¬ã¯ã¿ãŒã¯ãåäžã®ã¢ã¹ã¿ãªã¹ã¯ïŒ*ïŒã§è¡šãããåå空éã«é¢ä¿ãªãèŠçŽ ãã¿ãŒã²ããã«äœ¿çšã§ããŸããããã¯ç¹å®ã®ç¶æ³ã§åœ¹ç«ã€ããšããããŸãããæå³ããªãã¹ã¿ã€ãªã³ã°ã«ã€ãªããå¯èœæ§ããããããæ³šæããŠäœ¿çšããå¿
èŠããããŸãã
ããšãã°ã*|h1 ã¯ãåå空éã«é¢ä¿ãªããä»»æã®<h1>èŠçŽ ãã¿ãŒã²ããã«ããŸãã
`default` åå空éã®äœ¿çš
CSS Level 4 ã§ã¯ãããã©ã«ãåå空éãæå®ããããã« `default` ããŒã¯ãŒããå°å ¥ãããŠããŸããããã«ããããã©ã€ããªåå空éãããã©ã«ãã§ããææžãæ±ãéã«ãããç°¡æœãªã¹ã¿ã€ãªã³ã°ãå¯èœã«ãªããŸãã
æ§æïŒ
@namespace default "http://www.w3.org/1999/xhtml";
default|h1 {
color: red;
}
ãã ãããã®æ©èœã®ãã©ãŠã¶ãµããŒãã¯ãŸã é²åäžã§ãã
代æ¿ã¹ã¿ã€ãªã³ã°ã¢ãããŒã
CSSåå空éã¯XMLææžãã¹ã¿ã€ãªã³ã°ããããã®æšå¥šãããæ¹æ³ã§ãããç¹ã«å€ããã©ãŠã¶ããµããŒãããå¿ èŠãããå Žåããè€éãªã¹ã¿ã€ãªã³ã°èŠä»¶ãããå Žåã¯ãæ€èšã§ãã代æ¿ã¢ãããŒãããããŸãã
- JavaScriptïŒJavaScriptã䜿çšããŠãèŠçŽ ã®åå空éã«åºã¥ããŠã¹ã¿ã€ã«ãåçã«è¿œå ãŸãã¯å€æŽã§ããŸããããã«ãããããæè»æ§ãåŸãããŸãããããè€éã«ãªãå¯èœæ§ããããŸãã
- XSLTïŒExtensible Stylesheet Language TransformationsïŒXSLTïŒã䜿çšããŠãXMLææžãHTMLãŸãã¯ä»ã®åœ¢åŒã«å€æãã倿ãããåºåã«æšæºCSSã䜿çšããŠã¹ã¿ã€ã«ãé©çšã§ããŸãã
ããããèœãšã穎
- åå空éã®å®£èšãå¿ããïŒ
@namespaceã䜿çšããŠåå空éã宣èšããªããšãCSSã«ãŒã«ã¯æå³ããèŠçŽ ã«é©çšãããŸããã - ééã£ãåå空éURIã®äœ¿çšïŒåèªåœã«å¯ŸããŠæ£ããåå空éURIã䜿çšããŠããããšã確èªããŠãã ããã
- ååç©ºéæ¥é èŸã®æ··åïŒæ··ä¹±ãé¿ããããã«ãç°ãªãåå空éã«ç°ãªãæ¥é èŸã䜿çšããŠãã ããã
- ãã©ãŠã¶äºææ§ã®ç¡èŠïŒããŸããŸãªãã©ãŠã¶ã§CSSããã¹ãããŠãæåŸ ã©ããã«åäœããããšã確èªããŠãã ããã
- é床ã«å ·äœçãªã»ã¬ã¯ã¿ãŒïŒCSSã®ä¿å®ãå°é£ã«ããå¯èœæ§ã®ãããé床ã«å ·äœçãªã»ã¬ã¯ã¿ãŒã®äœ¿çšã¯é¿ããŠãã ããã
çµè«
CSSåå空éã¯ãXMLææžãã¹ã¿ã€ãªã³ã°ããããã®åŒ·åã§æè»ãªæ¹æ³ãæäŸããŸããåå空éã®ä»çµã¿ãšCSSã§ã®äœ¿ç𿹿³ãçè§£ããããšã§ãè€éãªXMLããŒã¹ã®ã¢ããªã±ãŒã·ã§ã³ã«å¯ŸããŠãæ§é åãããä¿å®ããããã¹ã¿ã€ã«ã·ãŒããäœæã§ããŸãããã©ãŠã¶ã®äºææ§ã¯äžè¬çã«è¯å¥œã§ãããäžè²«ãããŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ã確ä¿ããããã«ãããŸããŸãªãã©ãŠã¶ã§CSSããã¹ãããããšãéèŠã§ãããã¹ããã©ã¯ãã£ã¹ã«åŸããããããèœãšã穎ãé¿ããããšã§ãCSSåå空éã®åãæŽ»çšããŠãèŠèŠçã«é åçã§æ©èœçãªXMLããŒã¹ã®Webã¢ããªã±ãŒã·ã§ã³ãäœæã§ããŸãã
CSSãæŽçããæå³ã®ããæ¥é èŸã䜿çšããåžžã«ã³ãŒãã培åºçã«ãã¹ãããããšãå¿ããªãã§ãã ãããCSSåå空éã®ç¢ºããªçè§£ãããã°ãXMLã¹ã¿ã€ãªã³ã°ã®èª²é¡ã«èªä¿¡ãæã£ãŠåãçµãããšãã§ããŸãã