CSS属性选择器

简单属性选择(E[attr])

如果希望选择有某个属性的元素,而不论属性值是什么,可以使用简单属性选择器。

img[alt] {
    border: 1px solid #000;
}

上面代码所表示的是对所有带有 alt 属性的图像应用样式。这是对单一属性的运用,你也可以进行多属性的运用:

img[alt][title] {
    border: 1px solid #000;
}

上面代码表示的是对同时具有 alt 属性和 title 属性的图片应用相应的样式。

兼容性:
1. IE 7+
2. Firefox
3. Chrome
4. Safari
5. Opera

根据具体属性值选择(E[attr=”value”])

除了选择拥有某些属性的元素,还可以进一步缩小选择范围,只选择有特定属性值的元素。

p[class="demo"] {
    color: #fff;
    background: red;
}

上面代码表示的是对 class 属性是 demo 的 段落元素应用相应的样式。E[attr=”value”] 属性选择器也可以多个属性并写,进一步缩小选择范围:

<a href="http://blog.csdn.net/man_tutu" title="mantutu">mantutu</a>
a[href="http://blog.csdn.net/man_tutu"][title] {
    text-decoration: none;
}

请注意,这种格式要求必须与属性值完全匹配。如果属性值包含用空格分隔的值列表,匹配就可能出问题。

对于如下HTML代码:

<p class="demo important">demo</p>

如果写成如下:

p[class="demo"] {
    background: red;
    color: #fff;
}

上面的代码就无法对相应的 HTML 代码起到作用,因为他们的属性和属性值没有完全匹配。必须要写成如下代码,才能起到作用:

p[class="demo important"] {
    background: red;
    color: #fff;
}

兼容性:
1. IE 7+
2. Firefox
3. Chrome
4. Safari
5. Opera

根据部分属性值选择(E[attr~=”value”])

如果你想根据属性值中的词列表的某个词来进行选择元素,那么就需要使用这种属性选择器:E[attr~=”value”],这种属性选择器是属性值是一个或多个词列表,如果是列表时,他们需要用空格隔开,只要属性值中有一个 value 相匹配就可以选中该元素,而我们前面所讲的 E[attr=”value”] 是属性值需要完全匹配才会被选中,他们两者区别就是一个有“~”号,一个没有“~”号。

<p class="demo important">demo</p>
p[class~="demo"] {
    background: red;
    color: #fff;
}

上面的代码表示的是,p 元素的 class 属性中,只要包含有 demo 这个词就会被选中,并且应用相应的样式。

兼容性:
1. IE 7+
2. Firefox
3. Chrome
4. Safari
5. Opera

子串匹配属性选择器(E[attr^=”value”])

选择 attr 属性值以“value”开头的所有元素。

a[href^="https"] {
    background: red;
    color: #fff;
}

只要 a 元素中的 href 属性值是以“https”开头的 a 元素都会被选中。

兼容性:
1. IE 7+
2. Firefox
3. Chrome
4. Safari
5. Opera

子串匹配属性选择器(E[attr$=”value”])

E[attr$=”value”] 属性选择器刚好与 E[attr^=”value”] 选择器相反,E[attr$=”value”] 表示的是选择 attr 属性值以“value”结尾的所有元素。

a[href$="com"] {
    background: red;
    color: #fff;
}

上面代码表示的是只要 a 元素中的 href 属性值是以“com”结尾的 a 元素都会被选中。

兼容性:
1. IE 7+
2. Firefox
3. Chrome
4. Safari
5. Opera

子串匹配属性选择器(E[attr*=”value”])

E[attr*=”value”] 属性选择器表示的是选择 attr 属性值中包含子串“value”的所有元素。也就是说,只要你所选择的属性,其属性值中有这个“value”值都将被选中。

a[href*="www"] {
    background: red;
    color: #fff;
}

上面代码表示的是只要 a 元素的 href 属性中只要包含有“www”就符合选择条件。

兼容性:
1. IE 7+
2. Firefox
3. Chrome
4. Safari
5. Opera

特定属性选择类型(E[attr|=”value”])

E[attr|=”value”] 被称作为特定属性选择器。这个选择器会选择 attr 属性值等于 value 或以 value- 开头的所有元素。

<p lang="en">Hello!</p>
<p lang="en-us">Greetings!</p>
<p lang="en-au">G'day!</p>
<p lang="fr">Bonjour!</p>
<p lang="cy-en">Jrooana!</p>
*[lang|="en"] {color: red;}

上面这段代码表示会选中 lang 属性等于 en 或以 en- 开头的所有元素,并且应用相应的样式。

兼容性:
1. IE 7+
2. Firefox
3. Chrome
4. Safari
5. Opera

所有的属性选择器除了 IE6 不支持以外,其他浏览器都能够支持。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值