CSS ã»ã¬ã¯ã¿ã¼ã¨çµåå
CSS ã»ã¬ã¯ã¿ã¼ã¯ã鏿ããè¦ç´ ã«ä¸é£ã® CSS ã«ã¼ã«ãé©ç¨ããããã«ã鏿ããè¦ç´ ã®ãã¿ã¼ã³ãå®ç¾©ããããã«ä½¿ç¨ãã¾ããçµååã¯ãã»ã¬ã¯ã¿ã¼éã®é¢ä¿ãå®ç¾©ãã¾ããæ§ã ãªã»ã¬ã¯ã¿ã¼ã¨çµååã使ç¨ãããã¨ã§ãå ¥åããè¦ç´ ã®åã屿§ãç¶æ ãä»ã®è¦ç´ ã¨ã®é¢ä¿ã«åºã¥ãã¦ãå¿ è¦ãªè¦ç´ ãæ£ç¢ºã«é¸æããã¹ã¿ã¤ã«è¨å®ãããã¨ãã§ãã¾ãã
ã»ã¬ã¯ã¿ã¼ã®å
ã»ã¬ã¯ã¿ã¼ã¨çµåå㯠80 以ä¸ããã¾ãã CSS ã»ã¬ã¯ã¿ã¼ã¯ã鏿ããè¦ç´ ã®ç¨®é¡ã«å¿ãã¦ä»¥ä¸ã®ã«ãã´ãªã¼ã«åé¡ããã¾ãã
åºæ¬ã»ã¬ã¯ã¿ã¼
è¦ç´ åã»ã¬ã¯ã¿ã¼ã¯ãæå®ããããã¼ãåãæã¤ãã¹ã¦ã®è¦ç´ ã鏿ãã¾ããä¾ãã° div ã§ãã¹ã¦ã® <div> è¦ç´ ã鏿ãã input ã§ãã¹ã¦ã® <input> è¦ç´ ã«ä¸è´ãã¾ããã¢ã¹ã¿ãªã¹ã¯ (*) ã§ç¤ºãããå
¨ç§°ã»ã¬ã¯ã¿ã¼ã¯ããã¹ã¦ã®è¦ç´ ã鏿ããç¹æ®ãªç¨®é¡ã®ã»ã¬ã¯ã¿ã¼ã§ãã
ã¯ã©ã¹ã»ã¬ã¯ã¿ã¼ã¯ãæå®ããã class 屿§ãæã¤è¦ç´ ããã¹ã¦é¸æãã¾ããã¯ã©ã¹åã®æ¥é è¾ã¯ããªãªã (.) ã§ããä¾ãã°ã .index 㯠class="index" ã®ã¤ãããã¹ã¦ã®è¦ç´ ã«ä¸è´ãã¾ãã ID ã»ã¬ã¯ã¿ã¼ã¯ã id 屿§ã®å¤ã«åºã¥ãã¦è¦ç´ ã鏿ãã¾ããã»ã¬ã¯ã¿ã¼ã¯ id ã®æ¥é è¾ã«ããã³ãã¼ãµã¤ã³ã (U+0023, #) ãä»ãããã®ã§ããä¾ãã°ã #toc 㯠id="toc" ã®ã¤ããè¦ç´ ã«ä¸è´ãã¾ãã class 㨠id ã¯ã©ã¡ããã°ãã¼ãã«å±æ§ã§ãã 1 ã¤ã®ææ¸ã®ä¸ã§
ãã id ãæã¤è¦ç´ 㯠1 ã¤ã ãã§ããã¹ãã§ãããããè¤æ°ã®è¦ç´ ãåå¨ããå ´åã ID ã»ã¬ã¯ã¿ã¼ã¯ãã® id ãæã¤ãã¹ã¦ã®è¦ç´ ã«ä¸è´ãã¾ãã
è¦ç´ åã»ã¬ã¯ã¿ã¼ã¾ãã¯å ¨ç§°ã»ã¬ã¯ã¿ã¼ã¨ãã¯ã©ã¹ã»ã¬ã¯ã¿ã¼ã¾ã㯠id ã»ã¬ã¯ã¿ã¼ãçµã¿åããã¦è¤åã»ã¬ã¯ã¿ã¼ã使ããå ´åãè¦ç´ åã»ã¬ã¯ã¿ã¼ãå ¨ç§°ã»ã¬ã¯ã¿ã¼ã¯ã¯ã©ã¹ã¾ã㯠id ã®åã«ãªããã°ãªãã¾ããã
CSS
ãã®ä¾ã§ã¯ã 4 ã¤ã®åç´ã»ã¬ã¯ã¿ã¼ã¨ã 1 ã¤ã®è¤åã»ã¬ã¯ã¿ã¼ããä¸è¨ã® 4 ã¤ã®åºæ¬ã»ã¬ã¯ã¿ã¼åã使ç¨ãã¦å®£è¨ãã¦ãã¾ãã
* {
font-style: italic;
}
p {
color: red;
}
.myClass {
text-decoration: underline;
}
#myId {
font-family: monospace;
}
p.myClass#myId {
font-size: 1.5rem;
}
HTML
<p class="myClass" id="myId">ããã¯ãã¹ã¦ã«ä¸è´ãã¾ãã</p>
<p>ããã¯å
¨ç§°ã»ã¬ã¯ã¿ã¼ã¨è¦ç´ åã»ã¬ã¯ã¿ã¼ã«ã®ã¿ä¸è´ãã¾ãã</p>
çµæ
çµåå
CSS ã®çµååãç¨ãããã¨ã§ãã»ã¬ã¯ã¿ã¼ãçµã¿åããã¦ãææ¸ãã¼ãããªã¼å ã®ä»ã®è¦ç´ ã¨ã®é¢ä¿ã«åºã¥ã㦠DOM ãã¼ãã鏿ãããã¨ãã§ãã¾ãããã®ã»ã¬ã¯ã¿ã¼ã¨çµååã®çµã¿åããã«ãã£ã¦ãè¤éã»ã¬ã¯ã¿ã¼ã使ããã¾ãã
åå«çµåå
åå«çµååã¯ã 1 ã¤ä»¥ä¸ã®ã¹ãã¼ã¹ã§ç¤ºããã®ã§ãæåã®è¦ç´ ã®åå«ã§ãããã¼ãã鏿ãã¾ããä¾ãã°ã div span 㯠<div> è¦ç´ ã®ä¸ã«ãããã¹ã¦ã® <span> è¦ç´ ã«ä¸è´ãã¾ãã
åçµåå
åçµååã¯ãåå«çµååãããå³å¯ã§ããåçµååã¯å¤§ãªãæå (>) ã§ç¤ºããæåã®è¦ç´ ã®ç´æ¥ã®åã§ãããã¼ãã鏿ãã¾ããååã®ä¾ã¨æ¯è¼ããã¨ã div > span 㯠<div> è¦ç´ ã®ç´æ¥ã®åã§ãã <span> è¦ç´ ã«ã®ã¿ã«ä¸è´ãã¾ãã
å¾ç¶å å¼çµåå
åå«ã»ã¬ã¯ã¿ã¼ã«å ãã¦ã CSS ã¯å
å¼é¢ä¿ã«åºã¥ãã¦è¦ç´ ã鏿ãããã¨ãã§ãã¾ããå¾ç¶å
å¼çµååã¯ãã«ã (~) ã§ç¤ºãããå
å¼ã鏿ãã¾ãã A ~ B ã¨æå®ãããå ´åã B ã®åã« A ãããã A 㨠B ãåã親ãå
±æãã¦ããã°ãB ã«ä¸è´ããè¦ç´ ããã¹ã¦é¸æããã¾ããä¾ãã°ã h2 ~ p ã¯ã h2 ã®ç´å¾ã¾ãã¯ãã®å¾ã«ç¶ããã¹ã¦ã® <p> è¦ç´ ã«ä¸è´ãã¾ãã
次å å¼çµåå
次å
å¼çµååã¯ãã©ã¹è¨å· (+) ã§è¡¨ãããå¾ç¶å
å¼çµååã¨ä¼¼ã¦ãã¾ãããã ãã A + B ãæå®ãããå ´åã B ã®ç´åã« A ãããã両è
ãåã親ãå
±æãã¦ããå ´åã«ã®ã¿ B ã«ä¸è´ãã¾ããååã®ä¾ã h2 + p ã«ä¿®æ£ããã¨ã <h2> è¦ç´ ã®ç´å¾ã«ç¶ãåä¸ã® <p> è¦ç´ ã«ã®ã¿ä¸è´ãã¾ãã
åçµåå
åçµååãããã¾ãããã㯠2 ã¤ã®ãã¤ãæå (||) ã§è¡¨ããã対å¿ãã¦ããå ´åãããåã«å±ãããã¼ãã鏿ãã¾ããä¾ãã°ã col || td 㯠<col> ã®ã¹ã³ã¼ãã«å±ãããã¹ã¦ã® <td> è¦ç´ ã«ä¸è´ãã¾ãã
åå空éã»ãã¬ã¼ã¿ã¼
åå空éã»ãã¬ã¼ã¿ã¼ã¯ãä¸è¬ã« @namespace ã¢ããã«ã¼ã«ã¨çµã¿åããã¦ä½¿ç¨ããçµååã®ä¸ã¤ã§ãããã®çµååã¯åä¸ã®ãã¤ãæå (|) ã§ç¤ºããã¾ããããã«ãããè¦ç´ åã»ã¬ã¯ã¿ã¼ã¨å
¨ç§°ã»ã¬ã¯ã¿ã¼ãç¹å®ã®åå空éã«éå®ãããã¨ãã§ãã¾ããä¾ãã°ã@namespace SVG url('http://www.w3.org/2000/svg'); ã®ããã«åå空éãå®ç¾©ãããã¨ã§ã SVG åå空éã«å
¥ãåã«ãªã£ã¦ããè¦ç´ ã®ã¿ã対象ã¨ããã»ã¬ã¯ã¿ã¼ãå«ãããã¨ãã§ãã¾ãã SVG|a ã¨å®£è¨ããã°ã SVG å
ã®ãªã³ã¯ã«ä¸è´ããææ¸å
ã®ä»ã®è¦ç´ ã«ã¯ä¸è´ãã¾ãããåå空é㯠HTML å
ã® MathML ã SVGãä»ã«ã XML ãã¼ã¹ã®ã³ã³ãã³ãã対象ã¨ããã®ã«æçã§ãã
CSS
ãã®ä¾ã§ã¯ã 5 ã¤ã®ç¸å¯¾ã»ã¬ã¯ã¿ã¼ã宣è¨ãã¦ãã¾ããããã¯åç´ã»ã¬ã¯ã¿ã¼ãçµååã§çµåãããã®ã§ãã
h2 + p ~ p {
font-style: italic;
}
h2 + p + p {
color: red;
}
.myClass + p {
text-decoration: underline;
}
#myId > .myClass {
outline: 3px dashed red;
}
* > p {
font-size: 1.1rem;
}
HTML
<h2 class="myClass" id="myId">
No selectors match. <span class="myClass">This span has an outline</span> as
it is both myClass and a child of #myId.
</h2>
<p>The first paragraph is underlined. All the paragraphs are 1.1rem.</p>
<p>
The second paragraph is red. This and the following paragraphs are italic.
</p>
<p>The third paragraph is NOT red. It is italic and 1.1rem.</p>
<p class="myClass">
Does not have an outline; this is a sibling of H2, not a child. It is italic
and 1.1rem.
</p>
çµæ
CSS å ¥ãåã«ããè¤éã»ã¬ã¯ã¿ã¼ã®ä½æ
ä¸è¨ã®è¤éã»ã¬ã¯ã¿ã¼ã¯ãåç´ã»ã¬ã¯ã¿ã¼ãçµååãCSS å
¥ãå ã使ç¨ãã¦å®ç¾©ãããã¨ãã§ãã¾ãã & å
¥ãåã»ã¬ã¯ã¿ã¼ã¯ãã£ã¦ããªãã¦ãæ§ãã¾ããã
CSS
ãã®ä¾ã§ã¯ãåç´ã»ã¬ã¯ã¿ã¼ã¨çµååã使ç¨ãã¦åã 5 ã¤ã®ç¸å¯¾ã»ã¬ã¯ã¿ã¼ãè¤è£½ãã¾ãããä»å㯠CSS å ¥ãåã使ç¨ãã¾ãã
h2 {
& + p {
& ~ p {
font-style: italic;
}
& + p {
color: red;
}
}
}
.myClass {
& + p {
text-decoration: underline;
}
}
#myId {
& > .myClass {
outline: 3px dashed red;
}
}
* {
& > p {
font-size: 1.1rem;
}
}
HTML
<h2 class="myClass" id="myId">
No selectors match. <span class="myClass">This span has an outline</span> as
it is both myClass and a child of #myId.
</h2>
<p>The first paragraph is underlined. All the paragraphs are 1.1rem.</p>
<p>
The second paragraph is red. This and the following paragraphs are italic.
</p>
<p>The third paragraph is NOT red. It is italic and 1.1rem.</p>
<p class="myClass">
Does not have an outline; this is a sibling of H2, not a child. It is italic
and 1.1rem.
</p>
çµæ
屿§ã»ã¬ã¯ã¿ã¼
屿§ã»ã¬ã¯ã¿ã¼ã¯ãã»ã¬ã¯ã¿ã¼ã®æ¸ãæ¹ã«ãã£ã¦ãæå®ããã屿§ãæã¤ããæå®ããã屿§ã¨é¨åæååã®å¤ãä¸è´ããè¦ç´ ããã¹ã¦é¸æãã¾ãã
ä¾ãã°ã [type] 㯠type 屿§ãè¨å®ããã¦ããï¼ä»»æã®å¤ã®ï¼ãã¹ã¦ã®è¦ç´ ã«ä¸è´ãã [type="submit"] 㯠<input type="submit"> 㨠<button type="submit"> ã®ã»ãã type="submit" ãè¨å®ããã¦ããä»»æã®è¦ç´ ã«ä¸è´ãã¾ãï¼ãã®å±æ§ã¨å¤ã®ãã¢ã¯ <input> 㨠<button> è¦ç´ ã§ã®ã¿å¯¾å¿ãã¦ãã¾ããï¼ãç
§åã¯å¤§æåã¨å°æåãåºå¥ãã¾ããã
屿§ã®å¤§æåã¨å°æåã®åºå¥ã¯è¨èªã«ä¾åãã¾ããä¸è¬çã« HTML ã§ã¯ã屿§ãåæåã®å ´åããã®å¤ãåæãããå¤ã®ä¸ã¤ã§ãªãã¦ãããããã¯ãã®å±æ§ãè¨å®ããã«ã¯æå¹ãªå¤ã§ãªãã¦ããã»ã¬ã¯ã¿ã¼å
ã®å¤ã¯å¤§æåã¨å°æåãåºå¥ãã¾ããã class, id, data-* 屿§ã®ãããªåæåã§ã¯ãªã屿§ãã¾ã㯠role ã aria-* 屿§ã®ãããªé HTML 屿§ã§ã¯ãå¤ã®ç
§åã¯å¤§æåã¨å°æåãåºå¥ãã¾ãã大æåå°æåãåºå¥ããªã修飾å (i) ã§å¤§æåå°æåã®åºå¥ããªãããã¨ãã§ãã¾ãã
æ¬ä¼¼ã¯ã©ã¹ã»ã¬ã¯ã¿ã¼
CSS ã»ã¬ã¯ã¿ã¼ã¢ã¸ã¥ã¼ã«ã§ã¯ã 60 以ä¸ã®æ¬ä¼¼ã¯ã©ã¹ãå®ç¾©ãã¦ãã¾ããæ¬ä¼¼ã¯ã©ã¹ã¯ã³ãã³ (:) ãæ¥é è¾ã¨ããåç´ã»ã¬ã¯ã¿ã¼ã§ãææ¸ããªã¼å
ã«å«ã¾ããªãç¶æ
ã®æ
å ±ã«åºã¥ãã¦è¦ç´ ã鏿ã§ããããã«ãã¾ããæ¬ä¼¼ã¯ã©ã¹ã使ç¨ãããã¨ã§ãç¶æ
ã«åºã¥ãã¦è¦ç´ ãã¹ã¿ã¤ã«è¨å®ãããã¨ãã§ãã¾ãã
ä¾ãã°ã :target åç´ã»ã¬ã¯ã¿ã¼ã¯ãã©ã°ã¡ã³ãèå¥åãæã¤ URL ã®è¦ç´ ã対象ã¨ãã a:visited è¤åã»ã¬ã¯ã¿ã¼ã¯ã¦ã¼ã¶ã¼ã訪åãããã¹ã¦ã® <a> è¦ç´ ã«ä¸è´ãã¾ãã
æ¬ä¼¼ã¯ã©ã¹ã¯ãè¦ç´ ã®è¡¨ç¤ºç¶æ ãå ¥åãè¨èªãä½ç½®ããªã½ã¼ã¹ç¶æ ãæé軸ãããªã¼æ§é ãã¦ã¼ã¶ã¼æä½ã颿°ã«åé¡ãããã¨ãã§ãã¾ãã
è¤æ°ã®æ¬ä¼¼ã¯ã©ã¹ãçµã¿åããã¦è¤åã»ã¬ã¯ã¿ã¼ã使ãããã¨ãã§ãã¾ããæ¬ä¼¼ã¯ã©ã¹ãè¦ç´ åã»ã¬ã¯ã¿ã¼ãå ¨ç§°ã»ã¬ã¯ã¿ã¼ã¨è¤åã»ã¬ã¯ã¿ã¼ã«çµåããå ´åãæ¬ä¼¼ã¯ã©ã¹ã¯ãè¦ç´ åã»ã¬ã¯ã¿ã¼ãå ¨ç§°ã»ã¬ã¯ã¿ã¼ã®å¾ã«ç½®ããªããã°ãªãã¾ããã
æ¬ä¼¼è¦ç´ ã»ã¬ã¯ã¿ã¼
ãã¹ã¦ã® CSS ã»ã¬ã¯ã¿ã¼ã CSS ã»ã¬ã¯ã¿ã¼ã¢ã¸ã¥ã¼ã«ã§å®ç¾©ããã¦ããããã§ã¯ããã¾ããã CSS æ¬ä¼¼è¦ç´ ã®ã»ã¬ã¯ã¿ã¼ã¯ CSS æ¬ä¼¼è¦ç´ ã¢ã¸ã¥ã¼ã«ã§å®ç¾©ããã¦ãã¾ãã
CSS ã®æ¬ä¼¼è¦ç´ ã¯æ¥é è¾ã¨ãã¦ã³ãã³ (::) ã 2 ã¤ä»ãããã®ã§ã HTML ã«å«ã¾ããªãè¦ç´ ã表ãã¾ããä¾ãã°ãåç´ã»ã¬ã¯ã¿ã¼ã§ãã ::marker ã¯ãªã¹ãé
ç®ã®ç®æ¡æ¸ãè¨å·ã鏿ããè¤åã»ã¬ã¯ã¿ã¼ p::first-line ã¯ãã¹ã¦ã® <p> è¦ç´ ã®æåã®è¡ã«ä¸è´ãã¾ãã
仿§æ¸
| 仿§æ¸ |
|---|
| Selectors Level 4 > |
| CSS Pseudo-Elements Module Level 4 > |
æ¬ä¼¼ã¯ã©ã¹ã¨æ¬ä¼¼è¦ç´ ã«ã¤ãã¦ã¯ãããããã®ä»æ§æ¸è¡¨ãåç §ãã¦ãã ããã