HTML 属性:min

min 属性定义了包含该属性的输入控件可接受和有效的最小值。如果元素的 value 小于此值,则该元素将 验证失败。此值必须小于或等于 max 属性的值。

某些输入类型有默认最小值。如果输入控件没有默认最小值,并且为 min 指定的值无法转换为有效数字(或者没有设置最小值),则该输入控件没有最小值。

以下输入类型支持此属性:datemonthweektimedatetime-localnumberrange 类型,以及 <meter> 元素。

语法

按输入 type 分类的 min 值语法
输入类型 语法 示例
日期 yyyy-mm-dd <input type="date" min="2019-12-25" step="1">
月份 yyyy-mm <input type="month" min="2019-12" step="12">
yyyy-W## <input type="week" min="2019-W23" step="">
时间 HH:mm <input type="time" min="09:00" step="900">
datetime-local yyyy-mm-ddTHH:mm <input type="datetime-local" min="2019-12-25T19:30">
数字 <number> <input type="number" min="0" step="5" max="100">
range <number> <input type="range" min="60" step="5" max="100">

注意: 当用户输入的数据不符合设置的最小值时,该值在约束验证中被视为无效,并将匹配 :invalid:out-of-range 伪类。

有关更多信息,请参阅 客户端验证rangeUnderflow

对于 <meter> 元素,min 属性定义了测量范围的下限。如果指定了 max 属性,则此值必须小于 max 属性的值。在这两种情况下,如果省略,则值默认为 1。

其他元素的 min 值语法
输入类型 语法 示例
<meter> <number> <meter id="fuel" min="0" max="100" low="33" high="66" optimum="80" value="40"> 40/100</meter>

对 step 的影响

minstep 的值定义了有效值,即使 step 属性未包含,因为 step 默认为 0

我们在无效输入周围添加了一个大的红色边框

css
input:invalid {
  border: solid red 3px;
}

然后定义一个最小值设为 7.2 的输入控件,省略 step 属性,此时 step 默认为 1。

html
<input id="myNumber" name="myNumber" type="number" min="7.2" value="8" />

由于 step 默认为 1,有效值包括 7.28.29.2 等。值 8 是无效的。因为我们包含了一个无效值,支持此功能的浏览器将把该值显示为无效。

如果未显式包含,step 对于 numberrange 类型默认为 1,对于日期/时间输入类型,则默认为 1 个单位类型(秒、周、月、天)。

可访问性考虑

提供说明以帮助用户理解如何填写表单以及使用各个表单控件。指明任何必填和选填的输入、数据格式以及其他相关信息。在使用 min 属性时,请确保用户理解此最小要求。在 <label> 中提供说明可能就足够了。如果提供标签外的说明(这允许更灵活的定位和设计),可以考虑使用 aria-labelledbyaria-describedby

规范

规范
HTML
# attr-input-min
HTML
# attr-meter-max

浏览器兼容性

html.elements.input.min

html.elements.meter.min

另见