DOCTYPE 的作用是什么?

本文涉及的产品
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: DOCTYPE 的作用是什么?

1. Doctype定义

这个标签是一种通用标记语言的文档类型声明,它主要就是告诉标准通用标记语言解析器应该使用什么样的文档类型定义 Document Type Definition(DTD)来解析文档。

2.Doctype作用

Doctype的作用就是声明文档的解析类型(document.compatMode),也就是告知浏览器的解析器用什么文档标准解析这个文档。如果DOCTYPE不存在或格式不正确会导致文档以兼容模式呈现。

3. 关于文档类型定义DTD,什么是DTD?

DTD是为新标记建立文档并进行规范说明。

自描述数据的规范。通俗的来说,DTD就是一套关于标记符的语法规则,是html的验证机制。

4. DTD的作用

DTD定义了文档中的元素(标记和属性)和实体,以及相互关系。数据和结构分离。

通过DTD验证XML文档的有效性。DTD为解析器提供了解析XML文档的依据。

所以每个XML文档必须指定对于哪个DTD有效。

5. DTD的分类

Strict如果您需要干净的标记,免于表现层的混乱,请使用此类型。请与层叠样式表(CSS)配合使用。

Transitional DTD 可包含 W3C 所期望移入样式表的呈现属性和元素。

如果您的读者使用了不支持层叠样式表(CSS)的浏览器以至于您不得不使用 HTML 的呈现特性时使用。

Frameset DTD 应当被用于带有框架的文档。除 frameset 元素取代了 body 元素之外,Frameset DTD 等同于 Transitional DTD。

6.举个栗子

//用于XHTML 4.0 的严格型

<!DOCTYPE HTMLPUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
  • 1
  • 1

你不禁会想HTML5的声明什么都没有,浏览器也能解析呢?

//html5

<!DOCTYPE html>
  • 1
  • 1

 Html5不基于 SGML,因此不需要对DTD进行引用;但是需要doctype来规范浏览器的行为(让浏览器按照它们应该的方式来运行)。 而HTML4.01基于SGML,所以需要对DTD进行引用,才能告知浏览器文档所使用的文档类型。

3. 标准模式与兼容模式的区别

标准模式的排版 和js运作模式都是以该浏览器支持的最高标准运行。

在兼容模式中,页面以宽松的向后兼容的方式显示,模拟老式浏览器的行为以防止站点无法工作。

相关文章
|
1天前
|
自然语言处理
UTF-8编码的意义
UTF-8编码的意义
5 0
|
1天前
|
Python
【10月更文挑战第6天】「Mac上学Python 12」基础篇6 - 输入输出与格式化详解
本篇将详细介绍Python中的输入和输出函数,包括 `print()` 和 `input()` 函数的使用,涵盖格式化输出、类型转换及常见的字符串格式化方法。通过学习本篇,用户将掌握如何使用Python进行输入输出操作,并能灵活运用格式化输出处理数据。
38 1
【10月更文挑战第6天】「Mac上学Python 12」基础篇6 - 输入输出与格式化详解
|
1天前
|
SQL 数据处理 数据库
领域设计之仓储和工厂模式!
领域设计之仓储和工厂模式!
领域设计之仓储和工厂模式!
|
21小时前
|
前端开发
js-基础轮播图制作
js-基础轮播图制作
12 7
|
21小时前
|
JavaScript 前端开发
js的math.max的用法
js的math.max的用法
10 6
|
1天前
|
存储 JavaScript 前端开发
JavaScript 对象的概念
JavaScript 对象的概念
15 4
|
21小时前
|
存储 JavaScript 前端开发
js中函数、方法、对象的区别
js中函数、方法、对象的区别
6 2
|
18小时前
|
JavaScript 前端开发
js怎么获取div里面的文字长度
js怎么获取div里面的文字长度
11 5
|
18小时前
|
存储 JavaScript 前端开发
为什么基础数据类型存放在栈中,而引用数据类型存放在堆中?
为什么基础数据类型存放在栈中,而引用数据类型存放在堆中?
12 1
|
18小时前
for in ,for of和forEach的区别
for in ,for of和forEach的区别
12 5