Doctype(Document Type Declaration,文档类型声明)的作用是告诉浏览器使用哪个 HTML 或 XHTML 规范来解析页面。 浏览器根据 Doctype 来确定渲染模式(quirks mode、almost standards mode 或 standards mode),从而影响页面的布局和 JavaScript 的解释执行。 如果没有 Doctype 或者 Doctype 不正确,浏览器会进入 quirks mode,使用一种非标准的渲染模式,这会导致页面显示出现兼容性问题。
Doctype 声明必须位于 HTML 文档的第一行,在 <html>
标签之前。它不属于 HTML 标签,而是一种指令。
我知道的 Doctype 文档类型主要分为以下几类,涵盖了 HTML 的不同版本和 XHTML:
1. HTML 4.01:
-
Strict: 禁止使用表现层元素(例如
<font>
和<center>
),必须使用 CSS 进行样式控制。<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-
Transitional: 允许使用一些被废弃的 HTML 元素和属性(例如
<font>
和<center>
)。<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-
Frameset: 用于包含框架的页面。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
2. XHTML 1.0: XHTML 是 HTML 的 XML 版本。
-
Strict: 与 HTML 4.01 Strict 类似。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-
Transitional: 与 HTML 4.01 Transitional 类似。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
Frameset: 与 HTML 4.01 Frameset 类似。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
3. HTML 5: HTML5 的 Doctype 非常简洁。
<!DOCTYPE html>
4. XHTML 1.1:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
现在,HTML5 的 Doctype <!DOCTYPE html>
是推荐使用的, 因为它简洁且支持最新的 Web 标准。 其他旧版本的 Doctype 仍然有效,但为了最佳的兼容性和未来的发展,建议使用 HTML5 的 Doctype。
总而言之,Doctype 的作用至关重要,它确保浏览器以正确的模式渲染页面,避免兼容性问题,是 Web 开发中不可忽视的一部分。
标签:4.01,Doctype,HTML,文档,类型,XHTML,页面 From: https://www.cnblogs.com/ai888/p/18566089