前端学习之DOCTYPE声明

这个声明常常被前端程序员忽视,我刚进入前端领域也几乎忽略了这个东西,一方面感觉这个东西太复杂(在html5到来之前),写在代码顶端,一方面感觉没什么用,因为面试提到了这个东西,今天就和大家分享一下。

一、这个声明是什么,有什么用?

答:首先先解释下这个声明不是html标签,它是为浏览器提供一项声明,因为html有很多版本,版本规则不一样写法也有差异,要想让浏览器正确地显示html页面,必须要让浏览器知道这个html文件是哪一个版本,这就是声明的用处。

二、到现在为止,有多少个版本?

版本 年份
HTML 1991
HTML+ 1993
HTML 2.0 1995
HTML 3.2 1997
HTML 4.01 1999
XHTML 1.0 2000
HTML5 2012
XHTML5 2013

三、声明的用法

声明必须在HTML文档第一行,位于<html>标签之前,没有结束标签,不区分大小写, 声明不是标签,它指示web浏览器关于页面使用哪个html版本进行编写, 在html 4.01中,声明引用dtd,因为这个版本是基于SGML,dtd规定了标记语言的规则,这样浏览器才能正确的呈现内容

html5声明写法:

<!DOCTYPE html>

HTML 4.01 Strict声明写法(该DTD包含所有HTML元素和属性,但不包括展示性的和弃用的元素(比如font),不允许框架集Framesets):

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

HTML 4.01 Transitional声明写法(该DTD包含所有HTML元素和属性,包括展示性的和弃用的元素(比如font),不允许框架集Framesets):

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

HTML 4.01 Frameset声明写法(该DTD包含所有HTML元素和属性,包括展示性的和弃用的元素(比如font),允许框架集Framesets):

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">

猜你喜欢

转载自blog.csdn.net/qq_36764457/article/details/80334081