我很迷惑。 一位同事让我想到了以/>结尾的标签,例如仍然可以在HTML5中使用。 我认为只能使用式。 互联网上的所有"谈话"都是关于使用后者。
有人可以向我解释一下吗? 这似乎非常令人困惑,而且记录不清。
这带来了另一个问题:HTML 5是否被认为是格式良好的XML?
可能与HTML 5重复:是或是
?
@GabyakaG.Petrioli不同意重复,因为这是更一般的,不限于。;-)
不,但你可以用有效的XML编写格式良好的HTML。 反之亦然,如果你保持XML足够简单,它可以是有效的HTML。
不。反例:
这些是有效的HTML5但无效的XHTML5:
一些结束标签可以省略:
First
Second
请参阅:P-end-tag(
HTML中不需要
)
script逃脱魔法:
请参阅:HTML中的CDATA是什么?
没有值的属性(布尔属性):
请参阅:已禁用属性的正确值
没有引号的属性,例如:
请参阅:在XHTML 1.0中,Strict do属性值是否需要用引号括起来?
隐式开放元素和多个顶级元素。
一些HTML元素是隐式创建的。例如。 html。这允许HTML具有"多个顶级元素":
a
a
请参阅:是否有必要编写HEAD,BODY和HTML标记?
无效HTML的有效XHTML:
CDATA内部包含无效标签
ENTITY和其他感叹号构造,允许十亿笑:十亿笑的XML DoS攻击是如何工作的?
有效的HTML和XHTML但具有不同的含义:
HTML有数百个命名字符引用(例如£,©),XML只有5个(quot,amp,apos,lt,gt)。
它有一个XML序列化,称为XHTML5。基本上,您可以自由使用HTML5(HTML序列化)或XHTML5(XML序列化)。规范草案称HTML5"是大多数作者建议的格式",主要是出于人们为XHTML 1.1推荐text/html的原因。
您可以将页面标记为有效的HTML5和XHTML5:http://www.w3.org/TR/html-polyglot/
Polyglot markup that meets a well defined set of constraints is interpreted as compatible, regardless of whether they are processed as HTML or as XHTML, per the HTML5 specification.
基本文件可能如下所示:
当然,您必须遵循链接工作草案中概述的一些其他规则(例如,不使用noscript元素)。
HTML5可以用或不用自闭斜杠写入;它旨在向后兼容HTML4.01和XHTML1.0代码,因此很容易将代码转换为有效的HTML5。有一个名为XHTML5的XML序列化,但为了向后兼容IE浏览器,建议不要使用它。从技术上讲,HTML5不被认为是格式良好的XML。
在任何情况下你不应该期望任何HTML文档(无论版本)是"格式良好的xml"
html!= xml。
这是一个不同的规范,有不同的建议(我故意避免在这里使用"规则"这个词)如何解释它。
HTML 5规范已经足够了"以这种方式做到这一点,但如果你不这样做,那就没关系",这些声明让任何浏览器显示同样的东西都是一个奇迹。
根据定义,符合XHTML的页面应该是格式良好的。 格式良好的XHTML页面旨在使Web浏览器中的解析例程变得不那么复杂。 但是,HTML和HTML5不必格式良好,尽管如果需要它们也可以。 当然,即使是由于编写程序粗糙而使用XHTML DOCTYPE的页面也可能不是很好,因此这可能是推荐使用HTML5规范而不是XHTML5的原因,因为好的浏览器可能支持渲染编码错误的页面。