可以看出here 、Safari 和 Safari for iPhone 支持所有 HTML 元素,包括已弃用的元素,甚至一些从未属于任何 W3C 规范的专有元素。
在表单的“电子邮件”和“网站”字段中包含 autocapitalize
实际上非常有用,因为在填写这两个输入中的任何一个时,没有什么比取消选择 SHIFT 键更烦人的了。这样做很简单,因为您需要做的就是将 autocapitalize=off
属性添加到相应的输入中,例如:
<label for="email">E-mail</label>
<input type="email" name="email" placeholder="yourname@domain.com" autocapitalize="off" title="Enter your e-mail address" class="required email" id="email">
iPhone 和 iPad 都将键盘与附加到表单中输入元素的属性完美匹配。不幸的是,此标记似乎破坏了验证,W3C 在设置上述内容时响应“此时元素输入不允许属性自动大写”。
我想这不是什么好事,但是有没有办法在不破坏验证的情况下包含属性?也许我这里有问题。
最佳答案
ughoavgfhw 的评论完全回答了这个问题:根据目前的 W3C 规范,您不能在不破坏验证的情况下在表单中包含 autocapitalize 属性,因此这是一个权衡这种不便与用户不得不摸索的情况您的表单在 iOS 上点击 SHIFT
键。
我认为这是一种罕见的情况(内联样式是另一种情况),在这种情况下容忍页面上的错误是有意义的,只要它们不是任何错误的征兆,只是 W3C 有点问题吸收缓慢。
关于ios - input 元素上的 Autocapitalize 属性(用于 iOS)破坏了验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5333416/