HTML 属性:step
step
属性是一个数字,指定值必须遵循的粒度或关键字 any
。它对数字输入类型有效,包括 日期、月份、星期、时间、本地日期和时间、数字 和 范围 类型。
step
设置点击向上和向下微调按钮、左右移动范围滑块以及验证不同日期类型时的步进间隔。如果未明确包含,则 step
默认为 number
和 range
的 1,以及日期/时间输入类型的 1 个单位类型(分钟、星期、月份、日期)。该值必须为正数 - 整数或浮点数 - 或特殊值 any
,这意味着不暗示步进,并且允许任何值(不包括其他约束,例如 min
和 max
)。
number
输入的默认步进值为 1,仅允许输入整数,除非步进基数不是整数。time
的默认步进值为 60 秒,其中 900 等于 15 分钟。
语法
输入类型 | 值 | 示例 |
---|---|---|
date | 1(天) | <input type="date" min="2019-12-25" step="1"> |
month | 1(月) | <input type="month" min="2019-12" step="12"> |
week | 1(周) | <input type="week" min="2019-W23" step="2"> |
时间 | 60(秒) | <input type="time" min="09:00" step="900"> |
日期时间-本地 | 60(秒) | <input type="datetime-local" min="2019-12-25T19:30" step="900"> |
数字 | 1 | <input type="number" min="0" step="0.1" max="10"> |
范围 | 1 | <input type="range" min="0" step="2" max="10"> |
如果未明确设置any
,则number
、日期/时间输入类型和range
输入类型的有效值等于步进的基础 - min
值和步进值的增量,直到max
值(如果指定)。以下示例导致任何偶数整数(10或更大)均有效
<input type="number" min="10" step="2" />
如果省略step
,则任何整数均有效,但浮点数(如4.2)无效,因为step
默认为1。要使4.2有效
step
必须设置为any
、0.1或0.2,- 或者
min
值必须是结尾为.2的数字,例如0.2、1.2或-5.2。
示例
min
对步进的影响
即使未包含step
属性,min
的值也定义有效值。这是因为对于number
输入类型,step
默认为1
。
在此示例中,我们在无效输入周围添加了一个大红色边框
input:invalid {
border: solid red 3px;
}
然后,我们定义一个最小值为1.2且步进值为2的输入
<input id="myNumber" name="myNumber" type="number" step="2" min="1.2" />
有效值包括1.2、3.2、5.2、7.2、9.2、11.2等。只有整数部分为奇数且小数部分为.2的浮点数有效。数字微调器(如果存在)会生成大于或等于1.2的有效浮点值,增量为2。
注意:当用户输入的数据不符合步进配置时,该值在约束验证中被视为无效,并将匹配:invalid
和:out-of-range
伪类。
有关更多信息,请参阅客户端验证和stepMismatch
。
无障碍问题
提供说明以帮助用户了解如何填写表单并使用各个表单控件。指示任何必填和可选输入、数据格式以及其他相关信息。使用min
属性时,请确保用户理解此最低要求。在<label>
中提供说明可能就足够了。如果在标签之外提供说明(允许更灵活的定位和设计),请考虑使用aria-labelledby
或aria-describedby
。
规范
规范 |
---|
HTML 标准 # attr-input-step |
浏览器兼容性
BCD 表格仅在浏览器中加载