html+css学习笔记——常见浏览器的兼容问题

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 在子标签最后清浮动{<div style="height:0;clear:both;">&nbsp;</div>}
                  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 一般情况下,最外层div不设宽高,是为了可扩展让内容撑开宽、高度,如果里面的元素浮动的话,就无法撑开外层div的宽、高度.
解决方法:直接在外层div中加overflow:hidden;但是在ie6中不起作用.
解决方法是:触发ie6的layout的私有属性,用zoom:1;可以做到,解决这个问题
7 Ie6里面:如li设宽、高,并且li里面的标签浮动,那么li之间会有间距
解决方法:li不设宽、高或者li内的标签不浮动
8  当li浮动,ul/ol没有浮动且ul/ol设置padding-top时,li之间会有间距,间距值为padding-top的值。解决方法:让ul/ol浮动,或者为ul/ol设置高度值。
9 3像素问题:ie6下,当浮动元素与流动元素并列显示时,他们之间会存在三像素问题。
    解决方法:用hack技术, 例如:所有浏览器通用 height:100px; 
                                                  ie6专用_height:100px;
                                                  ie7专用*+height:100px; 
                                                  ie6/ie7共用*height:100px;
10 当定义行内元素为包含框时,且包含框包含的绝对定位元素以百分比为单位进行定位时,会出现混乱。
    解决方法:在行内元素里加入{zoom:1;}
11 当多个浮动元素中间夹杂着HTML注释语句时,如果浮动元素宽度为100%,则在下一行多显示一个上一行最后一个字符。
12 opacity 定义元素的不透明度
  filter:alpha(opacity=80);/*ie支持该属性*/
  opacity:0.8;/*支持css3的浏览器*/
13 两个块元素,竖向的margin值不增加,会重叠,其间距为最大margin值。
14 优先级:被!important 注明的css属性具有最高优先级(.abc{color:red !important;})。但在ie6中!important具有一个bug:在同一组css属性中,!important不起作用。

 

 
 
 
 

你可能感兴趣的:(html)