以前写css,总是会用到三种选择器:派生选择器、id选择器和类选择器。
今天在看蓝色里colinivy写的CSS 参考手册,又掌握了另外一种:属性选择器,也许是俺太孤陋寡闻了~~~
不过仔细看下,这些内容虽然简单,但有时候还真的很有用,具体如下:
【理论】
简单属性选择器
选择具有某个属性的元素,而不论该属性的值是什么,可以使用一个简单属性选择器。
例如,要选择有class属性的a元素,使其文本为红色:
a[class]{color:red;}
还可以根据多个属性值进行选择,只需将属性选择器链接在一起即可:
a[class][href]{color:red;}
根据具体属性值选择
除了选择具有某种属性的元素,还可以进一步缩小选择范围,只选择有特定属性值的元素。
例如:将指向web服务器上的某个特定文档的超链接设置为粗体:
a[href="http://www.mysite.com/about.html"]{font-weight:bold;}
与属性选择类似,可以把多个属性-值选择器链接在一起来选择元素:
a[href="http://www.mysite.com/about.html"][title="About Me"]{color:red;}
根据部分属性值选择
对于拥有多个用空格分隔的属性值的元素的选择时,如果只想匹配某个属性值,可以这样做:
<p class=”warning highlight”>远离电脑,珍爱生命!</p>
将具有”warning”类的所有段落文本设置为红色粗体:
p[class~="warning"]{color:red; font-weight:bold;}
子串匹配属性选择器
| 类型 | 描述 |
|---|---|
| [attr^="main"] | 选择attr属性值以”main”开头的所有元素。 |
| [hattr$="main"] | 选择attr属性值以”main”结尾的所有元素。 |
| [attr*="main"] | 选择attr属性值包含”main”的所有元素。 |
特定属性选择类型
[attr|="val"]选择attr属性等于”val”或以”val-”开头的元素。
<p lang=”en”>Hello,world!</p>
<p lang=”en-us”>Greetings!</p>
<p lang=”cy-en”>Wonderful!</p>
p[lang|="en"]{color:blue;}
前两个段落文本将被设置为蓝色。
【实践】
【应用】

【总结】
在以后写css,是个不错的选择,方法灵巧,而且易于维护;但我在IE6\IE7和FF3.0下做的测试,只有IE7和FF可以很好的支持,在IE6下没有效果,这是个比较郁闷的事,不知道有没有好的解决方法,值得期待。。。
[注]:文中理论部分选自于colinivy写的CSS 参考手册,非常感谢他,本人正在仔细阅读这个手册,写的很详实,有好的内容我会分享与大家!
发表评论有 1 位朋友发表了评论
嗯,我检查了一下代码,确实存在这个问题,目前已更新,新版本已解决这个问题
