当前位置: 首页 > Web前端 > HTML

转载:常见浏览器兼容性问题及解决方法

时间:2023-04-02 23:03:54 HTML

(一)浏览器兼容性问题1:不同浏览器标签默认的外部补丁和内部补丁是不一样的。症状:随便写几个没有样式控制的标签下面,各自的margin和padding差别很大。遇到频率:100%解决方法:*{margin:0;padding:0;}inCSS备注:这是最常见也是最容易解决的浏览器兼容性问题。几乎所有的css文件都以通配符*开头,将每个标签的内、外补丁设置为0。(2)浏览器兼容性问题2:block属性标签为float后,有水平边距,IE6显示问题大保证金比率。:90%(稍微复杂的页面会遇到,float布局最常见的浏览器兼容性问题)解决方法:在float的标签样式控件中添加display:inline;转换成内联属性注意:我们最常用的是div+CSS布局,div是典型的块属性标签。我们通常使用divfloat进行水平布局。如果水平间距设置了边距,这是一种必然的兼容性。问题。(3)浏览器兼容性问题3:设置小高度标签(一般小于10px),在IE6、IE7、牟友中,高度超过你设置的高度自身高度遇到频率:60%解决方法:标签设置overflow:hidden超过高度;或将行高line-height设置为小于您设置的高度。备注:这种情况一般出现在我们设置小圆角背景的label中。出现这个问题的原因是IE8之前的浏览器会给标签一个默认的最小行高。即使你的标签是空的,这个标签的高度还是会达到默认的行高。(4)浏览器兼容性问题4:内联属性标签,设置display:block,采用float布局,出现水平边距的情况,IE6间距bug症状:IE6中的间距比例超过设置间距遇到几率:20%解决方法:添加display:inline;display:table;显示后:块;使用float布局和水平边距后,在IE6下,block属性float后出现水平边距的bug。但是因为是inline属性标签,如果我们加上display:inline,它的高宽是不能设置的。这时候我们还需要在display:inline之后加上display:talbe。(5)浏览器兼容性问题5:图片有默认间距。症状:当几个img标签放在一起时,有些浏览器会出现默认间距。添加问题1中提到的通配符将不起作用。遇到几率:20%解决方法:img布局使用float属性备注:因为img标签是内联属性标签,所以只要不超过容器的宽度,img标签就会排成一排,但是一些浏览器之间有img标签。有差距。去除这个间距并使用浮动是正确的方法。(我的一个学生使用negativemargin,虽然可以解决,但是negativemargin本身很容易造成浏览器兼容性问题,所以我禁止他们使用)(6)浏览器兼容性问题六:标签的最小高度是notsettomin-height兼容性问题症状:因为min-height本身是一个不兼容的CSS属性,在设置min-height时,并不是兼容所有的浏览器。遇到几率:5%解决方法:如果我们要设置标签的最小高度为200px,需要设置为:{min-height:200px;高度:自动!重要;高度:200px;overflow:visible;}备注:在打开B/S系统的前端时,我们有很多情况都会有这个需求。当内容小于某个值(如300px)时。容器高度为300px;当内容的高度大于这个值时,容器的高度会升高,而不是滚动条。这个时候我们就会面临这个兼容性问题。(7)浏览器兼容性问题7:透明度兼容的CSS设置在IE中一般使用为filter:alpha(opacity=0);该属性用于设置div或块级元素的透明度,而在firefox中,一般直接使用opacity:0。对于兼容的,一般的做法是将两者都写成css样式来实现兼容。