To write a cross-browser CSS, you must know the two modes of the browser parsing CSS: Standard mode (strict modes) and weird mode (quirks modes).
The so-called standard mode refers to the browser in accordance with the standards of the code to parse the execution, the weird mode is to use the browser's own way to parse the execution code, because the different browser parsing executes differently, so we call it a strange mode. whether the browser resolves using standard mode or weird mode, directly related to the DTD declaration in your Web page, the DTD declaration defines the type of standard document (standard schema Parsing) document type, causes the browser to load the Web page and display it in the appropriate way, ignoring the DTD declaration, which will put the Web page into a weird mode (quirks mode).
<
html
>
<
head
>
<
title
>重庆PHP</
title
>
</
head
>
<
body
>
<
h3
>重庆PHP,最专业的PHP社区</
h3
>
</
body
>
</
html
>
|
If your Web page code does not contain any declarations, then the browser will parse it in weird mode, that is, if your page code contains a DTD declaration, the browser will parse it according to the criteria you have declared.
<!
DOCTYPE
html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<
html
>
<
head
>
<
title
>重庆PHP</
title
>
</
head
>
<
body
>
<
h3
>重庆PHP,最专业的PHP社区</
h3
>
</
body
>
</
html
>
|
The above code, the browser will be parsed according to the standard of HTML 4.01.
What's the difference between a standard pattern and a weird pattern? In my previous article, IE does not recognize the!important statement, it has been said in the standard mode
IE6 do not know!important statement, IE7, IE8, Firefox, Chrome and other browsers know, and in the strange mode, ie6/7/8 do not know!important statement, this is only one of the differences, there are many other differences. So, to write a cross-browser CSS, you have to use standard mode. It seems too absolute, hehe. Well, if you want to write cross-browser CSS, you'd better use standard mode.
What are the statements? What kind of statement is better? We recommend that you use the XHTML 1.0 strictest mode, from the very beginning we should strictly ask ourselves
, with the following specific statement:
<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> < html xmlns="http://www.w3.org/1999/xhtml"> |
If you are taking over a legacy Web page that initially does not have a DTD declaration and uses many of the tags that have been abolished in XHTML, then we recommend that you use XHTML compatibility Mode, as stated below:
<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> < html xmlns="http://www.w3.org/1999/xhtml"> |
Browser's standard mode and weird mode