屿§éæ©å¨
åºçº¿
广æ³å¯ç¨
*
èª 2015å¹´7æ èµ·ï¼æ¤ç¹æ§å·²å¨ä¸»æµæµè§å¨ä¸å¾å°æ¯æï¼å¯å¨å¤§å¤æ°è®¾å¤åæµè§å¨çæ¬ä¸æ£å¸¸ä½¿ç¨ã
* æ¤ç¹æ§çæäºé¨åçæ¯æç¨åº¦å¯è½ææä¸åã
CSS 屿§éæ©å¨å¹é é£äºå ·æç¹å®å±æ§æå±æ§å¼çå ç´ ã
/* åå¨ title 屿§ç <a> å
ç´ */
a[title] {
color: purple;
}
/* åå¨ href 屿§å¹¶ä¸å±æ§å¼å¹é
"https://example.org"ç <a> å
ç´ */
a[href="/proxy/example.org"] {
color: green;
}
/* åå¨ href 屿§å¹¶ä¸å±æ§å¼å
å«"example"ç <a> å
ç´ */
a[href*="example"] {
font-size: 2em;
}
/* åå¨ href 屿§å¹¶ä¸å±æ§å¼ç»å°¾æ¯".org"ç <a> å
ç´ */
a[href$=".org"] {
font-style: italic;
}
/* åå¨ class 屿§å¹¶ä¸å±æ§å¼å
å«åè¯"logo"ç<a>å
ç´ */
a[class~="logo"] {
padding: 2px;
}
è¯æ³
[attr]-
表示带æä»¥ attr å½åç屿§çå ç´ ã
[attr=value]-
表示带æä»¥ attr å½åç屿§ï¼ä¸å±æ§å¼ä¸º value çå ç´ ã
[attr~=value]-
表示带æä»¥ attr å½åç屿§çå ç´ ï¼å¹¶ä¸è¯¥å±æ§æ¯ä¸ä¸ªä»¥ç©ºæ ¼ä½ä¸ºåéçå¼å表ï¼å ¶ä¸è³å°æä¸ä¸ªå¼ä¸º valueã
[attr|=value]-
表示带æä»¥ attr å½åç屿§çå ç´ ï¼å±æ§å¼ä¸ºâvalueâææ¯ä»¥âvalue-â为åç¼ï¼
-为è¿å符ï¼Unicode ç¼ç 为 U+002Dï¼å¼å¤´ãå ¸åçåºç¨åºæ¯æ¯ç¨æ¥å¹é è¯è¨ç®å代ç ï¼å¦ zh-CNãzh-TW å¯ä»¥ç¨ zh ä½ä¸º valueï¼ã [attr^=value]-
表示带æä»¥ attr å½åç屿§ï¼ä¸å±æ§å¼æ¯ä»¥ value å¼å¤´çå ç´ ã
[attr$=value]-
表示带æä»¥ attr å½åç屿§ï¼ä¸å±æ§å¼æ¯ä»¥ value ç»å°¾çå ç´ ã
[attr*=value]-
表示带æä»¥ attr å½åç屿§ï¼ä¸å±æ§å¼è³å°å å«ä¸ä¸ª value å¼çå ç´ ã
[attr operator value i]-
å¨å±æ§éæ©å¨ç峿¹æ¬å·åæ·»å ä¸ä¸ªç¨ç©ºæ ¼éå¼ç忝
iï¼æIï¼ï¼å¯ä»¥å¨å¹é 屿§å¼æ¶å¿½ç¥å¤§å°åï¼æ¯æ ASCII å符èå´ä¹å ç忝ï¼ã [attr operator value s]-
å¨å±æ§éæ©å¨ç峿¹æ¬å·åæ·»å ä¸ä¸ªç¨ç©ºæ ¼éå¼ç忝
sï¼æSï¼ï¼å¯ä»¥å¨å¹é 屿§å¼æ¶åºå大å°åï¼æ¯æ ASCII å符èå´ä¹å ç忝ï¼ã
示ä¾
>龿¥
CSS
a {
color: blue;
}
/* 以 "#" å¼å¤´ç页é¢å
é¨é¾æ¥ */
a[href^="#"] {
background-color: gold;
}
/* å
å« "example" ç龿¥ */
a[href*="example"] {
background-color: silver;
}
/* å
å« "insensitive" ç龿¥ï¼ä¸åºå大å°å */
a[href*="insensitive" i] {
color: cyan;
}
/* å
å« "cAsE" ç龿¥ï¼åºå大å°å */
a[href*="cAsE" s] {
color: pink;
}
/* 以 ".org" ç»å°¾ç龿¥ */
a[href$=".org"] {
color: red;
}
/* 以 "https" å¼å§ï¼".org" ç»å°¾ç龿¥ */
a[href^="https"][href$=".org"] {
color: green;
}
HTML
<ul>
<li><a href="#internal">å
é¨é¾æ¥</a></li>
<li><a href="/proxy/example.com">示ä¾é¾æ¥</a></li>
<li><a href="#InSensitive">éææå
é¨é¾æ¥</a></li>
<li><a href="/proxy/example.org">ç¤ºä¾ org 龿¥</a></li>
<li><a href="/proxy/example.org">ç¤ºä¾ https org 龿¥</a></li>
</ul>
ç»æ
å¤è¯è¨
CSS
/* å°ææå
å« `lang` 屿§ç <div> å
ç´ çåé设为 bold */
div[lang] {
font-weight: bold;
}
/* å°ææè¯è¨ä¸ºç¾å¼è±è¯ç <div> å
ç´ çææ¬é¢è²è®¾ä¸ºèè² */
div[lang~="en-us"] {
color: blue;
}
/* å°ææè¯è¨ä¸ºè¡èçè¯ç <div> å
ç´ çææ¬é¢è²è®¾ä¸ºç»¿è² */
div[lang="pt"] {
color: green;
}
/* å°ææè¯è¨ä¸ºä¸æç <div> å
ç´ çææ¬é¢è²è®¾ä¸ºçº¢è²
æ 论æ¯ç®ä½ä¸æï¼zh-CNï¼è¿æ¯ç¹ä½ä¸æï¼zh-TWï¼ */
div[lang|="zh"] {
color: red;
}
/* å°ææ `data-lang` 屿§çå¼ä¸º "zh-TW" ç <div> å
ç´ çææ¬é¢è²è®¾ä¸ºç´«è² */
/* 夿³¨ï¼å JS ä¸åï¼CSS å¯ä»¥å¨ä¸ä½¿ç¨åå¼å·çæ
åµä¸ç´æ¥ä½¿ç¨å¸¦è¿å符ç屿§å */
div[data-lang="zh-TW"] {
color: purple;
}
HTML
<div lang="en-us en-gb en-au en-nz">Hello World!</div>
<div lang="pt">Olá Mundo!</div>
<div lang="zh-CN">ä¸çä½ å¥½ï¼</div>
<div lang="zh-TW">ä¸çä½ å¥½ï¼</div>
<div data-lang="zh-TW">ä¸çä½ å¥½ï¼</div>
ç»æ
HTML æåºå表
HTML è§èè¦æ± type 屿§è¢«ä¸å大å°åå°å¹é
ï¼å 为å®ä¸»è¦ç¨äº <input> å
ç´ ä¸ã请注æï¼å¦æç¨æ·ä»£ç䏿¯æè¿äºä¿®é¥°ç¬¦ï¼é£ä¹éæ©å¨å°æ æ³å¹é
ã
CSS
/* æ ¹æ®ææ¡£è¯è¨ä¸åï¼å¤§å°åæææ§ä¸å */
ol[type="a"] {
list-style-type: lower-alpha;
background: red;
}
ol[type="b" s] {
list-style-type: lower-alpha;
background: lime;
}
ol[type="B" s] {
list-style-type: upper-alpha;
background: grey;
}
ol[type="c" i] {
list-style-type: upper-alpha;
background: green;
}
HTML
<ol type="A">
<li>é大å°åææå¹é
åç°çº¢è²èæ¯ï¼ç±»åéæ©å¨é»è®¤å¼ï¼</li>
</ol>
<ol type="b">
<li>å¦ææ¯æ `s` 修饰符ï¼å¤§å°åææå¹é
ï¼ï¼æ¥æäº®ç»¿è²èæ¯</li>
</ol>
<ol type="B">
<li>å¦ææ¯æ `s` 修饰符ï¼å¤§å°åææå¹é
ï¼ï¼æ¥æç°è²èæ¯</li>
</ol>
<ol type="C">
<li>å¦ææ¯æ `i` 修饰符ï¼å¤§å°å䏿æå¹é
ï¼ï¼æ¥æç»¿è²èæ¯</li>
</ol>
ç»æ
è§è
| è§è |
|---|
| Selectors Level 4> # attribute-selectors> |
æµè§å¨å ¼å®¹æ§
åè§
attr()- éæ©å个å
ç´ ï¼
Document.querySelector()ãDocumentFragment.querySelector()æElement.querySelector() - éæ©ææå¹é
çå
ç´ ï¼
Document.querySelectorAll()ãDocumentFragment.querySelectorAll()æElement.querySelectorAll()