step值必须为数字字符串或"any",仅对number/range/date/time等类型生效;需与min/max对齐避免漂移,小数优先转整数单位规避浮点误差。

step值必须是合法数值,不能是字符串单位或小数精度描述
浏览器只接受 step 属性为数字字符串(如 "1"、"0.01")或 "any",写成 "1px"、"0.1秒"、"两位小数" 或 "1/10" 都会被静默忽略。常见错误是把 step 当作“格式提示”,比如以为 step="0.1" 就能自动补零显示 "0.10"——它不控制显示格式,只定义合法值集合。
小数 step 要避开浮点精度坑,优先用整数单位表达
像 step="0.1" 这类十进制小数在二进制中无法精确表示,累加后容易出现 0.30000000000000004,导致校验失败或箭头跳变异常。真实项目中更稳妥的做法是换算为整数单位:
将调研报告、方案对比、数据分析、需求梳理、会议纪要、设计说明、代码评审、学习笔记等任务产物输出为可在浏览器直接打开的单文件 HTML,替代 Markdown 作为最终交付物。Markdown 在信息密度、视觉清晰度和可分享性上已跟不上 AI 产物的丰富度,HTML 能同时承载排版、表格、SVG 等。
- 金额输入:用“分”代替“元”,
min="0" max="10000" step="1"(对应 0.00~100.00 元) - 折扣率:用“百分比整数”,
min="0" max="100" step="1"(对应 0%~100%,后端再除以 100) - 时间间隔:15 分钟必须写
step="900"(不是"15"或"15m")
step 必须和 min/max 对齐,否则第一个合法值会漂移
step 的起始点永远是 min 值,不是 0。如果 min="0.05" 却配 step="0.1",合法序列是 0.05 → 0.15 → 0.25…,中间跳过了 0.10;用户点向上箭头,会从 0.05 直接跳到 0.15,体验断裂。正确对齐方式:
-
min="0.00" step="0.01"→ 合法值:0.00, 0.01, 0.02… -
min="10" step="5"→ 合法值:10, 15, 20… - 避免
min="1" step="0.3"这类组合,空档过大且跨浏览器行为不一致
type 不匹配时 step 完全无效,别指望它在 text 或 div 上起作用
step 只对 type="number"、type="range"、type="date"、type="time" 等有限类型生效。给 type="text" 或普通 div 加 step="0.5",DevTools 里能看到属性,但 spinner 不出现、校验不触发、JS 也拿不到任何步进约束效果。需要坐标微调、键盘方向键响应等交互逻辑,必须自己监听 keydown 并手动计算,step 在这里毫无关系。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!










