当在Chrome中向输入数字字段添加最大值时,它会根据最大值的宽度重新调整字段的大小。
我似乎无法控制重新调整大小的行为。
<input type="number" name="" value="3500" placeholder="3500" min="500">
<br>
<input type="number" name="" value="3500" placeholder="3500" min="500" max="100000">
<br>
<input type="number" name="" value="3500" placeholder="3500" min="500" max="100000000">
问题:没有max属性,没有普通文本字段,如何让它表现得像?
PS:切换类型时,我看不到样式有任何变化。PPS:我必须说,我已经尝试使用-webkit-appearance: textfield;
,但Chrome已经默认使用textfield
。
3条答案
按热度按时间3mpgtkmj1#
使用百分比和div的解决方案
虽然这个问题已经发布了将近6年,但就在几分钟前,我发现自己处于与OP相同的情况。解决方案是添加一个div作为输入字段的容器。然后在输入的宽度上添加填充所有可用空间的规则,此时我们可以根据需要更改div Package 器的大小。
前两个输入显示了没有div时的情况。最后两个输入具有相同的大小,尽管'max'值不同。
关于自动调整输入字段大小
老实说,我没有读过关于自动调整大小的文档,当我注意到这种意想不到的和不希望的行为时,我很惊讶。从下面的简单测试中,我们可以看到,只有在设置了“min”和“max”两个值时,才会发生调整大小:调整大小似乎只与max-0之间的距离成比例,而不是与max-min之间的距离成比例。注意,这是没有建议的解决方案的默认行为。
o2g1uqev2#
只需设置一个
width
作为输入。例如。
z3yyvxxp3#
这个变种对我不起作用:
但这个办法奏效了: