首页/ 学科题库/ CSS/ CSS属性选择器
CSS 实战教程

CSS属性选择器

2026-05-16 约 8 分钟 juanwangdev

CSS属性选择器

属性选择器根据元素的属性或属性值来匹配元素。

基本语法

CSS
[属性] { }
[属性=值] { }
[属性~=值] { }
[属性|=值] { }
[属性^=值] { }
[属性$=值] { }
[属性*=值] { }

存在属性匹配

CSS
/* 匹配有 disabled 属性的元素 */
[disabled] {
  opacity: 0.5;
}

/* 匹配有 type 属性的元素 */
[type] {
  border: 1px solid #ccc;
}

精确值匹配

CSS
/* type 属性值精确为 text */
[type="text"] {
  padding: 8px;
}

/* type 属性值精确为 checkbox */
[type="checkbox"] {
  width: 20px;
  height: 20px;
}

匹配模式汇总

语法说明示例
[attr]存在属性[disabled]
[attr=val]精确匹配[type="text"]
[attr~=val]包含单词[class~="active"]
`[attr=val]`开头或开头-
[attr^=val]开头匹配[href^="https"]
[attr$=val]结尾匹配[href$=".pdf"]
[attr*=val]包含匹配[href*="example"]

实用示例

CSS
/* 匹配所有外部链接 */
a[href^="http"] {
  color: blue;
}

/* 匹配所有 PDF 链接 */
a[href$=".pdf"] {
  background: url('pdf-icon.png');
}

/* 匹配邮箱链接 */
a[href^="mailto"] {
  color: green;
}

/* 匹配特定类名 */
[class~="btn"] {
  cursor: pointer;
}

/* 匹配自定义属性 */
[data-role="modal"] {
  position: fixed;
}

[data-index] {
  background: #eee;
}

组合使用

CSS
/* 标签与属性组合 */
input[type="text"] {
  border: 1px solid #ccc;
}

/* 多属性组合 */
input[type="checkbox"][checked] {
  border-color: blue;
}

注意:属性选择器权重为10,与类选择器相同。

要点总结

  • [attr] 匹配有该属性的元素
  • [attr=val] 精确匹配属性值
  • ^= $= *= 分别匹配开头、结尾、包含
  • 权重为10,适合精确筛选元素

存放路径:articles/CSS/入门/CSS选择器/CSS属性选择器.md

想在手机上练这篇的配套题目?
使用微信 卷王开发者小程序/App,首页顶部扫一扫识别下方二维码,即可解锁本讲对应真题与错题本。
了解产品 App
← 上一篇 CSS标签选择器 下一篇 → CSS伪类选择器