【CSS选择符】属性选择符

0017.jpg

使用属性选择器可以筛选出设定了特定属性的标签。例如选取所有设定了title属性的<img>标签:
img[title]

这种选择符的第一部分是标签名(img),随后是属性名,放在方括号里:[title] 。

CSS不限制属性选择符只能使用标签名,也可以使用类。例如:
.photo[title]

用于选取类为photo,而且设置了title属性的全部元素。

属性选择符不仅可以选取设定了某个属性的元素,还可以更进一步,选取属性值为指定值的元素。比如我们想突出显示指向某个URL的链接:

a[href="https://www.jianshu.com/c/1681745eb504"] {
    color: orange;
    font-weight: bold;
}

又例如需要选取表单中的文本框

input[type="text"] {
    color: #fff;
    background: #aaa;
}






以下是属性选择符的其他用法


[attribute~=value]

选取含有attribute的属性,且attribute属性的值是以空格隔开的系列值,其中某个值为value的指定元素。
或者选取含有attribute的属性,且attribute属性只有一个value值的元素。
[attribute~=value]是[attribute=value] 的加强版。

HTML代码

<p class="first test">我的简书ID:KelvinZ</p>
<p class="second">这是第二个P元素</p>
<p class="test">第三个P元素</p>
<div class="test">这是一个div元素</div>

CSS代码

p[class~="test"] {
  background: pink;
}
image.png





[attribute|=value]

选取含有attribute的属性,且attribute属性的值是以连字符分隔的系列值,其中第一个值为value的指定元素。

HTML代码

<p class="test-one">我的简书ID:KelvinZ</p>
<p class="second-test">这是第二个P元素</p>
<p class="test">第三个P元素</p>
<div class="test">这是一个div元素</div>

CSS代码

p[class|="test"] {
    background: pink;
}
image.png





[attribute^=value]

选取含有attribute的属性,且attribute属性的值是以value开头的指定元素。

HTML代码

<p class="test-one">我的简书ID:KelvinZ</p>
<p class="test-two">这是第二个P元素</p>
<p class="test">第三个P元素</p>
<div class="test">这是一个div元素</div>

CSS代码

p[class^="test"] {
    background: pink;
}
image.png





[attribute$=value]

选取含有attribute的属性,且attribute属性的值是以value结尾的指定元素。

HTML代码

<p class="test-one">我的简书ID:KelvinZ</p>
<p class="test-two">这是第二个P元素</p>
<p class="test">第三个P元素</p>
<div class="test">这是一个div元素</div>

CSS代码

p[class$="two"] {
    background: pink;
}
image.png





[attribute=value]*

选取含有attribute的属性,且attribute属性的值含有value的指定元素。

HTML代码

<p class="test-one">我的简书ID:KelvinZ</p>
<p class="test-two">这是第二个P元素</p>
<p class="test">第三个P元素</p>
<div class="test">这是一个div元素</div>

CSS代码

p[class*="o"] {
    background: pink;
}
image.png




其中[attribute^=value]、[attribute$=value]和[attribute*=value]是CSS 3.0新增的选择符。


上面的选择符匹配规则越严格优先级越高
例如:img[title="Rabbit"] 选择符定义的CSS样式会覆盖 img[title] 中相同定义的CSS样式。




最后是我常用的属性选择符的地方。

比如我要把站外的链接用不同颜色的字体突出显示。
a[href^="http://"]


要调整PDF文件padding:
a[href$=".pdf"]



HTML与CSS 目录:HTML与CSS

上一篇:【CSS选择符】伪类和伪元素

下一篇:【CSS选择符】子代选择符

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、样式篇 第1章 初识jQuery (1)环境搭建 进入官方网站获取最新的版本 http://jquery.co...
    凛0_0阅读 3,451评论 0 44
  • 一月,《心理咨询师基础知识》《漫画素描技法之人物表情刻画》《素描入门一本就够了》 二月,《九型人格》...
    一个会画画的文字控阅读 216评论 0 0
  • 前几天刚过了二十七岁生日,这真是老大徒伤悲啊,因为年龄渐长,必定催婚渐紧。 春节前,就看到有一门讲如何...
    婉婉兮阅读 275评论 4 2
  • 我一直想不明白,我为什么会喜欢一个眼睛小小,皮肤偏黑的眼镜男。这种类型,一向不是我的菜。可是自从十八岁生日那晚,他...
    小不稀阅读 300评论 0 1