HTML5:是自动对焦=“自动对焦”还是自动对焦
我似乎回想以前版本的HTML(在HTML5之前)所需属性中的大多数(也许是全部)属性具有值,如readonly="readonly"
。
这对HTML5和autofocus
属性是否正确?
在HTML中,您可以使用带有或不带值的布尔属性。 像自动对焦一样,W3C的布尔types可以像autofocus
或autofocus="autofocus"
或autofocus=""
一样书写。
如果你不想自动对焦就不要写。
我认为你很困惑,因为XHTML需要所有属性的值: attributes="values"
。
以下是关于HTML中使用布尔属性的一些信息: http : //www.whatwg.org/specs/web-apps/current-work/multipage/common-microsyntax.html#boolean-attribute
引用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 :
元素上布尔属性的存在表示真值,缺less属性表示假值。
如果该属性存在,则其值必须是空string,或者是该属性规范名称的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" />
缺less该属性是错误的唯一有效语法:
<input type="text"/>
build议
如果您关心编写有效的XHTML,请使用autofocus="autofocus"
,因为<input autofocus>
无效,而其他替代方法的可读性较差。 否则,只需使用<input autofocus>
因为它更短。
不 ,指定属性本身就足够了。 在HTML 4中也是这样。
一些属性是布尔属性 。 元素上布尔属性的存在表示真值,缺less属性表示假值。
如果该属性存在,则其值必须是空string,或者是该属性规范名称的ASCII不区分大小写的匹配值,且不包含前导或尾随空格。
例:
<label><input type=checkbox checked name=cheese disabled> Cheese</label>