`doctype` vs `charset` in HTML 5



我对HTML 5文件中DOCTYPEcharset之间的关系很好奇。

在 VSCode 中使用默认 HTML 模板会生成以下标记:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Page Title</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" type="text/css" media="screen" href="main.css" />
<script src="main.js"></script>
</head>
<body>
</body>
</html>

我的问题是,我们是否需要DOCTYPEcharset

如果doctype设置为html(指 HTML 5(,并且我们知道utf-8是 HTML 5 的默认charset,我们是否必须使用meta标记指定charset,或者浏览器知道?

我的问题是,我们是否需要 DOCTYPE 和字符集?

是的

如果文档类型设置为 html(指 HTML 5(,并且我们知道 utf-8 是该文档类型的默认字符集

其实不然。浏览器执行复杂的嗅探以确定字符编码。显式指定它更可靠。

为大多数浏览器和平台准备您的网站是一个很好的规则。 两者的使用将保证大多数技术可以读取它们代表您的网站所需的所有内容。

所以是的...经验法则。。。。始终在代码中添加默认首选项,以防万一。

此致敬意。

<!DOCTYPE html>声明用于通知网站访问者的浏览器正在呈现的文档是 HTML 文档。<!DOCTYPE html>是 HTML 5 的文档类型。

@charset指定样式表中使用的字符编码,<meta charset="utf-8" />指定 HTML 文档的编码

最新更新