[Reprint, archive, record]
Due to compatibility issues between browsers, when making web pages, in order to make the page display relatively consistent in different browsers ;So I summarized the Hacks between several browsers and some related precautions on browser compatibility issues. Now browsers basically need to be compatible with IE6; IE7; IE8; FF.
Section 1 CSS HACK Summary Quick Check List
| Hack (unsupported ones are in red)
| ||||||||||
IE6
| "*" "_" "9" "!important" | ||||||||||
| "*" "_" "9" "!important" | tr>||||||||||
IE8 | "*" "_" "9" "!important" | FF | “*” “_” “9” “!important” |
.main{ background-color: #CC00FF; /*All browsers will display as Purple*/---------ALL background-color: #FF00009; /*IE6, IE7, IE8 will display red*/------------ IE8 *background-color: #0066FF; /*IE6 and IE7 will turn blue*/------------------ IE7 _background-color: #009933; /*IE6 will turn green*/--------------------------IE6 background-color: #000000!important;}/*FF will become black*/--------------------------FF |
< !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/ xhtml1-Frameset.dtd"> |
Transitional type: refers to a transitional type. With this type of browser, the parsing of XHTML is relatively loose, and tags in HTML4.01 are allowed to be used, but must comply with the syntax of XHTML. This is a common method now, and it is this type by default when creating a web page with Dreamweaver.
Strict type: Strict type, the browser will be relatively strict when using it, and does not allow the use of any form of identification and attributes, such as directly using the bgcolor background color attribute in the element, etc.
Frameset type: frame page type. If the web page uses a frame structure, it is necessary to use such a document declaration.
2.2 Encoding differences cause IE6 to be unable to parse CSS files normallyThe web page uses UTF-8 encoding format, which is not a problem. The problem is that the external CSS file defaults to ANSI encoding and is not saved in UTF-8 format. You may find that this is no problem under normal circumstances, but when the CSS file contains Chinese comments, it may not be satisfactory! It is estimated that browsers below IE6 cannot parse correctly due to encoding issues when parsing this CSS file, so CSS does not work under IE6. There are still many people using IE6. Therefore, this problem needs to be solved:
Method 1: Save CSS, JS and web page files in UTF-8 format.
Method 2: Remove the Chinese comments in CSS and JS, or change them to English.
The above is that IE6 cannot correctly parse the CSS file due to encoding problems
2.3 The FORM tag automatically adds MARGIN margins in IEThis tag will automatically add some margins in IE, and in IE The margin in FF is 0. Therefore, if you want the display to be consistent, it is best to specify margin and padding in CSS. To address the above two problems, CSS generally uses the style form{margin:0;padding:0; }
2.4 UL tagUL tag has padding value by default in Mozilla, but in IE only margin has value;
So first define ul{margin:0;padding:0; }
2.4 The problem of doubling MARGINThe margin set in IE for a div set to float will be doubled. This is a bug that exists in ie6. The solution is to add display:inline to this div; for example:
The corresponding CSS is#imfloat{
float:left;
margin:5px; /*Under IE, it is understood as 10px*/
display: inline; /*Under IE, it is understood as 5px*/ }