提问人:Invictus 提问时间:3/28/2023 更新时间:3/30/2023 访问量:54
XHTML:DOCTYPE、link 和 meta 用正斜杠关闭?
XHTML: DOCTYPE, link, and meta closed with forward slash?
问:
我无法使用搜索引擎找到问题的答案;有些话题很接近,但并没有完全回答我的问题。ChatGPT3 在做自相矛盾的陈述,在兜圈子推理。我希望你能遵守我的新手问题。
我知道XHTML总有一天会取代HTML,所以我决定学习XHTML。
我知道XHTML和HTML之间的主要区别之一是,在XHTML中关闭但在HTML中不关闭的独立标签(可能没有使用正确的命名法),即:XHTML:
<img src=“./demo.gif” /> <---注意末尾的正斜杠 HTML:<img src=“./demo.gif”> <---注意末尾
没有正斜杠
现在,我想知道在XHTML中是否还需要用正斜杠关闭DOCTYPE标签和一些标题元素。即:
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Strict//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd” /> <--- 注意末尾
的正斜杠 <html>
<head>
<meta charset=“utf-8” /> <---注意末尾的正斜杠** <meta name=“viewport” content=“width=device-width, initial-scale=1.0” /> <---注意末尾的正斜杠** <link rel=“stylesheet” href=“./stylesheet.css” /> **
<--- 注意末尾的正斜杠
</头>
<身体>
你好。
</body>
</html>
感谢您的耐心等待,
SilverC3ll
我尝试在文档的 HTML 前位置使用正确的 XHTML 语法(上面的 DOCTYPE <html>),并尝试将正确的 XHTML 语法应用于 meta 和 link 元素。我用正斜杠关闭了这些标签。我预计即使语法可能存在错误,浏览器仍会按预期显示文件,因此我无法验证我的语法是否正确。
答:
我知道XHTML有一天会取代HTML
这种理解是不正确的。不期望 XHTML 会取代 HTML。大约20年前,曾几何时,人们普遍抱有这种期望,但这种期望早已过去。但是,它是一种有效的替代语法。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" />
<---注意末尾的正斜杠
在 XHTML 中,DOCTYPE 的末尾不得有正斜杠。但是,可以完全省略 DOCTYPE。如果选择将 DOCTYPE 与 XHTML 一起使用,则正确的形式与 HTML 语法完全相同:.<!DOCTYPE html>
XHTML 不是通过 DOCTYPE 标识的,而是通过 HTTP 内容类型标头中的内容类型标识的。这应该是 .如果你不这样做,浏览器会把你的文件看作是HTML,而不是XHTML,你使用XHTML的尝试将是徒劳的。application/xhtml+xml
<meta charset="utf-8" />
<---注意末尾的正斜杠**
元元素和链接元素以及所有其他 void 元素必须显式关闭,要么通过末尾的正斜杠,要么通过关闭标记,例如 紧跟在开始标记之后。</meta>
我预计即使语法可能存在错误,浏览器仍会按预期显示文件,因此我无法验证我的语法是否正确。
如果您使用 Firefox,如果 XHTML 文件包含语法错误,则它根本不会显示,并且只会显示错误消息。否则,请使用验证器。同样,请确保使用正确的内容类型提供文件。
我知道XHTML有一天会取代HTML
预计它将在 2000 年代初取代 HTML。
然后 HTML 5 出现了,XHTML 2 的工作停止了。
浏览器旨在实现 Living HTML 标准。XHTML 1.x 已过时。
现在,我想知道XHTML中的DOCTYPE标签
DOCTYPE 不是标记。
一些标题元素也需要用正斜杠关闭
在 XHTML 中:
- 每个元素都需要显式结束
<foo />
并且是等价的<foo></foo>
请注意,如果您使用内容类型提供 XHTML,则应遵循附录 C 兼容性指南,该指南使 XHTML 尽可能接近 HTML,以便在解析为 HTML 时不会中断。text/html
我强烈建议不要使用 XHTML。
评论