美文网首页
浏览器兼容问题

浏览器兼容问题

作者: 刘圣凯 | 来源:发表于2017-10-24 02:41 被阅读0次

为什么会产生兼容问题

同一段代码,有的浏览器显示正常,有的浏览器却显示不正常,这是因为不同的浏览器会有不同的标准以及实现方式,即使是同一产品,因为版本的不同也会产生差异,有的新功能在低版本上就不会被支持;而有的浏览器自身本来就有bug,以上原因都会产生问题。

处理浏览器兼容问题

通过 caniuse.com 可以查询属性在不同浏览器上的支持率,然后针对不支持该属性的浏览器做出相应的处理。

使用 Hack处理兼容问题

CSS Hack :通过在CSS样式中加入一些特殊的符号,让不同的浏览器识别不同的符号,以达到应用不同的CSS样式的目的,Hack的写法可以在browserhacks上查看,CSS Hack大致有三种表现形式:CSS属性前缀CSS选择器前缀IE条件注释

属性前缀与选择器前缀

举例来说, IE6能识别下划线和星号,IE7能识别星号,但不能识别下划线,IE6~IE10都认识"\9",但firefox前述三个都不能识别

div { width:300px; _width:200px; }

在上面这段代码中,_white:200px这条属性一般的浏览器是无法识别的,而IE6下这条属性是能够识别并且生效,所以一般浏览器下div的宽度为300px,而在IE6下后面的width覆盖了前面的,所以div的宽度为200px。
下面是一个比较常用的案例,IE8以下不支持inline-block,下面的写法则可以最小副作用的在IE8以下模拟inline-block

.target{
  display: inline-block;
  *display: inline;
  *zoom: 1;
}

条件注释

条件注释 (conditional comment) 是于HTML源码中被IE有条件解释的语句。条件注释可被用来向IE提供及隐藏代码,注:IE10及以上不再支持条件注释。

<!--[if IE 6]>
  <p>You are using Internet Explorer 6.</p>
<![endif]-->

上面这段代码会在IE6生效,也就是说,在IE6中,你的代码会出现一个内容为You are using Internet Explorer 6.的 p 标签,而除IE6外的浏览器中会把这段代码当成注释而不会出现这个p标签。

条件注释 范例 说明
[if !IE] 非IE
lt [if lt IE 5.5] 小于IE 5.5
lte [if lte IE 6] 小于等于IE6
gt [if gt IE 5] 大于 IE5
gte [if gte IE 7] 大于等于IE7
| [if (IE 6) | (IE 7)] IE6或者IE7

一些与兼容相关的开发工具

html5shiv
respond.js
normalize.css

相关文章

  • 浏览器兼容

    什么是浏览器兼容问题 为什么会有浏览器兼容问题 用到的网站 处理兼容问题的思路 渐进增强和优雅降级 stackov...

  • 常见浏览器兼容问题及解决

    一、什么是浏览器兼容问题所谓浏览器兼容问题就是指不同浏览器或同种浏览器不同版本对相同代码解析效果不同,浏览器兼容问...

  • 浏览器兼容

    为何会有浏览器兼容问题 因为市场上的浏览器有很多,不同的浏览器内核对网页的解析存在差异,这也是导致浏览器兼容问题出...

  • 浏览器兼容

    1. 概要 什么是浏览器兼容问题? 同一份代码,有的浏览器效果正常,有的不正常 为什么会有浏览器兼容问题 同一产品...

  • 浏览器兼容相关概念

    什么是浏览器兼容问题?为什么会有浏览器兼容问题? 同一份代码,有的浏览器效果正常,有的不正常 同一产品,版本越老 ...

  • 浏览器兼容

    什么是浏览器兼容问题 同一份代码,有的浏览器效果正常,有的不正常 为什么会有浏览器兼容问题 同一产品,版本越老 b...

  • Browser Hack整理

    浏览器的兼容问题 1.浏览器内核:Mozilla Firefox ( Gecko )Internet Explor...

  • 盒模型 IE与W3C

    ![Uploading image_302998.png . . .] 浏览器兼容问题 由于IE浏览器使用自己的非...

  • 浏览器能力检测

    浏览器的兼容问题是前端开发避不开的一个问题,我们在处理浏览器兼容问题时,可以采取第三方插件来做兼容,或者是浏览器能...

  • Html引用实现不同浏览器兼容问题

    Html引用实现不同浏览器兼容问题 在head部分插入即可

网友评论

      本文标题:浏览器兼容问题

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