关闭 HTML5 中的空元素和其他 xhtml 标准

Closing empty elements and other xhtml standards within HTML5

XHTML 出现时,我开始像每个人一样遵循所有必要的规则,关闭空标签:

<meta />
<br />
<img />

始终使用小写字母,始终将属性值放在引号中,避免属性最小化:

checked="checked"

...等等。

现在,据我所知,自从迁移到 HTML5 后,您仍然可以在 HTML5 中使用相同的标准,因为 XHTML within HTML4 或 XHTML within HTML5,基本上意味着您仍然可以在 HTML5 中使用 XHTML 的规则 - 它是不是一个或另一个。

现在,我之所以谈论这个是因为我开始想知道我一直在使用的 html 元素的 xmlns 属性,即:xmlns="http://www.w3.org/1999/xhtml"

据我所知,随着 XHTML 的引入,这已成为一项要求,但我在 HTML5[=43= 中继续使用它].

所以我的问题是,如果我想在 HTML5 中继续使用 XHTML 标准,我是否必须继续插入此属性添加到我的 html 元素中?

...如果是这样,我会假设如果我编码 inavlid XHTML 例如 <br> 那么它会像以前一样变得无效吗?

客观

在HTML5中没有严格要求关闭某些标签,使用小写的属性和值,避免属性最小化。但是,无论您是否这样做,标记都将有效。

像所有以前的版本一样,HTML 5 不允许 imgbr 和其他自闭合元素的结束元素标记,但只会容忍那些作为作为规范一部分的错误恢复。

HTML 5 不需要引用 DTD(文档类型定义)。这是因为 HTML5 不再基于 SGML。出于兼容性原因,浏览器无法将 HTML 5 解析为 SGML。

此外,HTML 5 - 像 HTML 4 - 不能包含 xmlns(XML 命名空间)属性,因为它的标记不描述 XML。

还有一个关于XHTML5规范的回答。简而言之,XHTML 因 HTML5 而被放弃,现在仅指一种语法。此外,您仍然可以在 XML 序列化模式下使用 HTML5。为此,文档必须作为 application/xhtml+xml.

主观

你不必扔掉你学过的做法,写出有效的XHTML。不再避免属性最小化是没有意义的,但是关闭空标签并始终使用小写字母可能会对代码的可读性产生很大影响,具体取决于您团队的偏好。