欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

CSS权威指南学习笔记(一)--属性选择器_html/css_WEB-ITnose

程序员文章站 2022-04-06 21:04:49
...
如果希望选择具有某个属性的元素,而不论该属性的值是什么,可以使用属性选择器。

例如要选择有 class 属性(值不限)的所有 h1 元素,可以这样写:

h1[class]{}

也可以根据多个属性进行选择,例如,为了将同时有 href 和 title 属性的HTML超链接的文本置为粗体,可以写作:

a[href][title]{font-weight: bold;}

还可以只选择有特性属性值的元素,例如想要选择链接指向 “http://www.163.com” 的 a 标签:

a[href="http://www.163.com"]{}

同样,也可以把多个属性值选择器连接在一起,例如:

a[href="http://www.163.com"][title="网易"]{}

注意,这种格式要求属性值必须完全匹配,例如:

就不能被 p[class=”link1″] 成功匹配,必须写作 p[class=”link1 link2″]。

如果想要只用一个属性值来匹配,需要使用波浪线(~),例如:

p[class~="link1"]{}/* ~可用于任何属性,不仅限于class */

这个选择器等价于

p.link1{}

在IE7+的浏览器中,还支持“子串匹配选择器”,如下所示:

[foo^="bar"] /* 选择 foo 属性值以 "bar" 开头的所有元素 */
[foo$="bar"] /* 选择 foo 属性值以 "bar" 结尾的所有元素 */
[foo*="bar"] /* 选择 foo 属性值中包含 "bar" 的所有元素 */

例如,想要将指向”163.com”的所有链接设置为粗体,可以使用如下代码:

a[href*="163.com"]{font-weight: bold;}

还有一种特定属性选择器,如下所示:

*[lang|="en"]{}

这个规则会选择 lang 属性等于 en 或者以 en- 开头的所有元素。