gpt4 book ai didi

html - 输入是否需要 "type"?

转载 作者:太空宇宙 更新时间:2023-11-04 14:41:00 24 4
gpt4 key购买 nike

所以我又陷入了一场哲学辩论中;

当您只需要文本输入时,是否应该为input 指定type

type 的默认值当然是 text,因此省略默认属性即可完成您想要的并在标记中节省 12 个字节。

但是,我不禁觉得这有哪里不对。一个真实的场景是实现一个库,例如 Formalize ;它不会触及没有显式 type 的元素。

给我的替代方案是使用 :not([type]) 来终止 IE8 支持,或者将文本输入样式应用于所有 input然后为 submit 和其他不应看起来像文本框的内容全部撤消它们。当在标记中编写 type 会简单得多时,这两者对我来说听起来都很笨拙。

这也让我感到困惑,只是假设浏览器将在时间结束之前知道您的意思,而无需明确定义它。例如,随着 Windows 的成长,我只是假设 Times New Roman 是所有网页上的默认字体。然后我安装了 Ubuntu,男孩让我感到惊讶。

不定义 type 是一种不好的形式吗?是否有任何令人信服的理由不对其进行定义?对于不指定 type 并依赖于我提到的默认值,是否还有其他问题?此默认设置是否适用于旧版浏览器?非特定 input 的可访问性如何?

最佳答案

type <input> 不需要属性元素。如您所述,它默认为 text .然而,尽管这些是由 HTML 定义的语义,但一些工具并不遵守这一点。因此,明确指定它会更安全。

It also rubs me the wrong way to just assume that the browser will until the end of time just know what you mean without explicitly defining it.

它由 HTML 规范明确定义。一个<input>没有 type 的元素属性默认为 text 类型.除非浏览器以这种方式处理事情,否则它不会正确地呈现 HTML。您所做的唯一假设是这是未指定的行为。阅读规范。

For example, growing up with Windows I just assumed Times New Roman was the default font on web pages everywhere.

区别在于没有规范将其定义为默认值。

关于html - 输入是否需要 "type"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16507740/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com