Home  >  Article  >  Web Front-end  >  Detailed introduction to the role of DOCTYPE and the difference between standard mode and compatibility mode

Detailed introduction to the role of DOCTYPE and the difference between standard mode and compatibility mode

高洛峰
高洛峰Original
2017-03-20 16:09:202570browse

The role of DOCTYPE and the difference between standards mode and compatibility mode

  1. declaration must be at the head of the HTML document, in HTML5 is case-insensitive

  2. declaration is not a HTML tag, it is a tag used to tell the browser the current HTMl Version of the directive

  3. html layout of modern browsersThe engine decides to use compatibility mode or standards mode to render the document by checking the doctype. Some browsers have a close to standard Model.

  4. In HTML4.01 the declaration points to a DTD. Since HTML4.01 is based on SGML, the DTD specifies markup rules to ensure that the browser Render content correctly

  5. HTML5 is not based on SGML, so there is no need to specify a DTD

The difference between standards mode and compatibility mode: typesetting and # of standard mode ##JSThe operation mode is based on the highest standard supported by the browser. In compatibility mode, pages are displayed in a loosely backwards-compatible manner, simulating the behavior of older browsers to prevent the site from not working.

Specific differences:

1.
Box model In strict mode:
width is the content width, the real width of the element = width; In compatibility mode: width is =width+padding+border
2. In compatibility mode, you can set the percentage height and the height and width of inline elements
In Standards mode, set wdith and wdith for inline elements such as span
height will not take effect, but in compatibility mode, it will take effect. In standards mode, the height of an element is determined by the content it contains. If the parent element does not set a height, setting a percentage height of the child element is invalid.
3. Using margin:0 auto to set horizontal centering will not work under IE
Using margin:0 auto can center the element horizontally in standards mode, but it will not work in compatibility mode (use
text -alignAttributeSolution) body{text-align:center};#content{text-align
:left}4. Table in compatibility mode The font attributes in cannot
inherit the settings of the upper layer, white-space:pre will be invalid, and the padding of the set image will be invalid

    ##< The !doctype> declaration must be at the head of the HTML document, before the tag, to tell the browser's parser what document standard to use to parse this document. A non-existent or incorrectly formatted DOCTYPE will cause the document to be rendered in compatibility mode. HTML5 is case-insensitive
  1. declaration is not an HTML tag, but a directive used to tell the browser the current HTMl version
  2. The HTML layout engine of modern browsers determines whether to use compatibility mode or standards mode to render the document by checking the doctype. Some browsers have a near-standards model.
  3. The declaration in HTML4.01 points to a DTD. Since HTML4.01 is based on SGML, the DTD specifies markup rules to ensure that the browser renders the content correctly
  4. HTML5 is not based on SGML, so there is no need to specify a DTD
  5. The difference between standard mode and compatibility mode: The typesetting and JS operation modes of standard mode are based on this Runs at the highest standards supported by the browser. In compatibility mode, pages are displayed in a loosely backwards-compatible manner, simulating the behavior of older browsers to prevent the site from not working.

Specific differences:
1. Box model
In strict mode: width is the content width, and the real width of the element = width;
In compatibility mode: width is =width+padding+border
2. In compatibility mode, you can set the percentage height and the height and width of inline elements
In Standards mode, setting wdith and height for inline elements such as span will not take effect, but in compatibility mode, it will take effect .
In standards mode, the height of an element is determined by the content it contains. If the parent element does not set a height, setting a percentage height of the child element is invalid.
3. Using margin:0 auto to set horizontal centering will not work under IE
Using margin:0 auto can center the element horizontally in standards mode, but it will not work in compatibility mode (use the text-align attribute) Solution)
body{text-align:center};#content{text-align:left}
4. In compatibility mode, the font attributes in Table cannot inherit the settings of the upper layer, and white-space:pre will be invalid. Setting the padding of the image will be invalid

The above is the detailed content of Detailed introduction to the role of DOCTYPE and the difference between standard mode and compatibility mode. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn