gpt4 book ai didi

html - 如果在 doctype 声明中没有提到,默认的 DTD 是什么?

转载 作者:行者123 更新时间:2023-11-28 04:07:14 25 4
gpt4 key购买 nike

在我的页面中,文档类型声明为:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

没有明确指定 DTD。我想知道在 IE 中将默认使用哪个 DTD?

似乎它的行为与

"http://www.w3.org/TR/html4/loose.dtd"

因为在我添加 loose.dtd 后,页面中的表格被破坏了。谁能帮忙解释一下?谢谢!

最佳答案

根据 SGML 标准,您的文档类型声明通过命名来指定文档类型定义,正如 W3C 所注册的那样。然而,通过 HTML 4.01 spec , 文档必须具有三种可选文档类型声明之一,并且它们都包含一个 URL。

这只是理论,因为浏览器实际上并不读取 DTD。在 doctype sniffing 中,它们将文档类型声明视为魔术字符串.然而,在大多数浏览器中,浏览器模式的选择受 HTML 4.01 Transitional 的魔术字符串中是否存在 URL 的影响。当它不存在时,它们在 Quirks Mode 中运行。 .当它存在时,大多数浏览器以“标准模式”或“几乎标准模式”运行。

怪癖模式意味着大量不同的怪癖,因此从它切换到“标准模式”的效果可能意味着任何事情(从无效果到完全灾难)。这样的转换通常需要仔细检查整个文档,如果不重写的话。

关于html - 如果在 doctype 声明中没有提到,默认的 DTD 是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14949124/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com