我对它maxlength和size属性之间的区别有点困惑.
<input type="text" name="telephone" maxlength="30" size="34">
Run Code Online (Sandbox Code Playgroud)
我知道这maxlength用于控制输入数据.那么一次使用这两个属性的原因是什么?
Juk*_*ela 43
的maxlength(未max-length)属性指定字符的输入字符串的最大长度,或更确切地说,在代码单元.希望浏览器通过拒绝接受更多字符来强制执行此操作.但是,这并不意味着可以作为一种安全措施,因为它可以被忽视.相反,它告诉用户在处理数据时不再接受任何字符.当你必须设置一个上限时,这很有用,例如你的数据库只能存储一些信息的固定数量的字符,并且当长度有逻辑限制时(例如,如果数据是双字母代码)对于美国州,它的逻辑上限为2).
maxlength因此该属性是逻辑的,并且甚至在非可视用户界面中也可以工作.它并不意味着以任何方式影响输入字段的视觉外观.
size相反,该属性仅用于视觉渲染.根据"平均"字符,它建议字段的可见宽度.这个模糊的概念在规范中尚未阐明,并且浏览器不一致地实现它.使用等宽字体时效果最佳.此属性不限制输入的字符数,但会影响可用性:例如,在一个字段中输入30个字符长的字符串很困难,一次只能看到10个字符.字段的宽度也是给用户的信号:它表示输入的预期最大宽度.
通常适合使用这两个属性,通常具有相同的值.例如,如果该字段是5位数的邮政编码,size=5 maxlength=5则适用,特别是如果您也设置font-family: monospace,以便实际宽度或多或少恰好是五位数.
但是,值可能不同.例如,当你在邮政地址中要求一行时,你可能会设置size=30,因为这通常足以用于一行,但是maxlength=80,如果这对应于数据库或数据处理设置的限制,你没有特别的理由不这样做排长龙.
该size属性原则上可以由CSS替换,因为它仅处理可视化渲染.但是,宽度通常最好用字符设置,并且CSS中字符的平均宽度没有普遍支持的单位; 新ch单元接近,但不完全相同,旧浏览器不支持.
小智 5
max-length用于表示输入字段中可以输入的字符数,而不管屏幕上显示的字段多大。该size属性确定字段在屏幕上的宽度。
例如,我通常将它用于输入可能相当长的电子邮件地址之类的事情,但是出于美学原因(良好的网页设计),您希望输入字段具有一定的长度。
<input type="text" name="email" maxlength="50" size="20">
用户输入了超过20个字符的电子邮件地址后,该字段将在输入时开始滚动。