CSSã«ã¹ã¿ã ãã€ã©ã€ãã«ã¹ã±ãŒãããã¹ã¿ãŒããããã¹ãéžæã®ã¹ã¿ã€ã«ãæ£ç¢ºã«å¶åŸ¡ã::selectionã::highlightãã«ã¹ã¿ã ãã€ã©ã€ãã«ã€ããŠãäŸãšåªå 床ã«ãŒã«ãåŠã³ãŸãã
CSSã«ã¹ã¿ã ãã€ã©ã€ãã«ã¹ã±ãŒãïŒããã¹ãéžæã®åªå 床管ç
Webãã©ãŠã¶ã®ããã©ã«ãã®ããã¹ãéžæãã€ã©ã€ãã¯ãå€ãã®å Žåãçœãããã¹ãã«éãèæ¯ãšããåºæ¬çãªãã®ã§ããããã¯æ©èœçã§ããããŠã§ããµã€ãã®ãã©ã³ãã£ã³ã°ãã¢ã¯ã»ã·ããªãã£èŠä»¶ãšäžèŽããªãå ŽåããããŸãã幞ããªããšã«ãCSSã¯ããã¹ãéžæã®ãã€ã©ã€ããã«ã¹ã¿ãã€ãºããããã®åŒ·åãªããŒã«ãæäŸããŠãããèŠèŠçã«é
åçã§ãŠãŒã¶ãŒãã¬ã³ããªãŒãªäœéšãäœãåºãããšãã§ããŸãããã®èšäºã§ã¯ãCSSã«ã¹ã¿ã ãã€ã©ã€ãã«ã¹ã±ãŒãã«ã€ããŠè©³ããæãäžããå©çšå¯èœãªããŸããŸãªãã¯ããã¯ãšãç®çã®å¹æãéæããããã«ãããã®åªå
床ã管çããæ¹æ³ãæ¢ããŸããæšæºã®::selectionæ¬äŒŒèŠçŽ ãããé«åºŠãª::highlightæ¬äŒŒèŠçŽ ããããŠã«ã¹ã¿ã ãã€ã©ã€ãã®å®çŸ©æ¹æ³ã«ã€ããŠããããã®åäœãèŠå®ããã«ã¹ã±ãŒããšè©³çŽ°åºŠã®ã«ãŒã«ã«çŠç¹ãåœãŠãŠè§£èª¬ããŸãã
åºæ¬ãçè§£ããïŒ::selectionæ¬äŒŒèŠçŽ
::selectionæ¬äŒŒèŠçŽ ã¯ãCSSã«ãããããã¹ãéžæã¹ã¿ã€ãªã³ã°ã®åºç€ã§ããããã«ãããèŠçŽ å
ã§éžæãããããã¹ãã®å€èгã倿Žã§ããŸããããã¯ææ°ã®ãã©ãŠã¶ã§åºããµããŒããããŠãããéžæãããããã¹ãã®èæ¯è²ãããã¹ãè²ããã®ä»ã®åºæ¬çãªããããã£ãç°¡åã«ã«ã¹ã¿ãã€ãºããæ¹æ³ãæäŸããŸãã
::selectionã®åºæ¬çãªäœ¿ãæ¹
::selectionã䜿çšããã«ã¯ãCSSã«ãŒã«ã§ãããã¿ãŒã²ããã«ããç®çã®ã¹ã¿ã€ã«ãå®çŸ©ããŸããäŸãã°ãããã¹ããéžæããããšãã«èæ¯è²ãé»è²ã«ãããã¹ãè²ãé»ã«å€æŽããã«ã¯ã次ã®CSSã䜿çšããŸãïŒ
::selection {
background-color: yellow;
color: black;
}
ãã®ã«ãŒã«ã¯ããŠã§ããµã€ãå šäœã®ãã¹ãŠã®ããã¹ãéžæã«é©çšãããŸããç¹å®ã®èŠçŽ ãã¿ãŒã²ããã«ãããå Žåã¯ãããå ·äœçãªã»ã¬ã¯ã¿ã䜿çšã§ããŸãïŒ
p::selection {
background-color: lightgreen;
color: darkgreen;
}
ãã®ã«ãŒã«ã¯ã<p>ïŒæ®µèœïŒèŠçŽ å
ã®ããã¹ãéžæã«ã®ã¿åœ±é¿ããŸãã
::selectionã®å¶é
::selectionã¯äŸ¿å©ãªããŒã«ã§ãããå¶éããããŸããäž»ã«background-colorãcolorã®ãããªåºæ¬çãªããããã£ã®å€æŽããèš±å¯ãããŠããŸãããã°ã©ããŒã·ã§ã³ãã·ã£ããŠã®é©çšãªã©ãããè€éãªã¹ã¿ã€ãªã³ã°ãªãã·ã§ã³ã¯çŽæ¥ãµããŒããããŠããŸãããããã«ã::selectionã¯ãç°ãªãã¹ã¿ã€ã«ãæã€è€æ°ã®éãªãåããã€ã©ã€ããäœæããã¡ã«ããºã ãæäŸããŠããŸãããããã§::highlightæ¬äŒŒèŠçŽ ãç»å ŽããŸãã
::highlightã®ç޹ä»ïŒãã匷åãªä»£æ¿ææ®µ
::highlightæ¬äŒŒèŠçŽ ã¯ãCSSã«æè¿è¿œå ããããã®ã§ãããã¹ãéžæãã€ã©ã€ãã«å¯ŸããŠãã倧ããªæè»æ§ãšå¶åŸ¡ãæäŸããŸããããã«ãããååä»ããã€ã©ã€ããå®çŸ©ã§ããéžæãããããã¹ãã®ç°ãªãéšåã«ç°ãªãã¹ã¿ã€ã«ãé©çšã§ããŸããããã¯ãè€éãªã¬ã€ã¢ãŠãããéžæç¯å²å
ã§ç°ãªãçš®é¡ã®ã³ã³ãã³ããåºå¥ããå¿
èŠãããå Žåã«ç¹ã«äŸ¿å©ã§ãã
highlight-nameããããã£ã§ååä»ããã€ã©ã€ããå®çŸ©ãã
::highlightã䜿çšããéµã¯highlight-nameããããã£ã§ãããã®ããããã£ã䜿çšãããšãç¹å®ã®ãã€ã©ã€ãã«ååãå²ãåœãŠããããCSSã«ãŒã«ã§ã¿ãŒã²ããã«ããããšãã§ããŸãã::highlightã䜿çšããã«ã¯ããŸãJavaScriptã䜿çšããŠååä»ããã€ã©ã€ããå®çŸ©ããå¿
èŠããããŸããããã¯ãCSSèªäœãæ°ãããã€ã©ã€ãåãå®çŸ©ã§ããããã©ãŠã¶ããã§ã«äœæãããã€ã©ã€ãã*ã¹ã¿ã€ã«èšå®*ããããšããã§ããªãããã§ãã
以äžã«äŸã瀺ããŸãïŒ
// JavaScript:
CSS.registerProperty({
name: '--my-custom-highlight',
syntax: '<color>',
inherits: false,
initialValue: 'transparent',
});
ãã®JavaScriptã³ãŒãã¯ã--my-custom-highlightãšããCSSã«ã¹ã¿ã ããããã£ãç»é²ããŸããããã¯è²ã®å€ãåãå
¥ããç¶æ¿ãããŸãããããã¯ããã€ã©ã€ããã¹ã¿ã€ã«èšå®ããåã«å¿
èŠãªã¹ãããã§ããããã§ãCSSã䜿çšããŠãã€ã©ã€ããé©çšã§ããŸãïŒ
::highlight(my-custom-highlight) {
background-color: rgba(255, 0, 0, 0.3);
color: white;
}
ãã®CSSã«ãŒã«ã¯ããmy-custom-highlightããšããååã®ãã€ã©ã€ããã¿ãŒã²ããã«ãã30%ã®äžéæåºŠãæã€èµ€ãèæ¯ãšçœãããã¹ããé©çšããŸããéæåºŠãå®çŸããããã«rgbaã䜿çšããŠããããšã«æ³šæããŠãã ããããŸãååïŒäŸïŒmy-custom-highlightïŒãäœæããæ¬¡ã«CSSã§::highlight(my-custom-highlight)ãä»ããŠãããåç
§ããå¿
èŠããããŸãã
JavaScriptã§ãã€ã©ã€ããé©çšãã
ããŠãå®éã«ãŠã§ãããŒãžã§ãã€ã©ã€ããé©çšããã«ã¯ãJavaScriptã䜿çšããŸããããã¯éåžžããã€ã©ã€ããå¿
èŠãªããã¹ãéšåã<span>ã¿ã°ã§å²ã¿ãhighlight-nameã¹ã¿ã€ã«ãå²ãåœãŠãããšã§è¡ãããŸãïŒ
<p>This is some <span style="--highlight: my-custom-highlight;">important</span> text.</p>
ãã®äŸã§ã¯ããimportantããšããåèªããmy-custom-highlightãã«å®çŸ©ãããã¹ã¿ã€ã«ã§ãã€ã©ã€ããããŸãã å¥ã®äŸãšããŠã¯ïŒ
<p>This is <span style="--highlight: warning-highlight;">a warning message</span> that needs attention.</p>
ããã§ 'warning-highlight' ã¯ãCSS.registerPropertyã§ç»é²ãã::highlight(warning-highlight)CSSãããã¯å
ã§äœ¿çšããååã«å¯Ÿå¿ããŸãã
::highlightã®å©ç¹
- è€æ°ã®ãã€ã©ã€ãïŒ è€æ°ã®ååä»ããã€ã©ã€ããå®çŸ©ããããã¹ãã®ç°ãªãéšåã«é©çšã§ããŸãã
- ãã现ããå¶åŸ¡ïŒ ããã¹ãã®ç¹å®ã®éšåãç°ãªããã€ã©ã€ãã¹ã¿ã€ã«ã§ã¿ãŒã²ããã«ã§ããŸãã
- ã»ãã³ãã£ãã¯ãã€ã©ã€ãïŒ ãã€ã©ã€ãã䜿çšããŠããšã©ãŒãèŠåã匷調衚瀺ãããªã©ãæå³ãäŒããããšãã§ããŸãã
CSSãã€ã©ã€ãã«ã¹ã±ãŒããçè§£ããïŒåªå 床ãšè©³çŽ°åºŠ
è€æ°ã®ãã€ã©ã€ãã¹ã¿ã€ã«ãåãããã¹ãã«é©çšãããå ŽåãCSSã«ã¹ã±ãŒããã©ã®ã¹ã¿ã€ã«ãåªå ãããããæ±ºå®ããŸããã«ã¹ã±ãŒããšã¯ããã©ãŠã¶ãç°ãªãCSSã«ãŒã«éã®ç«¶åã解決ããããã«äœ¿çšããäžé£ã®ã«ãŒã«ã§ããã«ã¹ã±ãŒããçè§£ããããšã¯ãã«ã¹ã¿ã ãã€ã©ã€ãã¹ã¿ã€ã«ã管çããç®çã®ã¹ã¿ã€ã«ãæ£ããé©çšãããããã«ããããã«äžå¯æ¬ ã§ãã
åªå é äœ
CSSã«ã¹ã±ãŒãã¯ç¹å®ã®åªå é äœã«åŸããŸããããã¯æ¬¡ã®ããã«èŠçŽã§ããŸãïŒåªå 床ã®äœããã®ããé«ããã®ãžïŒïŒ
- ãŠãŒã¶ãŒãšãŒãžã§ã³ãã¹ã¿ã€ã«ïŒ ãã©ãŠã¶ã®ããã©ã«ãã¹ã¿ã€ã«ã
- ãŠãŒã¶ãŒã¹ã¿ã€ã«ïŒ ãŠãŒã¶ãŒã«ãã£ãŠå®çŸ©ãããã¹ã¿ã€ã«ïŒäŸïŒãã©ãŠã¶æ¡åŒµæ©èœçµç±ïŒã
- å¶äœè ã¹ã¿ã€ã«ïŒ ãŠã§ããµã€ãéçºè ã«ãã£ãŠå®çŸ©ãããã¹ã¿ã€ã«ïŒããªãã®CSSïŒã
- !importantå¶äœè
ã¹ã¿ã€ã«ïŒ ãŠã§ããµã€ãéçºè
ã«ãã£ãŠ
!importantããŒã¯ãŒãã§å®çŸ©ãããã¹ã¿ã€ã«ã - !importantãŠãŒã¶ãŒã¹ã¿ã€ã«ïŒ ãŠãŒã¶ãŒã«ãã£ãŠ
!importantããŒã¯ãŒãã§å®çŸ©ãããã¹ã¿ã€ã«ã
ãããã®åã¬ãã«å ã§ã詳现床ãéèŠãªåœ¹å²ãæãããŸãã詳现床ãšã¯ãCSSã»ã¬ã¯ã¿ã®éã¿ãŸãã¯éèŠæ§ãæããŸããããå ·äœçãªã»ã¬ã¯ã¿ã¯ãããå ·äœæ§ã®äœãã»ã¬ã¯ã¿ãäžæžãããŸãã
詳现床ã®ã«ãŒã«
詳现床ã¯ã以äžã®ã«ãŒã«ã«åºã¥ããŠèšç®ãããŸãïŒ
- ã€ã³ã©ã€ã³ã¹ã¿ã€ã«ïŒ HTMLèŠçŽ ã«
style屿§ã䜿çšããŠçŽæ¥å®çŸ©ãããã¹ã¿ã€ã«ã¯ãæãé«ã詳现床ãæã¡ãŸãã - IDïŒ IDã§èŠçŽ ãã¿ãŒã²ããã«ããã»ã¬ã¯ã¿ïŒäŸïŒ
#my-elementïŒã¯é«ã詳现床ãæã¡ãŸãã - ã¯ã©ã¹ãæ¬äŒŒã¯ã©ã¹ã屿§ïŒ ã¯ã©ã¹ïŒäŸïŒ
.my-classïŒãæ¬äŒŒã¯ã©ã¹ïŒäŸïŒ:hoverïŒããŸãã¯å±æ§ïŒäŸïŒ[type="text"]ïŒã§èŠçŽ ãã¿ãŒã²ããã«ããã»ã¬ã¯ã¿ã¯ãäžçšåºŠã®è©³çŽ°åºŠãæã¡ãŸãã - èŠçŽ ãšæ¬äŒŒèŠçŽ ïŒ ã¿ã°åïŒäŸïŒ
pïŒãŸãã¯æ¬äŒŒèŠçŽ ïŒäŸïŒ::selectionã::highlightïŒã§èŠçŽ ãã¿ãŒã²ããã«ããã»ã¬ã¯ã¿ã¯ãäœã詳现床ãæã¡ãŸãã - ãŠãããŒãµã«ã»ã¬ã¯ã¿ïŒ ãŠãããŒãµã«ã»ã¬ã¯ã¿ïŒ
*ïŒã¯æãäœã詳现床ãæã¡ãŸãã
è€æ°ã®ã»ã¬ã¯ã¿ãåãèŠçŽ ã«é©çšãããå Žåããã©ãŠã¶ã¯åã»ã¬ã¯ã¿ã®è©³çŽ°åºŠãèšç®ããæãé«ã詳现床ãæã€ã»ã¬ã¯ã¿ã®ã¹ã¿ã€ã«ãé©çšããŸãã2ã€ã®ã»ã¬ã¯ã¿ãåã詳现床ãæã€å ŽåãCSSã¹ã¿ã€ã«ã·ãŒãã§åŸã«åºçŸããã»ã¬ã¯ã¿ã®ã¹ã¿ã€ã«ãé©çšãããŸãã
ãã€ã©ã€ãã¹ã¿ã€ã«ã«è©³çŽ°åºŠãé©çšãã
ã«ã¹ã¿ã ãã€ã©ã€ãã¹ã¿ã€ã«ã䜿çšããå Žåã::selectionãš::highlightã®äž¡æ¹ã䜿çšããå Žåã«ãã£ãŠã¯ã€ã³ã©ã€ã³ã¹ã¿ã€ã«ã䜵çšããããšãããããã詳现床ã¯ç¹ã«éèŠã§ãã詳现床ã®èæ
®äºé
ãã©ã®ããã«é©çšããããã以äžã«ç€ºããŸãïŒ
::selection察::highlightïŒ äžè¬çã«ã::highlightã¯::selectionããã*å ·äœç*ã§ãããšèŠãªãããŸããããã¯ã::selectionãš::highlightã®äž¡æ¹ã®ã«ãŒã«ãåãããã¹ãã«é©çšãããå Žåãéåžžã¯::highlightã«ãŒã«ãåªå ãããããšãæå³ããŸãã- ã€ã³ã©ã€ã³ã¹ã¿ã€ã«ïŒ ãã€ãã®ããã«ãã€ã³ã©ã€ã³ã¹ã¿ã€ã«ïŒHTMLèŠçŽ ã«çŽæ¥
style屿§ã䜿çšïŒã¯ã!importantã䜿çšãããªãéãã::selectionãš::highlightã®äž¡æ¹ã®ã¹ã¿ã€ã«ãäžæžãããŸãã - ã»ã¬ã¯ã¿ã®è©³çŽ°åºŠïŒ
::highlightã§äœ¿çšãããã»ã¬ã¯ã¿ã®è©³çŽ°åºŠã¯ãçµæã«ããã«åœ±é¿ãäžããå¯èœæ§ããããŸããäŸãã°ãp::highlight(my-highlight)ã¯åãªã::highlight(my-highlight)ãããå ·äœçã§ãããäž¡æ¹ãé©çšãããå Žåã¯åªå ãããŸãã
詳现床ã®å ·äœäŸ
ãããããã€ãã®äŸã§ç€ºããŸãããïŒ
/* CSS */
::selection {
background-color: blue;
color: white;
}
::highlight(my-highlight) {
background-color: red;
color: yellow;
}
<p>This is some <span style="--highlight: my-highlight;">important</span> text.</p>
ãã®å ŽåããŠãŒã¶ãŒãããã¹ããéžæãããšããmy-highlightããšããŒã¯ãããéšåã¯èµ€ãèæ¯ãšé»è²ãããã¹ãã«ãªããŸããããã¯ã::highlight(my-highlight)ã«ãŒã«ãããå
·äœçã§ããããã®ç¹å®ã®spanã«å¯ŸããŠäžè¬çãª::selectionã«ãŒã«ãäžæžãããããã§ãã
å¥ã®äŸãèããŠã¿ãŸãããïŒ
/* CSS */
::selection {
background-color: blue;
color: white;
}
p::selection {
background-color: green;
color: black;
}
<p>This is some text.</p>
ããã§ããŠãŒã¶ãŒã<p>ã¿ã°å
ã®ããã¹ããéžæãããšãç·ã®èæ¯ãšé»ã®ããã¹ãã«ãªããŸããp::selectionã»ã¬ã¯ã¿ã¯ãã°ããŒãã«ãª::selectionã»ã¬ã¯ã¿ãããå
·äœçã§ãã
ãã€ã©ã€ãã«ã¹ã±ãŒãã管çããããã®æŠç¥
ãã€ã©ã€ãã«ã¹ã±ãŒãã广çã«ç®¡çããã«ã¹ã¿ã ãã€ã©ã€ãã¹ã¿ã€ã«ãæå³ãããšããã«é©çšãããããã«ããããã«ã以äžã®æŠç¥ãæ€èšããŠãã ããïŒ
1. å ·äœçãªã»ã¬ã¯ã¿ã䜿çšãã
ã¹ã¿ã€ã«ãèšå®ãããèŠçŽ ãã¿ãŒã²ããã«ããããã«ãå
·äœçãªã»ã¬ã¯ã¿ã䜿çšããŸããäŸãã°ãã°ããŒãã«ãª::selectionã«ãŒã«ã䜿çšãã代ããã«ã.my-section::selectionã#my-element::selectionã®ãããªããå
·äœçãªã»ã¬ã¯ã¿ã䜿çšããŠããŠã§ããµã€ãã®ç¹å®ã®èŠçŽ ãã»ã¯ã·ã§ã³ãã¿ãŒã²ããã«ããŸãã
2. highlight-nameããããã£ã掻çšãã
å¯èœãªéãã::highlightãšå
±ã«highlight-nameããããã£ã䜿çšããŠååä»ããã€ã©ã€ããå®çŸ©ããŸããããã«ãããããã¹ãã®ç¹å®ã®éšåãã¿ãŒã²ããã«ãããã®ã»ãã³ãã£ãã¯ãªæå³ãæèã«åºã¥ããŠç°ãªãã¹ã¿ã€ã«ãé©çšã§ããŸãã
3. !importantãé¿ããïŒååãšããŠïŒ
!importantããŒã¯ãŒãã¯äœ¿ããããªããããããŸããããå¯èœãªéãé¿ããã¹ãã§ãã!importantã䜿çšãããšãCSSã®ä¿å®ãé£ãããªããäºæããªãç«¶åãåŒãèµ·ããå¯èœæ§ããããŸãã代ããã«ã詳现床ã䜿çšããŠã«ã¹ã±ãŒããå¶åŸ¡ããããšã«éäžããŠãã ããã
4. CSSãæŽçãã
CSSãè«ççãã€äžè²«æ§ã®ããæ¹æ³ã§æŽçããŸããã³ã¡ã³ãã䜿çšããŠã³ãŒããææžåããé¢é£ããã¹ã¿ã€ã«ãã°ã«ãŒãåããŸããããã«ãããCSSã®çè§£ãšä¿å®ã容æã«ãªããŸãã
5. 培åºçã«ãã¹ããã
ã«ã¹ã¿ã ãã€ã©ã€ãã¹ã¿ã€ã«ããããŸããŸãªãã©ãŠã¶ãããã€ã¹ã§åŸ¹åºçã«ãã¹ãããŸãããã©ãŠã¶ã«ãã£ãŠCSSã«ã¹ã±ãŒãã®å®è£ ãè¥å¹²ç°ãªãå Žåããããããã¹ã¿ã€ã«ããã¹ãŠã®ãã©ãããã©ãŒã ã§äžè²«ããŠé©çšãããããšã確èªããããšãéèŠã§ãã
6. ã¢ã¯ã»ã·ããªãã£ãèæ ®ãã
ã«ã¹ã¿ã ãã€ã©ã€ãã¹ã¿ã€ã«ããã¶ã€ã³ããéã«ã¯ãåžžã«ã¢ã¯ã»ã·ããªãã£ãèæ ®ããŠãã ãããéžæããè²ãããã¹ããšèæ¯ã®éã§ååãªã³ã³ãã©ã¹ããæäŸããããšã確èªããŸãããŸããèªç¥é害ãæã€ãŠãŒã¶ãŒã«ãšã£ãŠéªéã«ãªã£ããæ··ä¹±ããããããå¯èœæ§ã®ããã¹ã¿ã€ã«ã¯äœ¿çšããªãã§ãã ããã
ã¢ã¯ã»ã·ããªãã£ã«é¢ããèæ ®äºé
ããã¹ãéžæã®ãã€ã©ã€ããã«ã¹ã¿ãã€ãºããããšã§ããŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ãå€§å¹ ã«åäžãããããšãã§ããŸãããã¢ã¯ã»ã·ããªãã£ãåªå ããããšãäžå¯æ¬ ã§ããäžé©åãªãã¶ã€ã³ã®ãã€ã©ã€ãã¯ãèŠèŠé害ãèªç¥é害ãæã€ãŠãŒã¶ãŒã«ãšã£ãŠãã³ã³ãã³ãã®èªã¿åããçè§£ãå°é£ã«ããå¯èœæ§ããããŸãã
ã«ã©ãŒã³ã³ãã©ã¹ã
ããã¹ããšèæ¯ã®è²ã®ã³ã³ãã©ã¹ããååã§ããããšã確èªããŠãã ãããWeb Content Accessibility Guidelines (WCAG) ã¯ãéåžžã®ããã¹ãã«ã¯å°ãªããšã4.5:1ã倧ããªããã¹ãã«ã¯3:1ã®ã³ã³ãã©ã¹ãæ¯ãæšå¥šããŠããŸãããªã³ã©ã€ã³ããŒã«ã䜿çšããŠããã€ã©ã€ãã«ã©ãŒã®ã³ã³ãã©ã¹ãæ¯ã確èªããŠãã ããã
ç¹æ» ãææ» ãé¿ãã
ãã€ã©ã€ãã¹ã¿ã€ã«ã§ç¹æ» ãææ» ãã广ã䜿çšããªãã§ãã ããããããã®å¹æã¯æ³šæãæ£æŒ«ã«ããå éææ§ãŠããããæã€ãŠãŒã¶ãŒã®çºäœãåŒãèµ·ããå¯èœæ§ããããŸãã
æç¢ºãªèŠèŠçåå³ãæäŸãã
ãã€ã©ã€ãã¹ã¿ã€ã«ããããã¹ããéžæãããŠããããšã瀺ãæç¢ºãªèŠèŠçåå³ãæäŸããããšã確èªããŠãã ãããææ§ã§ãã£ããçŽããããã£ããããå¯èœæ§ã®ããã¹ã¿ã€ã«ã¯äœ¿çšããªãã§ãã ãããäŸãã°ãããã©ã«ãã®èæ¯è²ã«è¿ãããèæ¯è²ã¯é¿ããŠãã ããã
æ¯æŽæè¡ã§ãã¹ããã
ã¹ã¯ãªãŒã³ãªãŒããŒãªã©ã®æ¯æŽæè¡ã䜿çšããŠãã«ã¹ã¿ã ãã€ã©ã€ãã¹ã¿ã€ã«ããã¹ãããŠãã ãããéžæãããããã¹ããã¹ã¯ãªãŒã³ãªãŒããŒã«ãã£ãŠé©åã«èªã¿äžãããããã€ã©ã€ãã¹ã¿ã€ã«ããŠãŒã¶ãŒã®ããã²ãŒã·ã§ã³ãã³ã³ãã³ãã®çè§£èœåã劚ããªãããšã確èªããŠãã ããã
åœéåãšããŒã«ãªãŒãŒã·ã§ã³ã«é¢ããèæ ®äºé
ã°ããŒãã«ãªãªãŒãã£ãšã³ã¹åãã®ãŠã§ããµã€ããéçºããå ŽåãåœéåïŒi18nïŒãšããŒã«ãªãŒãŒã·ã§ã³ïŒl10nïŒãèæ ®ããããšãéèŠã§ããããã«ã¯ããŠã§ããµã€ãã®ã³ã³ãã³ããšãã¶ã€ã³ãããŸããŸãªèšèªãæåãå°åã«é©å¿ãããããšãå«ãŸããŸãã
ããã¹ãã®æ¹å
ç°ãªãããã¹ãã®æ¹åã«æ³šæããŠãã ãããã¢ã©ãã¢èªãããã©ã€èªãªã©ãäžéšã®èšèªã¯å³ããå·ŠïŒRTLïŒã«æžãããŸããã«ã¹ã¿ã ãã€ã©ã€ãã¹ã¿ã€ã«ããå·Šããå³ïŒLTRïŒãšRTLã®äž¡æ¹ã®ããã¹ãæ¹åã§æ£ããæ©èœããããšã確èªããŠãã ãããCSSè«çããããã£ïŒäŸïŒmargin-inline-startãborder-inline-endïŒãããã§åœ¹ç«ã¡ãŸãã
æåçãªéã
ãã€ã©ã€ãã«ã©ãŒãéžæããéã«ã¯ãæåçãªéãã«æ³šæããŠãã ãããè²ã¯æåã«ãã£ãŠç°ãªãæå³ãæã€ããšããããŸããäŸãã°ãèµ€è²ã¯ãããæåã§ã¯å¹žéã象城ããå¥ã®æåã§ã¯å±éºã象城ããå ŽåããããŸãããŠã§ããµã€ãã®ã¿ãŒã²ããåžå Žã«ãããè²ã®æåçéèŠæ§ã調æ»ããŠãã ããã
ãã©ã³ãã®ãµããŒã
éžæãããã©ã³ãããããŸããŸãªèšèªã§äœ¿çšãããæåãã°ãªãããµããŒãããŠããããšã確èªããŠãã ãããå¹ åºãæåããµããŒãããUnicodeãã©ã³ãã䜿çšããŠãã ããããŸãããŠãŒã¶ãŒã®ããã€ã¹ã«å¿ èŠãªãã©ã³ããã€ã³ã¹ããŒã«ãããŠããªããŠãããŠã§ããµã€ãã®ããã¹ããæ£ãã衚瀺ãããããã«ããã©ã³ãã®ãã©ãŒã«ããã¯æŠç¥ã®äœ¿çšãæ€èšããŠãã ããã
å®è·µçãªäŸãšãŠãŒã¹ã±ãŒã¹
CSSã«ã¹ã¿ã ãã€ã©ã€ãã«ã¹ã±ãŒãã®å®è·µçãªäŸãšãŠãŒã¹ã±ãŒã¹ãããã€ãèŠãŠã¿ãŸãããïŒ
1. ã³ãŒãã®ã»ãã³ãã£ãã¯ãã€ã©ã€ã
ã«ã¹ã¿ã ãã€ã©ã€ãã䜿çšããŠãããŒã¯ãŒãã倿°ãã³ã¡ã³ããªã©ãããŸããŸãªçš®é¡ã®ã³ãŒãèŠçŽ ããã€ã©ã€ãã§ããŸããããã«ããããŠãŒã¶ãŒã¯ã³ãŒãã¹ãããããèªã¿ããããçè§£ãããããªããŸãã
/* CSS */
::highlight(keyword) {
color: #0077cc;
}
::highlight(variable) {
color: #cc0077;
}
::highlight(comment) {
color: #666666;
font-style: italic;
}
<pre><code>
<span style="--highlight: keyword;">function</span> <span style="--highlight: variable;">greet</span>(<span style="--highlight: variable;">name</span>) {
<span style="--highlight: comment;">// This is a comment</span>
console.log("Hello, " + <span style="--highlight: variable;">name</span> + "!");
}
</code></pre>
2. æ€çŽ¢èªã®ãã€ã©ã€ã
ã«ã¹ã¿ã ãã€ã©ã€ãã䜿çšããŠãæ€çŽ¢çµæå ã®æ€çŽ¢èªããã€ã©ã€ãã§ããŸããããã«ããããŠãŒã¶ãŒã¯æ€çŽ¢ã¯ãšãªã«é¢é£ããããã¹ãéšåããã°ããç¹å®ã§ããŸãã
/* CSS */
::highlight(search-term) {
background-color: yellow;
color: black;
}
<p>This is a <span style="--highlight: search-term;">search</span> result that contains the <span style="--highlight: search-term;">search</span> term.</p>
3. ãã©ãŒã ã®å¿ é ãã£ãŒã«ãã®è¡šç€º
ã«ã¹ã¿ã ãã€ã©ã€ãã䜿çšããŠããã©ãŒã ã®å¿ é ãã£ãŒã«ãã瀺ãããšãã§ããŸããããã«ããããŠãŒã¶ãŒã¯ãã©ãŒã ãéä¿¡ããåã«ã©ã®ãã£ãŒã«ããå ¥åããå¿ èŠããããããã°ããç¹å®ã§ããŸãã
/* CSS */
::highlight(required) {
background-color: #ffeeee;
border: 1px solid red;
}
<label for="name">Name:</label>
<input type="text" id="name" <span style="--highlight: required;">required</span><br>
çµè«
CSSã«ã¹ã¿ã ãã€ã©ã€ãã«ã¹ã±ãŒãã¯ãããã¹ãéžæã®ãã€ã©ã€ããã«ã¹ã¿ãã€ãºããèŠèŠçã«é
åçã§ãŠãŒã¶ãŒãã¬ã³ããªãŒãªäœéšãäœæããããã®åŒ·åãªããŒã«ãæäŸããŸããCSSã«ã¹ã±ãŒãã詳现床ã®ã«ãŒã«ããããŠ::selectionãš::highlightã®æ©èœãçè§£ããããšã§ããã€ã©ã€ãã¹ã¿ã€ã«ã广çã«ç®¡çããæå³ãããšããã«é©çšãããããã«ããããšãã§ããŸããã«ã¹ã¿ã ãã€ã©ã€ãã¹ã¿ã€ã«ããã¶ã€ã³ããéã«ã¯ãã¢ã¯ã»ã·ããªãã£ãšåœéåãèæ
®ããã°ããŒãã«ãªãªãŒãã£ãšã³ã¹ã«ãšã£ãŠå
æ¬çã§ã¢ã¯ã»ã¹ãããããŠã§ããµã€ããäœæããããšãå¿ããªãã§ãã ããã::selectionãš::highlightãã»ãã³ãã£ãã¯HTMLãCSSã«ã¹ã¿ã ããããã£ãšçµã¿åãããŠæ
éã«èšç»ããããšã§ããŠã§ãããŒãžã®äœ¿ãããããšèŠèŠçãªé
åã®äž¡æ¹ãé«ãããŸãã«æããã€ã©ã€ã广ãå®çŸã§ããŸãããããã®CSSæ©èœãæäŸããæè»æ§ã«ããããŠãŒã¶ãŒã«åãããçŽæçãªäœéšãåµåºããã³ã³ãã³ããããé
åçã§ã¢ã¯ã»ã¹ãããããã®ã«ããããšãã§ããŸãã