我有一个html格式的输入字段
<input type="text" size="30">
我想只显示30个字符,所以我将大小设置为30。
但是文本字段的行为取决于输入的char是什么 有时它显示的焦炭少于30。 有时它显示超过30个。
例如:
如果我输入123456789012345678901234567890
它只显示28个字符,即使它有30个字符
如果我只输入l
字符,我可以输入近50个字符
这可能是什么原因 我无法理解 有人有想法吗? 我想知道每个char是否需要在表单中显示不同的空格?
答案 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)