浏览器兼容

兼容问题

同一代码,有的浏览器效果正常,有的不正常;浏览器不同版本显示不同。

兼容出现原因

  1. 同一浏览器,版本越就BUG越多
  2. 不同浏览器,标准不一样

处理兼容的方法

条件注释

在HTML引入条件注释,可以被IE10以下的浏览器处理并工作
如下所示:

    <!--[if IE 6]>
    <p>You are using Internet Explorer 6.</p>
    <![endif]-->
    <!--[if !IE]><!-->
    <script>alert(1);</script>
    <!--<![endif]-->
    <!--[if IE 8]>
    <link href="ie8only.css" rel="stylesheet">
    <![endif]-->

IE 10 以上的浏览器解析<script>alert(1);</script>
IE6 浏览器 会显示P标签,IE8会引入e8only.css,IE7和IE9则什么都没效果

CSS hack

利用浏览器的BUG来处理想要的CSS效果
CSS Hack大致CSS属性前缀法、选择器前缀法
比如

  _color: blue; /*ie6*/
  *color: pink; /*ie67*/
  color: yellow\9;  /*ie/edge 6-8*/

更多hack写法

使用各种工具

  1. jQuery 1.x 版本支持IE6以上浏览器
  2. Vue支持IE9以上浏览器
  3. html5shiv.js 处理IE浏览器不能使用HTML5 标签,配套使用条件注释
    4.respond.js 处理IE浏览器不能使用CSS 的media查询功能
    5.css reset 重设默认样式
    6.normalize.css 让页面的默认样式在各个浏览器下保持一致

常见的属性兼容情况

inline-block: >=ie8
min-width/min-height: >=ie8
:before,:after: >=ie8
div:hover: >=ie7
background-size: >=ie9
圆角: >= ie9
阴影: >= ie9
动画/渐变: >= ie10
rgba>=ie9  //IE6-8 filter
opacity >=ie9
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 做前端多年,虽然不是经常需要hack,但是我们经常会遇到各浏览器表现不一致的情况。基于此,某些情况我们会极不情愿的...
    大女表哥阅读 4,808评论 0 9
  • 一、如何调试 IE 浏览器 IE7以上版本自带的开发者工具,IE6可以用border的方法;例:IE11的开发者工...
    __Qiao阅读 4,796评论 2 17
  • 一、问答部分 1. 如何调试 IE 浏览器 IE7及以上版本有调试台,可以按F12启动。Paste_Image.p...
    _hello__world_阅读 3,437评论 0 1
  • 什么是 CSS hack 由于不同厂商的浏览器,比如Internet Explorer,Safari,Mozill...
    阿鲁提尔阅读 1,873评论 0 2
  • 欢迎关注【M实事摘要】,这是一则立足中国放眼全球的AI和无人驾驶汽车(SDC)的实事简报(Newsletter)。...
    MurphyWan阅读 1,306评论 0 1

友情链接更多精彩内容