Html输入类型文本大小问题

时间:2013-08-02 10:45:57

标签: html forms textbox character

我有一个html格式的输入字段

<input type="text" size="30">

我想只显示30个字符,所以我将大小设置为30。

但是文本字段的行为取决于输入的char是什么 有时它显示的焦炭少于30。 有时它显示超过30个。

例如:

如果我输入123456789012345678901234567890 它只显示28个字符,即使它有30个字符

如果我只输入l字符,我可以输入近50个字符

这可能是什么原因 我无法理解 有人有想法吗? 我想知道每个char是否需要在表单中显示不同的空格?

3 个答案:

答案 0 :(得分:2)

字符的宽度(或更确切地说,字形的前进宽度)通常变化很大,从窄“i”到宽“W”。 size属性将可见宽度设置为多个“平均”字符,一个模糊的概念(平均值是什么?),由不同的浏览器解释不同。

只有部分字体的宽度与所有字符相同。这种字体被称为“等宽字体”,它们通常难以阅读,并且可能使文本看起来像是在打字机上写的,但它们仍有其用途。要宽度为30个字符,请考虑在font-family: Consolas, monospace元素上设置input之类的内容。

答案 1 :(得分:1)

此行为是因为您输入的不同字符的大小不同。有些的尺寸较小,有些则较多。如果占用较小的空间,则文本框将占用更多字符。这是您遇到问题的唯一原因。 (如果你使用i而不是1,它也会占用超过50个字符。)

如果你的目标是占据正好30个字符,那么尝试使用属性“maxlength”,如下所示:

<input type="text" maxlength="30">

答案 2 :(得分:0)

尝试

<input type="text" maxlength="30">

Demo for both size and maxlength difference