关于css中的属性选择器

2008年11月6日 | 标签:

以前写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. 2009年7月8日18:59

    嗯,我检查了一下代码,确实存在这个问题,目前已更新,新版本已解决这个问题
    ;)

    hzhjun 于 2009-7-8 20:37:26 回复

    升级后已经解决次问题,你的速度真是高效,敬佩不已!