属性值 选择器
除了可以选择有某些属性的元素外,还可以进一步缩小选择范围,只选择有特定属性值的元素。
1、可以根据具体的属性值选择;
2、可以根据部分属性值选择;
1、根据具体属性值选择
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>根据具体属性值选择</title> <style type="text/css"> a[href="http://www.w3.org/"][title="W3C Home"]{ font-size:200%; } </style> </head> <body> <p>1、<a href="http://www.w3.org/" >W3C Home</a></p> <p>2、<a href="http://www.w3.org/" title="W3C Home">W3C Home</a></p> <p>3、<a href="#" title="W3C Home">W3C Home</a></p> <p>4、<a href="http://www.w3.org" title="W3C Home">W3C Home</a></p> </body> </html>
显示效果:
注意,这种格式要求必须与属性值完全匹配。 如果遇到的值本身包含一个用空格分隔的值列表达,匹配就会出问题。例如,考虑以下标记片段:
<planet type="barren rocky">Mercury</planet>
要根据具体属性值匹配这个元素,唯一的办法就是写作:
planet[type="barren rocky"]{font-weight:blod;}
示例3:
<p class="urgent warning">When handling plutonium,care must be taken to avoid the formation of a critaical mass.</p>
要根据具体属性值来选择这个元素,必须写作:p[class="urgent warning"]{font-weight:blod;}
这不同于多类选择器(class中的属性值与顺序无关),需要完全匹配。
//==================================================
2、根据部分属性值选择器
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>根据部分属性值选择器/title> <style type="text/css"> span[class~="barren"]{ font-style:italic; } </style> </head> <body> <p>1、<span class="barren rocky" >Mercury</span></p> <p>2、 <span class="cloudy barren" >Venue</span></p> <p>3、 <span class="life-bearing cloudy">Jason</span></p> <p>4、 <span class="one-barren cloudy" >Tom</span></p> </body> </html>
显示效果:
请注意代码与显示效果的差别,红色的class="on-barren cloudy"将不匹配,也就是说用空格将"on-barren cloudy"分隔开之后出现"on-barren"和"cloudy"子串,与"barren"不匹配。
注意,选择器中出现了一个波浪号(~)。这正是部分选择的关键,即根据属性值中出现的一个用空格分隔的词来完成选择。如果忽略了这个波浪号,就变了完全值匹配。
类型 |
描述 |
[foo^=”bar”] |
选择 foo 属性值以 ”bar” 开头的所有元素 |
[foo$=”bar”] |
选择 foo 属性值以 ”bar” 结尾的所有元素 |
[foo*=”bar”] |
选择 foo 属性值包含子串 ”bar” 的所有元素 |
[foo~=”bar”] |
选择 foo 属性值先使用空格分隔开,其中包含子串 ”bar” 的所有元素。根据属性值中出现的一个用空格分隔的词来完成选择。 |