<! The doctype> declaration must be the first line in the HTML document, before the
<! The doctype> declaration is not an HTML tag; it is a directive that instructs the Web browser to write which HTML version of the page to use.
In HTML 4.01, <! The doctype> declaration references a DTD because HTML 4.01 is based on SGML. A DTD (document type definition) specifies the rules for markup language so that the browser renders the content correctly.
HTML5 is not based on SGML, so you do not need to reference a DTD.
There is only one <! in HTML5. Doctype> statement:
HTML 5
<! DOCTYPE html>
There are three kinds of <! in HTML 4.01 Doctype> statement:
HTML 4.01 Strict
this DTDs contain all HTML elements and attributes, but do not include appearances or obsolete elements such as font . Frameset is not allowed.
<! DOCTYPE HTML PUBLIC "-//w3c//dtd HTML 4.01//en" "HTTP://WWW.W3.ORG/TR/HTML4/STRICT.DTD" >
HTML 4.01 Transitional
this A DTD contains all the HTML elements and attributes, including appearances or obsolete elements such as font . Frameset is not allowed.
<! DOCTYPE HTML PUBLIC "-//w3c//dtd HTML 4.01 transitional//en" "HTTP://WWW.W3.ORG/TR/HTML4/LOOSE.DTD" >
HTML 4.01 Frameset
this The DTD is the same as the HTML 4.01 transitional , but allows the use of frameset content.
<! DOCTYPE HTML PUBLIC "-//w3c//dtd HTML 4.01 frameset//en" "HTTP://WWW.W3.ORG/TR/HTML4/FRAMESET.DTD" >
XHTML 1.0 Strict
this DTDs contain all HTML elements and attributes, but do not include appearances or obsolete elements such as font . Frameset is not allowed. The structure must be written in standard-format XML .
<! DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 strict//en" "Http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" >
XHTML 1.0 Transitional
this A DTD contains all the HTML elements and attributes, including appearances or obsolete elements such as font . Frameset is not allowed. The structure must be written in standard-format XML .
<! DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 transitional//en" "Http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd ">
XHTML 1.0 Frameset
this The DTD is the same as XHTML 1.0 Transitional , but allows the use of frameset content.
<! DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 frameset//en" "Http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd" >
XHTML 1.1
this The DTD is the same as XHTML 1.0 Strict , but allows you to add modules (for example, Ruby support for East Asian languages ).
<! DOCTYPE HTML PUBLIC "-//w3c//dtd XHTML 1.1//en" "Http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" >
HTML Common DOCTYPE declarations