属性选择器根据元素是否拥有某个属性,或属性值是否符合条件来匹配。[required] 检查属性存在,[type="email"] 检查完整值,适合为不同输入控件提供清晰提示。
先读懂一条规则
CSS 声明写成 属性: 值;。分号表示一条声明结束,大括号把属于同一选择器的声明放在一起。浏览器会从上到下读取规则;当多条规则匹配同一元素时,会根据选择器、来源和先后顺序决定最终样式。
<label>
Email
<input type="email" required>
</label>
<label>
Name
<input type="text">
</label>input { padding: 8px; border: 1px solid #94a3b8; }
input[required] { border-left: 5px solid #dc2626; }
input[type="email"] { background: #eff6ff; }修改 CSS 时一次改变一个值,并观察文字、颜色、尺寸或位置的变化。这样能把“哪条声明造成了哪个结果”对应起来。开发者工具中看到的样式也来自同样的匹配过程。
编写时的检查顺序
- 先确认选择器能匹配目标 HTML 元素。
- 再检查属性名、冒号、值和分号是否完整。
- 最后检查窄屏、长文字和键盘操作下是否仍然清楚。
互动实验
实时样式实验:属性选择器
访问权限PRO
PRO EXCLUSIVE探索不止于此
尊享 Pro 权益解锁完整互动实验、进阶解析与精选参考答案。
容易混淆的地方
CSS 不会改变 HTML 的含义,只改变呈现和布局。不要为了获得某种外观而换成含义错误的 HTML 标签。颜色、字号和位置也要以可读性为先。
知识测验
题目
哪个选择器匹配所有带有
required 属性的元素?
动手练习
练习:制作一个属性选择器示例
使用给定 HTML 编写一小组 CSS,并通过浏览器预览逐项核对结果。
- 保留 HTML 的内容和语义结构。
- 写出与本节知识点有关的选择器和至少三条声明。
- 检查文字与背景对比度,并确认内容没有被遮挡或截断。
HTML 结构
HTML
<label>
Email
<input type="email" required>
</label>
<label>
Name
<input type="text">
</label>