全部学科
Python全栈
python
NodeJS全栈
nodejs
小程序首页
📅 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

📝 发现内容有误?点击此处直接编辑

← 上一篇 CSS伪类选择器
下一篇 → CSS标签选择器
想查看更多题目和详细解析?
小程序提供完整的题库、模拟考试和详细解析
马上就来

长按或扫描二维码,立即体验

扫码体验小程序
马上就来
使用微信扫描二维码
立即体验完整题库