HTML:为什么输入字段SIZE不被弃用?我们有style =“width:xx”!

时间:2010-06-29 20:41:55

标签: html input

简单地说,我认为输入'size'字段现在已经过时了(就像css之外的其他html样式一样),并且大多数sizing属性已经被弃用了,为什么不输入呢?

4 个答案:

答案 0 :(得分:4)

也许你对sizewidth / height属性感到困惑(顺便说一句,当你说场时我很困惑)。但假设你没有,让我解释size的用途。

size属性

元素size的属性<input>适用于文本输入,如电子邮件,密码等。它定义输入的最大字符宽度。比方说,例如,您希望最大密码长度为4以阻止用户,您给它size=4,因此您无法输入 dinosaur 之类的密码(在 dino之后输入的任何内容除非先删除之前的字母,否则不会出现

编辑:正如Maksym在评论中指出的那样,上面是由 maxwidth定义的,不是 sizesize,如果我们引用HTML4 spec

  

除非type属性具有值“text”或“password”。在这种情况下,它的值是指(整数)个字符数。

所以size=4大约有4个(等宽字体?)字符(我使用谷歌浏览器的实验已经使它成为size+1,即size=4是5个字符宽。)

维度属性

现在,如果是维度属性widthheight。对于<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很好,是的,但前提是您还考虑过无法使用它们的人。