美文网首页
常见浏览器兼容性及解决方案?

常见浏览器兼容性及解决方案?

作者: 小果_112a | 来源:发表于2019-05-15 10:59 被阅读0次

(1)浏览器兼容问题一:不同浏览器的标签默认的外补丁和内补丁不同
问题症状:随便写几个标签,不加样式控制的情况下,各自的margin 和padding差异较大。
碰到频率:100%

  • 解决方案:CSS里 {margin:0;padding:0;}
    备注:这个是最常见的也是最易解决的一个浏览器兼容性问题,几乎所有的CSS文件开头都会用通配符
    来设置各个标签的内外补丁是0。
    (2)浏览器兼容问题二:
    块属性标签float后,又有横行的margin情况下,在IE6显示margin比设置的大
    问题症状:常见症状是IE6中后面的一块被顶到下一行
  • 解决方案:在float的标签样式控制中加入 display:inline;将其转化为行内属性
    备注:我们最常用的就是div+CSS布局了,而div就是一个典型的块属性标签,横向布局的时候我们通常都是用div float实现的,横向的间距设置如果用margin实现,这就是一个必然会碰到的兼容性问题。
    (3)浏览器兼容问题三:
    设置较小高度标签(一般小于10px),在IE6,IE7,遨游中高度超出自己设置高度
    问题症状:IE6、7和遨游里这个标签的高度不受控制,超出自己设置的高度
    碰到频率:60%
  • 解决方案:给超出高度的标签设置overflow:hidden;或者设置行高line-height 小于你设置的高度。
    备注:这种情况一般出现在我们设置小圆角背景的标签里。出现这个问题的原因是IE8之前的浏览器都会给标签一个最小默认的行高的高度。即使你的标签是空的,这个标签的高度还是会达到默认的行高。
    (4)浏览器兼容问题四:
    行内属性标签,设置display:block后采用float布局,又有横行的margin的情况,IE6间距bug
    问题症状:IE6里的间距比超过设置的间距
    碰到几率:20%
  • 解决方案 : 在display:block;后面加入display:inline;display:table;
    备注:行内属性标签,为了设置宽高,我们需要设置display:block;(除了input标签比较特殊)。在用float布局并有横向的margin后,在IE6下,他就具有了块属性float后的横向margin的bug。不过因为它本身就是行内属性标签,所以我们再加上display:inline的话,它的高宽就不可设了。这时候我们还需要在display:inline后面加入display:talbe。
    (5) 浏览器兼容问题五:
    图片默认有间距
    问题症状:几个img标签放在一起的时候,有些浏览器会有默认的间距,加了问题一中提到的通配符也不起作用。
    碰到几率:20%
  • 解决方案:使用float属性为img布局
    备注 : 因为img标签是行内属性标签,所以只要不超出容器宽度,img标签都会排在一行里,但是部分浏览器的img标签之间会有个间距。去掉这个间距使用float是正道。(我的一个学生使用负margin,虽然能解决,但负margin本身就是容易引起浏览器兼容问题的用法,所以我禁止他们使用)
    (6) 浏览器兼容问题六:
    标签最低高度设置min-height不兼容
    问题症状:因为min-height本身就是一个不兼容的CSS属性,所以设置min-height时不能很好的被各个浏览器兼容
    碰到几率:5%
  • 解决方案:如果我们要设置一个标签的最小高度200px,需要进行的设置为:{min-height:200px; height:auto !important; height:200px; overflow:visible;}
    备注:在B/S系统前端开时,有很多情况下我们又这种需求。当内容小于一个值(如300px)时。容器的高度为300px;当内容高度大于这个值时,容器高度被撑高,而不是出现滚动条。这时候我们就会面临这个兼容性问题。
    (7)浏览器兼容问题七:
    透明度的兼容CSS设置
    一般在ie中用的是filter:alpha(opacity=0);这个属性来设置div或者是块级元素的透明度,而在firefox中,一般就是直接使用opacity:0,对于兼容的,一般的做法就是在书写css样式的将2个都写上就行,就能实现兼容。
    参考地址:https://www.nowcoder.com/ta/review-frontend/review?query=&asc=true&order=&page=47

相关文章

  • 浏览器兼容性问题及解决方案(JS部分)

    关于浏览器兼容性问题的姊妹篇《浏览器兼容性问题及解决方案(CSS部分)》请点击这里。 常见的JS兼容性部分的问题有...

  • HTML+CSS(47-72)

    问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...

  • 常见浏览器兼容性及解决方案?

    (1)浏览器兼容问题一:不同浏览器的标签默认的外补丁和内补丁不同问题症状:随便写几个标签,不加样式控制的情况下,各...

  • 常见的浏览器兼容性问题+常用 hack 技巧

    常见的浏览器兼容性问题和解决方法 png24 位的图片在IE6 浏览器上出现背景。解决方案:将图片做成png8 位...

  • web前端笔记

    ##Javascript 多浏览器兼容性问题及解决方案 1 自定义属性问题 问题说明:IE下,可以使用获取常规属性...

  • CSS常见问题及解决方案

    CSS常见问题及解决方案 1、Bugs和解决方案 如何在IE6及更早浏览器中定义小高度的容器? 如何解决IE6及更...

  • 知识点__兼容性总结_1

    常见兼容性问题 ==> 解决方案: 1. 标准浏览器内容不会撑开设置好的宽高, 但是在低版本IE下,内容会撑开设置...

  • 前端面试题之解决浏览器兼容性的方案

    浏览器兼容性涉及的内容有很多,特别是针对IE浏览器,以下整理出五种常见的浏览器兼容性解决方法。 一、样式初始化 由...

  • JS—XML(跨浏览器)

    跨浏览器解决方案 分析存在的兼容性1、load()只有IE,Firefox,Opera支持,所以无法跨浏览器。2、...

  • 常用的浏览器兼容性测试工具介绍

    常见的浏览器兼容性测试工具有以下几种 IETester 这是我最先用的测试浏览器兼容性的工具,想必也是大家用的最多...

网友评论

      本文标题:常见浏览器兼容性及解决方案?

      本文链接:https://www.haomeiwen.com/subject/nlguaqtx.html