什么是浏览器兼容性问题
浏览器兼容性问题:是指因为不同的浏览器基于不同的内核查同一段代码有不同的解析,造成页面显示疗效不统一的情况。
目前测试常用的几大浏览器
1.IE tester IE浏览器 (综合了IE的大部分版本)
2.Chorme 谷歌浏览器 (最常用)
3.Firefox 火狐浏览器 (以前常用)
4.Safari 苹果公司浏览器 (苹果MacOSX平台的多标签的网络浏览器)
5.Opera 欧朋浏览器 (全球第一手机浏览器Opera的英文品牌产品)
CSS常见兼容性问题及处理方案:
1. 上下margin重合问题:
问题形容:相邻的margin-left和margin-right是不会重合的,但是相邻的块级元素margin-top 和margin-bottom会形成重合。
处理方案:统一设置margin-top或则者 Marin-bottom,不要混和使用。
2.超链接访问后,hover款式不显示:
问题形容:同时设置a:visited和a:hover式样后,超链接访问后,hover的款式不显示,
问题起因:标签中的款式次序出现了错误。
处理方案:将她们的款式排序为 a:link , a:visited , a:hover , a:active .
3.行内元素上下margin及padding不拉开元素宽度的问题:
问题形容:行内元素的margin和padding属性很奇怪,水平方向的padding-left、padding-right、margin-left、margin-right都形成行距疗效,但竖直方向的padding-top、padding-bottom、margin-top、margin-bottom却不会形成行距疗效。
处理方案:将行内元素display设置为block就可处理
4.不同浏览器的标签默认的外宽度和内宽度不同
问题形容:随意写几个标签,不加式样控制的情况下,各自的margin 和padding差别较大。
处理方案:在CSS文件开头用转义*来设置各个标签的内外行距是0。
*
{
margin: 0px;
padding:0px;
}
5.ul在浏览器中不同彰显,具备默认行距在不同浏览器中显示的位置不同:
问题形容:在IE中,ul的默认行距是margin,在Firefox中,ul的默认行距是padding。
处理方案:设置其属性 padding:0px ; Margin : 0px;
6.按钮默认大小不一:
问题形容:不同浏览器的默认按键大小可能不同。
处理方案:用a标签来模拟按键,增加款式;假如按键是一张背景图片,那么直接给按键降低背景图;
7.图片间默认又宽度问题:
问题形容:几个img标签(行内标签)放在一起的时侯,有些浏览器会有默认的宽度,加了问题中学提及的键值也不起作用。
处理方案:使用float属性为img布局
8.双倍浮动问题:
问题形容:块状元素float后,有降低了纵向的margin,在IE6下比设置的值要大。
处理方案:给float标签降低display:inline,将其转换为行内元素
9.设置较小高度的容器(小于10px),在IE6下不辨识大于10px的高度
问题形容:IE8之前的浏览器就会给标签一个最小默认的列宽的高度,一般会出现在设置小圆角背景标签里。
处理方案:给容器降低overflow:hidden;或者者设置列宽line-height 小于你设置的高度。
10.容器不扩充问题:
问题形容:div嵌套结构中,外层的高度并没有随着子容器的高度手动扩充,却是产生了一条线。
问题起因:由于当子容器成为浮动元素后,并脱离了文档流,父容器觉得自己内容为空而造成的。
处理问题:在容器的末尾加入个消除浮动的div。 在网页中的任何地方,当遇见容器不扩充时,只要加入以下代码段,便能修补问题。