浏览器兼容问题

主流浏览器有5种,分别是:IE、chrome、firefox、safari、opera.

1 ie6.0横向margin加倍

产生因素:块属性、float、有横向margin。
解决方法:display:inline;

2 ie6.0下默认有行高

解决方法:overflow:hidden;或font-size:0;或line-height:xx px;

3 在各个浏览器下img有空隙(原因是:回车。)

解决方法:让图片浮动。

4 一个父标签与几个子标签嵌套,父标签不浮动,子标签float,子标签不撑开父的高度。

解决方法:a 在子标签最后清浮动{
} b 父标签添加{overflow:hidden;} c 给父标签设置高度

5 Ie6下,不识别最大宽、高度和最小宽高度,意即min-width/height和 Max-width/height在ie6中没效果,

解决方法:
        (1):.abc{border:1px blue solid;width:200px;height:200px;}
                      html>body .abc{width:auto;height:auto;min-
                      width:200px;min-height:200px;}
        (2):.abc{width:200px;height:200px;_width:200px;_height:200px;}(因为ie6有一个特征,当定义一个高度时,如果内容超过高度,元素会自动调整高度。)

6 Ie6里面:如li设宽、高,并且li里面的标签浮动,那么li之间会有间距

解决方法:li不设宽、高或者li内的标签不浮动

7 li之间有间距

解决方法:li 设置vertical-align:middle;

8 3像素问题:ie6下,当浮动元素与流动元素并列显示时,他们之间会存在三像素问题。

 解决方法:用hack技术, 例如:所有浏览器通用 
                                              height:100px; 
                                              ie6专用_height:100px;
                                              ie7专用*+height:100px; 
                                              ie6/ie7共用*height:100px;

9 当定义行内元素为包含框时,且包含框包含的绝对定位元素以百分比为单位进行定位时,会出现混乱。

解决方法:在行内元素里加入{zoom:1;}

10 当多个浮动元素中间夹杂着HTML注释语句时,如果浮动元素宽度为100%,则在下一行多显示一个上一行最后一个字符。

    解决办法:给浮动元素添加display:inline;。

11 opacity 定义元素的不透明度

 filter:alpha(opacity=80);/*ie支持该属性*/
 opacity:0.8;/*支持css3的浏览器*/

12 两个块元素,竖向的margin值不增加,会重叠,其间距为最大margin值。

13 优先级:被!important 注明的css属性具有最高优先级

(.abc{color:red !important;})。但在ie6中!important具有一个bug:在同一
组css属性中,!important不起作用。

14 火狐不识别background-position-y 或background-position-x;

15 解决 ie6 最大、最小宽高 hack方法


/* 最小宽度 */.min_width
{ min-width:300px; 
_width:expression(parseInt(this.clientWidth) < 300 ? "300px" : this.clientWidth);}
/* 最大宽度 */.max_width
{ max-width:600px;
_width:expression(parseInt(this.clientWidth) > 600 ? "600px" : this.clientWidth);}
/* 最小高度 */.min_height
{ min-height:200px; 
_height:expression(parseInt(this.clientHeight) < 200 ? "200px" : this.clientHeight);}
/* 最大高度 */.max_height
{ max-height:400px;
_height:expression(parseInt(this.clientHeight) > 400 ? "400px" : this.clientHeight);}

16 ie各个版本hack

/*类内部hack:
*/ .header {_width:100px;} 
/* IE6专用*/ .header {*+width:100px;} 
/* IE7专用*/ .header {*width:100px;}
 /* IE6、IE7共用*/ .header {width:100px\0;} 
/* IE8、IE9共用*/ .header {width:100px\9;}
 /* IE6、IE7、IE8、IE9共用*/ .header {width:330px\9\0;} 
/* IE9专用*//*选择器Hack:*/ *html .header{} 
/*IE6*/ *+html .header{} /*IE7*/ 

/*选择器Hack:*/
    *html .header{}        /*IE6*/ 
    *+html .header{}    /*IE7*/ 

你可能感兴趣的:(浏览器兼容问题)