瀏覽器兼容

兼容問題

同一代碼,有的瀏覽器效果正常,有的不正常;瀏覽器不同版本顯示不同。

兼容出現(xiàn)原因

  1. 同一瀏覽器,版本越就BUG越多
  2. 不同瀏覽器,標(biāo)準(zhǔn)不一樣

處理兼容的方法

條件注釋

在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標(biāo)簽,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 標(biāo)簽,配套使用條件注釋
    4.respond.js 處理IE瀏覽器不能使用CSS 的media查詢功能
    5.css reset 重設(shè)默認(rèn)樣式
    6.normalize.css 讓頁面的默認(rèn)樣式在各個瀏覽器下保持一致

常見的屬性兼容情況

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
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 做前端多年,雖然不是經(jīng)常需要hack,但是我們經(jīng)常會遇到各瀏覽器表現(xiàn)不一致的情況。基于此,某些情況我們會極不情愿的...
    大女表哥閱讀 1,179評論 0 9
  • 一、如何調(diào)試 IE 瀏覽器 IE7以上版本自帶的開發(fā)者工具,IE6可以用border的方法;例:IE11的開發(fā)者工...
    __Qiao閱讀 1,177評論 2 17
  • 一、問答部分 1. 如何調(diào)試 IE 瀏覽器 IE7及以上版本有調(diào)試臺,可以按F12啟動。Paste_Image.p...
    _hello__world_閱讀 565評論 0 1
  • 什么是 CSS hack 由于不同廠商的瀏覽器,比如Internet Explorer,Safari,Mozill...
    阿魯提爾閱讀 313評論 0 2
  • 歡迎關(guān)注【M實事摘要】,這是一則立足中國放眼全球的AI和無人駕駛汽車(SDC)的實事簡報(Newsletter)。...
    MurphyWan閱讀 178評論 0 1

友情鏈接更多精彩內(nèi)容