浏览器样式兼容性问题及解决方式

Posted lytwajue

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了浏览器样式兼容性问题及解决方式相关的知识,希望对你有一定的参考价值。

工作中常常会碰到浏览器样式兼容性的问题。从今天開始,收集和整理一些常见的兼容性问题,系统的学习下前端知识。欢迎大家指正交流。


1、浏览器默认的标签内外边距不同,用通配符*统一设置为0

*{margin:0px; height:0px;}

2、标签最低高度min-height不兼容

{min-height:200px; height:auto !Important; height:200px; overflow:visible;}

3、设置较小高度标签

当给指定标签设置较小高度时,就碰到与浏览器默认最小高度冲突的问题。解决办法就是设置overflow:hidden或line-height小于标签高度。


4、透明度兼容性

.transparent_class {  
     filter:alpha(opacity=50);  /*IE下的透明度设置方法,仅仅对IE有效*/
     -moz-opacity:0.5;          /*主要针对老版本号的Mozilla 浏览器。如Netscape Navigator*/
     -khtml-opacity: 0.5;       /*老版本号Safari (1.x)的内核引擎使用的是KTHML*/
     opacity: 0.5;              /*这是当前标准的设置方法*/
} 


PS:这样的设置透明度的方法会让内部的内容(如文字、图片)也变成半透明。而在一些需求中。 仅仅须要背景半透明,那就须要定义两个兄弟div,一个设置为半透明作为背景。还有一个作为内容,绝对定位到前面div的上面。当然。如今的CSS3标准在设置背景属性时同一时候能够设置背景的透明度了。


5、清除浮动的两种方法

第一种方法:直接在父容器引用clearfix类

.clearfix:after{content:”.”;display:block;height:0;clear:both;visibility:hidden;}
*html .clearfix{height:1%;}
*+html .clearfix{height:1%;}
.clearfix{display:inline-block;}
.clearfix {display:block;}


另外一种方法:在父容器内部末尾加一个div。引用clear类

.clear{clear:both;height:0px;overflow:hidden;}

以上是关于浏览器样式兼容性问题及解决方式的主要内容,如果未能解决你的问题,请参考以下文章

各个浏览器的兼容问题及样式兼容处理(不定期补充)

IE8部分兼容问题及解决方法

Javascript的DOM中兼容问题以及解决兼容问题的方法

JS跨浏览器兼容性解决思路及方案汇总

iPhone6s, iPhone6 P上通过dom.style或者 ref.current.style 的方式设置样式报错, 但是其他手机上可以正常运行的问题及解决方法

CSS 多浏览器兼容性问题及解决方案