问题一:不同浏览器的标签默认的外补丁和内补丁不同
- 问题症状:随便写几个标签,不加样式控制的情况下,各自的margin 和padding差异较大。
- 碰到频率:100%
- 解决方案:css里
*{margin:0;padding:0;}
- 备注:这个是最常见的也是最易解决的一个浏览器兼容性问题,几乎所有的css文件开头都会用通配符*来设置各个标签的内外补丁是0。
问题二:块属性标签float后,又有横行的margin情况下,在ie6显示margin比设置的大
- 问题症状:常见症状是ie6中后面的一块被顶到下一行
- 碰到频率:90%(稍微复杂点的页面都会碰到,float布局最常见的浏览器兼容问题)
- 解决方案:在float的标签样式控制中加入 display:inline;将其转化为行内属性
- 备注:我们最常用的就是div+css布局了,而div就是一个典型的块属性标签,横向布局的时候我们通常都是用div float实现的,横向的间距设置如果用margin实现,这就是一个必然会碰到的兼容性问题。
问题三:设置较小高度标签(一般小于10px),在ie6,ie7,遨游中高度超出自己设置高度
- 问题症状:ie6、7和遨游里这个标签的高度不受控制,超出自己设置的高度
- 碰到频率:60%
- 解决方案:给超出高度的标签设置overflow:hidden;或者设置行高line-height 小于你设置的高度。
- 备注:这种情况一般出现在我们设置小圆角背景的标签里。出现这个问题的原因是ie8之前的浏览器都会给标签一个最小默认的行高的高度。即使你的标签是空的,这个标签的高度还是会达到默认的行高。