用于表示已知范围内的静态标量值(如CPU使用率),而非任务进度; 才表示动态、单向的完成比例。

HTML 元素不是“新特性”,它从 HTML5 就已存在,但长期被误用、忽略或用 替代——它只适合表示「已知范围内的标量测量值」,比如磁盘使用率、评分、电量,而不是进度。
什么时候该用 而不是
表示任务完成比例(动态、单向、有终点), 表示某个静态数值在预设区间里的相对位置(可高可低,无方向性)。
- ✅ 正确:
(CPU 使用率 85%) - ❌ 错误:
表示“第 3 步/共 5 步”——这是的职责 - ⚠️ 注意:
min/max必须是数字,且value必须落在区间内,否则浏览器会忽略渲染或显示空内容
的 low、high、optimum 干什么用
这三个属性不控制样式,而是告诉浏览器“数值的语义倾向”,影响默认配色(如 Chrome 中低于 low 显示红色,高于 high 显示橙色,靠近 optimum 显示绿色)。
-
low和high定义“正常区间”边界(比如 20–80),之外算偏低/偏高 -
optimum是“理想值”,可以等于min或max(比如电池电量 optimum=100,而服务器负载 optimum=0) - 如果没设
low/high,浏览器不会自动推断;设了但optimum超出范围,部分浏览器可能静默忽略配色逻辑
样式受限但能 hack:怎么让 看起来不像默认灰条
原生 样式极难统一控制,各浏览器渲染差异大(Chrome 支持伪元素,Firefox 基本不响应 CSS),别指望纯 CSS 跨浏览器定制颜色+圆角+动画。
- ✅ 可靠做法:用
role="meter"+模拟,配合 ARIA 属性(aria-valuenow,aria-valuemin,aria-valuemax)保持可访问性- ⚠️ 风险点:直接覆盖
appearance: none+ 伪元素(如meter::-webkit-meter-bar)在 Safari/Firefox 下无效,且未来可能被移除- ? 小技巧:若必须用原生
,至少加title属性(),鼠标悬停时提示数值真正麻烦的不是写法,而是判断——你手上的那个数值,到底是“已完成多少”,还是“处在什么水平”。选错标签,后续所有样式和语义都得返工。
- ⚠️ 风险点:直接覆盖
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











