您可以在下面的网站上的sample1.htm中看到错误。有人能建议我如何修复吗。 http://www.codeproject.com/script/Articles/ViewDownloads.aspx?aid=16192 (为了遵循我的项目规则,我必须定义)
<!DOCTYPE html>
是明确的文档类型声明。
来自链接页面:
文档类型声明(DTD或文档类型声明)有几个作用:
- 在对网页进行HTML验证测试时,它告诉HTML(超文本标记语言)验证器网页编码应符合哪个版本的(X)HTML标准。当您验证网页时,HTML验证器会检查编码是否符合适用的标准,然后报告哪些部分的编码未通过HTML验证(不符合规范)。
- 它告诉浏览器如何以符合标准的模式呈现页面。
#2是使用它的一个非常重要的原因。
<!DOCTYPE html>
,具体来说,是HTML5的正确声明,应该在现在和不久的将来使用。您仍然可以使用旧的字符串或已过时的允许字符串,但先前编写的格式是HTML5所需的全部内容。另外,这个DTD会导致所有现代浏览器 死链接 切换到它们的标准(合规)模式,即使它们不支持HTML5。
以下是更多信息:
使用文档类型激活浏览器模式和选择文档类型(同一页)
万维网联盟(他们制定网络标准)
html
是HTML5的声明”这句话并不完全正确。在一个有效的DOCTYPE声明中,它只是表示文档的根元素是<html>
。而<!DOCTYPE html>
这个序列则被HTML5规范作为一个整体来处理。 - BoltClock<!DOCTYPE html>
不是“文档类型声明”。
“文档类型声明”是一个SGML的概念,用于指示后续标记的语法和词汇表。 <!DOCTYPE html>
不符合该要求。这与 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
不同,后者是符合SGML的文档类型声明。
<!DOCTYPE html>
不能说明一个HTML5文档。
虽然text/html序列化的HTML5符合规范的文档需要在开头有<!DOCTYPE html>
,但这并不意味着反过来也成立。也就是说,一个文档可以在开头含有<!DOCTYPE html>
,但不一定是HTML5文档。例如,未来所有版本的HTML都将使用相同的字符序列以开始它们的文档。因此,它可能表示一个HTML5文档、一个HTML6、HTML7等文档、一个HTML5+RDFa-lite文档或者一个完全竞争标准的文档。
HTML5规范将<!DOCTYPE html>
描述为“必需的前导声明”,这更接近实际情况。它只是最短的字符序列,可请求旧版和未来浏览器使用其最现代的HTML处理模式处理文档中的HTML。出于这个原因,它被选择为HTML5的符合前导声明。
如果说它有任何含义,那就是表明该文档是在大约2007年或之后创建或最后重构的。同样,反之不一定成立。一个不包含<!DOCTYPE html>
的文档并不意味着该文档是在某个特定日期之前创建的。
<!DOCTYPE html>
是一个文档类型声明,尽管它还没有正式标准化。此外,上面答案中的链接明确说明在创建 HTML 文档时其他 DTD 已经过时。 - rockerest<!DOCTYPE html>
”。 - Greg Wozniak它声明了版本,即页面是用HTML5编写的。 基本上,它是给网页浏览器的指令,告诉它页面使用的HTML版本,甚至告诉浏览器如何呈现页面。
以下是HTML文档类型声明列表:
⦁ DOCTYPE 表示网页使用的 HTML 类型。浏览器使用 DOCTYPE 来确定如何渲染页面。未使用 DOCTYPE 或使用错误的 DOCTYPE 可能会在怪异模式下加载您的页面。参见示例:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">.
<!DOCTYPE html>
是文档的文档类型声明。它基本上告诉网络浏览器如何呈现网页(有不同的文档类型)。如果使用正确的文档类型声明,页面呈现不正确,则意味着页面编码不正确。 - Blender