在 HTML5 中不允许使用多行占位符的理由是啥?

Posted

技术标签:

【中文标题】在 HTML5 中不允许使用多行占位符的理由是啥?【英文标题】:What's the rationale for not allowing multiline placeholders in HTML5?在 HTML5 中不允许使用多行占位符的理由是什么? 【发布时间】:2012-01-17 11:21:45 【问题描述】:

我正在创建一个非常简单的带有文本区域的表单。文本区域采用由换行符分隔的格式化名称块。为了使应用程序更易于使用,如果我可以包含一个具有多行文本的占位符示例,那就太好了。不幸的是,html5 规范似乎无法做到这一点。有人知道为什么吗?

【问题讨论】:

我会问 HTML 工作组而不是我们 :) 这个问题不会主观地问多行占位符是好是坏。它询问为什么 W3C 选择不包括它们。我认为根据 SO 规则这是一个公平的问题。 我认为这不是关于 SO 的规则问题。但是,如果您询问做出决定的人,您会得到更好的答案。 @PeeHaa 做决定的人也使用 SO :-) 【参考方案1】:

<placeholder> 对我来说就像<blockquote>它有一个特定的利基市场。

对于<placeholder>属性,主要用于单行表单域;不是文本区域。

您在单行表单域中使用回车的频率如何?从不。

The <placeholder> attribute represents a short hint (a word or short phrase) intended to aid the user with data entry. A hint could be a sample value or a brief description of the expected format. The attribute, if specified, must have a value that contains no U+000A LINE FEED (LF) or U+000D CARRIAGE RETURN (CR) characters.

由于 HTML5 仍然是新鲜的,新的,并且在各种浏览器中继续进行优化和调整;如果<placeholder> 属性没有设置如此严格的准则,谁知道跨浏览器会发生什么疯狂的事情?

Web 似乎正朝着帮助设计人员/开发人员输入更少代码并减少错误的方向发展。

我看到一些帖子(由 Paul Irish 和 Jeffrey Way 等人发表)谈论省略诸如结束标签之类的内容,并且 HTML5 中的许多标准元素已被修改为更短/更容易(例如<!doctype html>)。并且,曾经是让网页功能良好所需的传统属性,现在可以很容易地全部扔掉。网络变得越来越简单,同时也越来越复杂。

总而言之,如果您想要解决难题(您似乎因问题的语气而苦恼),那么只需使用 <title> 属性即可。请参阅位于以下链接的问题中的选定答案:

Can you have multiline HTML5 placeholder text in a <textarea>?

【讨论】:

至少这是有道理的。感谢您的回复。 但是,title 属性支持任何内容的多行内容,但 textareas 的 placeholder 属性不支持。这是一个奇怪的设计决定。 placeholder 属性非常方便,在 JS 中提供相同的功能很复杂,容易出错,并且在大多数情况下完全是多余的,如果只允许多行占位符! ;-) 所以,没有利基市场,但应该更加普遍和普遍。

以上是关于在 HTML5 中不允许使用多行占位符的理由是啥?的主要内容,如果未能解决你的问题,请参考以下文章

用于输入占位符的 HTML5 图像图标

如何在 HTML5 的数字输入中显示占位符的文本

文件名(在 Windows 上)和 URL 中用作占位符的最佳字符是啥?

HTML5 输入类型占位符在 IE 中不起作用

C#/.NET6期01C#基础_04占位符变量和常量单行注释多行注释

C#/.NET6期01C#基础_04占位符变量和常量单行注释多行注释