我应该使用HTML5语法吗?

4

我在寻找一个参考,以确保我正确地禁用了一个元素。当XHTML出现时,我被教导要这样禁用一个元素:

<input type="submit" disabled="disabled" />

XHTML是通过遵循更多规则使HTML语法更加严格的技术。但是,当我查看W3C上的HTML5工作草案时,我注意到了他们在布尔属性(如disabled)上的以下说明

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

我的意思是,看起来即将到来的HTML5语法会更加宽松,就像XHTML之前的老派日子。也许我错过了什么。

那么,问题来了:我应该在编写新网站HTML时使用HTML5语法风格(W3C工作草案中的那种)吗?

3个回答

3
“更多规则”实际上是指更少的例外,以使HTML语法更为严格。例如,“属性值必须加引号,除非该值符合某些条件”变成了“属性值必须加引号”。当然,你还需要添加HTML兼容性指南,因为XHTML从未真正流行起来,几乎所有人都将其作为text/html服务,这导致“不能有内容的元素必须省略结束标签”变成了“不能有内容的元素必须省略结束标签,并使用自闭合标记语法代替”。
“我的意思是,看起来即将推出的HTML5语法会更加宽松,就像XHTML之前的老式日子。”
语法规则基本上涵盖了HTML和XHTML中允许的所有内容,两者之间的差异在XHTML方面(例如,“<foo />”表示“<foo>”,而不是“<foo>&gt;”)。
“我应该使用HTML5语法风格(W3C工作草案中的那种)吗?”
你使用哪种风格的问题有些主观。省略可选内容的简洁性和不省略的明确性都有其优点。
如果你使用HTML5,则应编写有效的HTML5。你给出的示例并不是唯一可接受的方法。

使用HTML5 doctype,您将如何编写我提供的第二个示例(根据W3C,它是有效的HTML5)?还是直接使用它? - Stephen Watkins
2
你可以这样写,也可以采用XHTML风格,或者在两者之间找到平衡点。我不会表达个人偏好,因为(正如我之前提到的)这是宗教领域,容易引发无意义的争论。 - Quentin

0
如果你正在使用HTML5文档类型,那么你为什么认为你不应该使用HTML5语法呢?HTML5不是XML变体 - 它是HTML。
话虽如此,个人认为总是引用属性值,因为不这样做似乎不得体。

0

这篇关于W3C的博客文章应该会让事情变得清晰:HTML 5,一个词汇,两种序列化方式

简而言之,HTML5允许您使用HTML语法或XML语法--两者都是同样有效的,所以选择权在您手中。

个人而言,我会选择HTML语法,因为它更简单,而且HTML不是基于XML的,所以我不认为有任何理由使用XML语法。


4
HTML语法并不简单,它充满了例外。话虽如此,如果使用XML序列化并作为application/xhtml+xml进行服务,将会引入一些严重的兼容性问题。 - Quentin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接