浏览器兼容性问题

一、不同浏览器的标签默认的外补丁和内补丁不同
  • 解决方案:CSS里*{margin:0;padding:0;}
二、快属性标签float后,又有横行的margin情况下,在IE6显示的margin比设置的大
  • 问题症状:常见症状是IE6中后面的一块被顶到下一行
  • 解决方案:在float的标签样式控制中加入 display:inline;将其转化为行内属性
三、设置较小高度标签(一般小于10px),在IE6,IE7,遨游中高度超出自己设置高度
  • 问题症状:IE6、7和遨游里这个标签的高度不受控制,超出自己设置的高度
  • 解决方案:给超出高度的标签设置overflow:hidden;或者设置行高line-height 小于你设置的高度
  • 备注:这种情况一般出现在我们设置小圆角背景的标签里。出现这个问题的原因是IE8之前的浏览器都会给标签一个最小默认的行高的高度。即使你的标签是空的,这个标签的高度还是会达到默认的行高。
四、行内属性标签,设置display:block后采用float布局,又有横行的margin的情况,IE6间距bug
  • 解决方案:在display:block;后面加入display:inline;display:table;或把display:block去掉
五、图片默认有间距
  • 问题症状:几个img标签放在一起的时候,有些浏览器会有默认的间距,加了问题一中提到的通配符也不起作用。
  • 解决方案:使用float属性为img布局
  • 备注:因为img标签是行内属性标签,所以只要不超出容器宽度,img标签都会排在一行里,但是部分浏览器的img标签之间会有个间距。去掉这个间距使用float是正道。(使用负margin,虽然能解决,但负margin本身就是容易引起浏览器兼容问题的用法,所以我禁止他们使用)
六、标签最低高度设置min-height不兼容
  • 问题症状:因为min-height本身就是一个不兼容的CSS属性,所以设置min-height时不能很好的被各个浏览器兼容
  • 解决方案:如果我们要设置一个标签的最小高度200px,需要进行的设置为:{min-height:200px; height:auto !important; height:200px; overflow:visible;}
七、透明度的兼容CSS设置
.transparent_class {   
     filter:alpha(opacity=50);   /*支持 IE 浏览器*/
     -moz-opacity:0.5;   /*支持 FireFox 浏览器*/
     -khtml-opacity: 0.5;    /*webkit内核浏览器*/
     opacity: 0.5;    /*支持 Chrome, Opera, Safari 等浏览器*/
}

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