自动对焦=“自动对焦”还是自动对焦?

时间:2010-12-15 00:50:09

标签: html5 autofocus

我似乎记得以前版本的HTML(HTML5之前)中的大多数(可能是所有)属性都需要具有值的属性,例如readonly="readonly"

这对HTML5和autofocus属性是否正确?

3 个答案:

答案 0 :(得分:87)

在HTML中,您可以根据需要使用带或不带值的布尔属性。 对于W3C,类似自动对焦的布尔值可以写成autofocusautofocus="autofocus"autofocus=""

如果你不想要自动对焦,就不要写它。

我认为您感到困惑,因为XHTML需要所有属性的值:attributes="values"

以下是有关在HTML中使用布尔属性的一些信息: http://www.whatwg.org/specs/web-apps/current-work/multipage/common-microsyntaxes.html#boolean-attribute

答案 1 :(得分:44)

引用 HTML5规范并在Pekka上进行扩展:

http://www.w3.org/TR/html5/forms.html#autofocusing-a-form-control:-the-autofocus-attribute

  

autofocus属性是一个布尔属性。

http://www.w3.org/TR/html5/infrastructure.html#boolean-attributes

  

元素上存在布尔属性表示真值,缺少属性表示假值。

     

如果该属性存在,则其值必须是空字符串或者是属性规范名称的ASCII不区分大小写匹配的值,没有前导空格或尾随空格。

<强>结论

以下是有效,等效和真实

<input type="text" autofocus />
<input type="text" autofocus="" />
<input type="text" autofocus="autofocus" />
<input type="text" autofocus="AuToFoCuS" />

以下是无效

<input type="text" autofocus="0" />
<input type="text" autofocus="1" />
<input type="text" autofocus="false" />
<input type="text" autofocus="true" />

缺少属性是 false 的唯一有效语法:

<input type="text"/>

<强>建议

如果您关心编写有效的XHTML,请使用autofocus="autofocus",因为<input autofocus>无效,而其他替代方案的可读性较差。否则,只需使用<input autofocus>,因为它更短。

答案 2 :(得分:22)

No,足以指定属性本身。就是这种方式也在HTML 4

  

许多属性是布尔属性。元素上存在布尔属性表示真值,缺少属性表示假值。

     

如果该属性存在,则其值必须是空字符串,或者是属性的规范名称的ASCII不区分大小写匹配的值,没有前导空格或尾随空格。

示例:

<label><input type=checkbox checked name=cheese disabled> Cheese</label>