简单地说,我认为输入'size'字段现在已经过时了(就像css之外的其他html样式一样),并且大多数sizing属性已经被弃用了,为什么不输入呢?
答案 0 :(得分:4)
也许你对size
和width
/ height
属性感到困惑(顺便说一句,当你说场时我很困惑)。但假设你没有,让我解释size
的用途。
size
属性元素size
的属性<input>
适用于文本输入,如电子邮件,密码等。它定义输入的最大字符宽度。比方说,例如,您希望最大密码长度为4以阻止用户,您给它 size=4
,因此您无法输入 dinosaur 之类的密码(在 dino之后输入的任何内容除非先删除之前的字母,否则不会出现
编辑:正如Maksym在评论中指出的那样,上面是由 maxwidth
定义的,不是 size
。 size
,如果我们引用HTML4 spec,
除非type属性具有值“text”或“password”。在这种情况下,它的值是指(整数)个字符数。
所以size=4
大约有4个(等宽字体?)字符(我使用谷歌浏览器的实验已经使它成为size+1
,即size=4
是5个字符宽。)
现在,如果是维度属性width
和height
。对于<input>
元素,它们仅适用于图像按钮。它们定义按钮的尺寸。现在为什么不能只为他们应用CSS?
首先,要知道CSS是出于视觉目的。图像按钮提交用户单击的坐标。这种行为需要在浏览器之间保持一致,无论它们是否支持CSS。看到这个扭曲的图像:
可能存在这样的情况:要求用户单击字母 e 以使表单提交以不同方式处理。服务器可能会检查x坐标是否为75 <= x <= 90
。但是如果您使用CSS定义维度,则禁用CSS的浏览器将会看到此图像:
之前的坐标范围检查不再有效,因为字母 e 位于右侧,几乎不在75和90之内(您需要点击第一个的左侧) o
获得相同的输入。)
答案 1 :(得分:2)
这确实是一个修辞问题......或者是一个有说服力的论证。不过你是对的 - 它很容易被弃用,CSS也会被接管。至于为什么,这个答案只能来自作为决策过程一部分的W3C内部的人。您还可以问为什么不在表中弃用cellpadding,cellspacing和width属性。
答案 2 :(得分:2)
我能告诉你的最好的答案是HTML不是一种纯粹的语言 - 而它正在回归它的只是内容而不是风格或行为的根源,它仍然拥有90年代和00年代的遗产,这意味着它仍然存在超出内容的担忧。
答案 3 :(得分:0)
没有弃用此属性的正当理由:“网络可用性”
当用户查看您的网站时,考虑到CSS已启用或不可用,让这个人看到长字段真是个坏主意,而事实上,该字段只需要几个字符(例如ID,电话号码等)。
CSS很好,是的,但前提是您还考虑过无法使用它们的人。