Chrome 输入数最大属性调整大小字段

4ioopgfo  于 2023-04-27  发布在  Go
关注(0)|答案(3)|浏览(158)

当在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

3mpgtkmj

3mpgtkmj1#

使用百分比和div的解决方案

虽然这个问题已经发布了将近6年,但就在几分钟前,我发现自己处于与OP相同的情况。解决方案是添加一个div作为输入字段的容器。然后在输入的宽度上添加填充所有可用空间的规则,此时我们可以根据需要更改div Package 器的大小。
前两个输入显示了没有div时的情况。最后两个输入具有相同的大小,尽管'max'值不同。

p{margin-bottom: 0;}

.wrapped{
    width: -moz-available;
    width: -webkit-fill-available;
    width: fill-available;
}
.inputWrapper{width: 30%;}
<p>Min 0, max 10</p>
<input type="number" min="0" max="10">

<p>Min 0, max 1000000</p>
<input type="number" min="0" max="1000000">

<div class="inputWrapper">
    <p>Wrapped: min 0, max 10</p>
    <input class="wrapped" type="number" min="0" max="10">

    <p>Wrapped: min 0, max 1000000</p>
    <input class="wrapped" type="number" min="0" max="1000000">
</div>

关于自动调整输入字段大小

老实说,我没有读过关于自动调整大小的文档,当我注意到这种意想不到的和不希望的行为时,我很惊讶。从下面的简单测试中,我们可以看到,只有在设置了“min”和“max”两个值时,才会发生调整大小:调整大小似乎只与max-0之间的距离成比例,而不是与max-min之间的距离成比例。注意,这是没有建议的解决方案的默认行为。

p{margin-bottom:0;}
<p>Min 0</p>
<input type="number" min="0">

<p>Min 100</p>
<input type="number" min="100">

<p>Max 0</p>
<input type="number" max="0">

<p>Max 100</p>
<input type="number" max="100">
<p> The previous input fields have the same width<p>

<p>Min 0, max 10</p>
<input type="number" min="0" max="10">

<p>Min 0, max 100</p>
<input type="number" min="0" max="100">

<p>Min 99, max 100</p>
<input type="number" min="99" max="100">
o2g1uqev

o2g1uqev2#

只需设置一个width作为输入。

input {
  width: 100px;
}

例如。

z3yyvxxp

z3yyvxxp3#

这个变种对我不起作用:

input {
  width: 100px;
}

但这个办法奏效了:

input {
   min-width: 100px;
}

相关问题