The tag is very simple, you may not care. But have you ever carefully understood the tag? W3cschool recommends using XHTML Transitional DTD, and many people obediently set Dreamweaver's HTML document type to XHTML 1.0 Transitional by default. It has been used as a matter of course ever since. It’s true that people become lazier as they grow older, and many things are subconsciously taken for granted.
’s definition
declaration is located at the frontmost position in the document, before the tag. This tag tells the browser which HTML or XHTML specification the document uses. This tag can declare three DTD types, representing strict version, transitional version and framework-based HTML version. (If the markup in the document does not follow the DTD specified by the doctype declaration, the document may not pass code verification and may not be displayed correctly in the browser.)
Usage
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
Parsing: In the above declaration, it is declared that the root element of the document is html, which is defined in the DTD whose public identifier is defined as "-//W3C//DTD XHTML 1.0 Strict//EN". The browser will understand how to find a DTD that matches this public identifier. If it is not found, the browser will use the URL following the public identifier as the location to look for the DTD.
- : Indicates that the organization name is not registered. The Internet Engineering Task Force (IETF) and the World Wide Web Consortium (W3C) are not registered ISO organizations.
+: It is the default, indicating that the organization name has been registered.
DTD: Specifies the public text class, that is, the type of object being referenced. Default is DTD.
HTML: Specify a public text description, a unique, descriptive name for the public text being referenced. A version number can be attached at the end. Default is HTML.
URL: Specifies the location of the referenced object.
Strict: Exclude all representative attributes and elements that W3C experts want to phase out.
Three HTML document types
HTML 4.01 specifies three document types: Strict, Transitional and Frameset.
If you need clean markup and avoid clutter in the presentation layer, use the HTML Strict DTD type:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" " http://www.w3.org/TR/html4/strict.dtd">
Transitional DTD can contain rendering attributes and elements that W3C expects to move into style sheets. If the user uses a system that does not support cascading style sheets ( CSS) browser and you have to use the rendering features of HTML, use the Transitional DTD type:
Frameset DTD is used for documents with frames. The Frameset DTD is equivalent to the Transitional DTD, except that the frameset element replaces the body element:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" " http://www.w3.org/TR/html4/frameset.dtd">
Three XML document types
XHTML 1.0 specifies three XML document types: Strict, Transitional, and Frameset.
If you need clean markup and avoid clutter in the presentation layer, use the XHTML Strict DTD type:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
Transitional DTD can contain the rendering attributes and elements that W3C expects to move into style sheets. If the user uses a system that does not support cascading style sheets ( CSS) browser so that you have to use the rendering features of HTML, use the Transitional DTD type:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
Frameset DTD is used for documents with frames. The Frameset DTD is equivalent to the Transitional DTD, except that the frameset element replaces the body element:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
Choose the right doctype
In order to get the correct doctype declaration, the key is to make the DTD correspond to the standard that the document follows. For example, assuming that the document follows the xhtml 1.0 strict standard, the document's doctype declaration should reference the corresponding dtd.
On the other hand, if the doctype declaration specifies an xhtml dtd, but the document contains old-style html markup, it is inappropriate; similarly, if the doctype declaration specifies an html dtd, but the document contains xhtml 1.0 The strict tag is also inappropriate.
If no valid doctype declaration is specified, most browsers will use a built-in default dtd. In this case, the browser will use the built-in dtd to try to display the tag you specify (but this is what happens when the page is poorly written).
I looked at JD.com, Taobao, and Blog Park, and they all use this one (I have always used this one):
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
But I found that Baidu and Google use "", I checked the information carefully and found that HTML5 also uses this directly, but because HTML 5 is not based on SGML, there is no need to reference the DTD, but a doctype is needed to regulate the behavior of the browser (let the browser follow what they should way to operate).
It is recommended to use "" directly in the future. Using will turn on the standard compatibility mode of the browser. In the standard compatibility mode, it is not guaranteed to be compatible with other versions (before IE6, Just ignore it), Internet Explorer remains compatible, the rendering behavior of the document may be different from that of future Internet Explorer, but please feel free to use it~~
PS: XHTML 1 is the XMLization of HTML 4.01, which is a different Forward compatible format. The doctype in HTML 4.01 requires a reference to the DTD because HTML 4.01 is based on SGML. SGML specifies a standard format for embedding description tags in documents and specifies a standard method for describing the structure of a document. The HTML format currently used on the WEB is one that uses a fixed set of tags.