IE兼容

  • 如何調(diào)試 IE 瀏覽器
    • 如何在IE瀏覽器內(nèi)調(diào)試代碼
      1. IE8及以上可以使用開發(fā)者工具


        console
      2. 在低版本的IE瀏覽器中可以用border: 1px solid;為調(diào)試元素加邊框來起到調(diào)試的目的
    • 如何測試在IE瀏覽器中的兼容性
      1. 使用IE Tester模擬IE的環(huán)境,可以從IE5到IE11烁巫,缺點(diǎn)是不夠準(zhǔn)確巢寡,而且也不能調(diào)試JS


        IE TESTER
      2. 使用虛擬機(jī),在虛擬機(jī)中安裝舊版操作系統(tǒng)和瀏覽器
        • 自己安裝虛擬機(jī)


          Vitual Box
        • 對低版本IE有兼容需求的公司會架設(shè)遠(yuǎn)程的虛擬機(jī)供員工進(jìn)行調(diào)試
        • 利用高版本IE的文本模式夸楣,例如IE8就可以選擇IE8的標(biāo)準(zhǔn)模式或者IE7的標(biāo)準(zhǔn)模式


          IE8文本模式
  • 什么是CSS hack宾抓?在 CSS 和 HTML里如何寫 hack子漩?在 CSS 中 ie6、ie7的 hack 方式石洗?
    • 因?yàn)樵缙诓煌瑸g覽器的渲染標(biāo)準(zhǔn)不一致幢泼,導(dǎo)致同樣的CSS語句在不同的瀏覽器當(dāng)中有不同的表現(xiàn),為了解決這些歷史遺留下來的問題讲衫,就利用瀏覽器的BUG去解決這些問題缕棵,這就叫做CSS hack
    • CSS hack 分類
      1. Property/Value Hacks
        在CSS的屬性值前面加入只有低版本的瀏覽器才認(rèn)識的符號,例如
      .selector {
          *property: value;
      }
      

      在屬性前面加星號在一般瀏覽器當(dāng)中不被認(rèn)可涉兽,但是在IE7及以下的版本會認(rèn)為這是合法的語句招驴,會得到執(zhí)行


      Property/Value hack
      1. IE CC(Conditional comments)
        在HTML中可以把對低版本IE寫的樣式添加在IE的條件注釋當(dāng)中,例如
      <!--[if IE]>
          <link rel="stylesheet" href="#">
      <![endif]-->
      

      這樣的注釋只有在IE中才被認(rèn)可枷畏,在其他瀏覽器中會被當(dāng)成一般注釋


      IE CC
    • 在IE6别厘、7的hack方式
      1. Prooerty/Vaule hack
        IE<=7
    .selector { !property: value; }
    .selector { $property: value; }
    .selector { &property: value; }
    .selector { *property: value; }
    .selector { )property: value; }
    .selector { =property: value; }
    .selector { %property: value; }
    .selector { +property: value; }
    .selector { @property: value; }
    .selector { ,property: value; }
    .selector { .property: value; }
    .selector { /property: value; }
    .selector { `property: value; }
    .selector { ]property: value; }
    .selector { #property: value; }
    .selector { ~property: value; }
    .selector { ?property: value; }
    .selector { :property: value; }
    .selector { |property: value; }
    
    .selector { property: value !ie; }
    
    IE6-8
    .selector { property: value\9; }
    .selector { property/*\**/: value\9; }
    
      2. Conditional Comments
    
    其中l(wèi)t、lte矿辽、gt丹允、gte分別表示less than、less than equal袋倔、greter than雕蔽、greater than equal
    IE<=7
    <!--[if lte IE 7]>
        <link rel="stylesheet" href="#">
    <![endif]-->
    
    IE6
    <!--[if IE 6]>
        <link rel="stylesheet" href="#">
    <![endif]-->
    
    IE7
    <!--[if lte IE 7]>
        <link rel="stylesheet" href="#">
    <![endif]-->
    
  • 列舉幾種瀏覽器兼容問題
    1. opacity屬性在IE8只有部分支持,即可以用filter屬性達(dá)到同樣的效果
      can i use

      在chrome下的表現(xiàn)
      chrome

      在IE11中文檔模式下看到的IE8
      IE8表現(xiàn)

      通過查詢知道在IE8宾娜,可以使用
            -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=40)";

IE8透明

2. display: inline-block;在IE6批狐、7沒有效果
can i use

在chrome的表現(xiàn)
chrome

在IE7的表現(xiàn)
IE7

在IE6、7中只有默認(rèn)行內(nèi)元素才可以有display: inline-block;的效果前塔,可以用以下代碼解決

            *display: inline;
            zoom: 1;

實(shí)現(xiàn)后的效果


實(shí)現(xiàn)display: inline-block;
  • 針對兼容嚣艇、多瀏覽器覆蓋有什么看法?漸進(jìn)增強(qiáng)和優(yōu)雅降級是什么意思华弓?

    • 對于瀏覽器的兼容食零,首先要做好調(diào)研,判斷自己的產(chǎn)品到底有沒必要對瀏覽器進(jìn)行兼容寂屏,而且兼容到哪些程度贰谣。例如,我的產(chǎn)品受眾大部分是年輕人迁霎,那么年輕人中可能使用的瀏覽器版本比較新吱抚,那么我就不需要對IE早期的版本進(jìn)行兼容。判斷的方法有多種考廉,可以根據(jù)使用百分比判斷秘豹,例如淘寶,當(dāng)一個瀏覽器版本使用人數(shù)不足3%的時候昌粤,就不進(jìn)行兼容既绕。還有如果我需要兼容啄刹,那么我要兼容到哪個程度,例如兼容需求的等級有A級(意味著對PSD百分百實(shí)現(xiàn)岸更,例如Chrome/FF/IE9)鸵膏,B級(功能實(shí)現(xiàn),頁面表現(xiàn)差別不大怎炊,例如IE8)谭企,C級(只要求能實(shí)現(xiàn)基本的功能,例如IE7)
    • 漸進(jìn)增強(qiáng)和優(yōu)雅降級
      • 逐漸增強(qiáng)的意思是在低版本的瀏覽器可以實(shí)現(xiàn)基本的功能的基礎(chǔ)上構(gòu)建網(wǎng)頁评肆,然后在高版本的瀏覽器實(shí)現(xiàn)新的特性來增加更好的用戶體驗(yàn)债查。逐漸增強(qiáng)的思想是內(nèi)容為主,一個網(wǎng)站的本質(zhì)是其要所表現(xiàn)的內(nèi)容
      • 優(yōu)雅降級的意思是為高版本的瀏覽器實(shí)現(xiàn)新的特性的原則上瓜挽,在低版本的瀏覽器犧牲一些用戶體驗(yàn)來實(shí)現(xiàn)基本的功能盹廷。優(yōu)雅降級的思想是用戶體驗(yàn)為主,雖然回退方案可以保證兼容各瀏覽器久橙,但是并不能保證在低端瀏覽器的使用體驗(yàn)俄占,只是看起來在各個瀏覽器的表現(xiàn)一樣了

    參考:
    優(yōu)雅降級和逐漸增強(qiáng)的區(qū)別
    怎樣可以很好地保證網(wǎng)頁的瀏覽器兼容性?

  • reset.cssnormalize.css分別是做什么的淆衷?為什么推薦使用nomalize.css?

    • 兩種方法都是為了使頁面在不同的瀏覽器下的表現(xiàn)一致
      • reset.css是將所有的瀏覽器自帶樣式重置掉缸榄,用一切歸零的方法來實(shí)現(xiàn)頁面在不同瀏覽器的表現(xiàn)一致
      • normalize.css的方式不是一棒子打死,而是保留用的默認(rèn)樣式祝拯,去掉不需要的樣式
    • normalize.css的優(yōu)點(diǎn)
      <blockquote>1. Normalize.css 保護(hù)了有價值的默認(rèn)值
      Reset通過為幾乎所有的元素施加默認(rèn)樣式甚带,強(qiáng)行使得元素有相同的視覺效果。相比之下佳头,Normalize.css保持了許多默認(rèn)的瀏覽器樣式鹰贵。這就意味著你不用再為所有公共的排版元素重新設(shè)置樣式。當(dāng)一個元素在不同的瀏覽器中有不同的默認(rèn)值時康嘉,Normalize.css會力求讓這些樣式保持一致并盡可能與現(xiàn)代標(biāo)準(zhǔn)相符碉输。</blockquote>
      <blockquote>2. Normalize.css 修復(fù)了瀏覽器的bug
      它修復(fù)了常見的桌面端和移動端瀏覽器的bug。這往往超出了Reset所能做到的范疇亭珍。關(guān)于這一點(diǎn)敷钾,Normalize.css修復(fù)的問題包含了HTML5元素的顯示設(shè)置、預(yù)格式化文字的font-size問題块蚌、在IE9中SVG的溢出、許多出現(xiàn)在各瀏覽器和操作系統(tǒng)中的與表單相關(guān)的bug膘格。</blockquote>
      <blockquote>3. Normalize.css 不會讓你的調(diào)試工具變的雜亂
      使用Reset最讓人困擾的地方莫過于在瀏覽器調(diào)試工具中大段大段的繼承鏈峭范,如下圖所示。在Normalize.css中就不會有這樣的問題瘪贱,因?yàn)樵谖覀兊臏?zhǔn)則中對多選擇器的使用時非常謹(jǐn)慎的纱控,我們僅會有目的地對目標(biāo)元素設(shè)置樣式辆毡。</blockquote>
      <blockquote>4. Normalize.css 是模塊化的
      這個項(xiàng)目已經(jīng)被拆分為多個相關(guān)卻又獨(dú)立的部分,這使得你能夠很容易也很清楚地知道哪些元素被設(shè)置了特定的值甜害。因此這能讓你自己選擇性地移除掉某些永遠(yuǎn)不會用到部分(比如表單的一般化)舶掖。</blockquote>
      <blockquote>5. Normalize.css 擁有詳細(xì)的文檔
      Normalize.css的代碼基于詳細(xì)而全面的跨瀏覽器研究與測試。這個文件中擁有詳細(xì)的代碼說明并在Github Wiki中有進(jìn)一步的說明尔店。這意味著你可以找到每一行代碼具體完成了什么工作眨攘、為什么要寫這句代碼、瀏覽器之間的差異嚣州,并且你可以更容易地進(jìn)行自己的測試鲫售。</blockquote>

    參考:
    Normalize.css和Reset CSS的區(qū)別
    來,讓我們談一談 Normalize.css

  • IE盒模型和標(biāo)準(zhǔn)盒模型有什么區(qū)別? 怎樣使IE678使用標(biāo)準(zhǔn)盒模型?box-sizing:border-box有什么作用该肴?

    • IE盒模型的width=border+padding+content,標(biāo)準(zhǔn)盒模型的width=content;


      盒模型
    • 在html的頭部加入DOCTYPE就可以使用IE678的標(biāo)準(zhǔn)模式情竹,標(biāo)準(zhǔn)模式所使用的和模型就是W3C的標(biāo)準(zhǔn)盒模型
    • box-sizing屬性是用來改變默認(rèn)的盒模型寬高的計(jì)算方式秦效,可用來模擬那些非正確支持標(biāo)準(zhǔn)盒模型的瀏覽器的表現(xiàn),這個屬性的值有兩個
      <blockquote>content-box|border-box</blockquote>
      • content-box,默認(rèn)的值,作用就是使用W3C標(biāo)準(zhǔn)的盒模型,width=content
      • border-box若皱,這個屬性可以是寬高的計(jì)算方式變成width=border+padding+content,也就是IE在怪異模式下使用的盒模型
         div {
            width: 200px;
            height: 200px;
            background-color: red;
            padding: 50px;
            border: 50px solid green;
            box-sizing: border-box;
         }
border-box

操作

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末嗡善,一起剝皮案震驚了整個濱河市各吨,隨后出現(xiàn)的幾起案子揭蜒,更是在濱河造成了極大的恐慌,老刑警劉巖瑰谜,帶你破解...
    沈念sama閱讀 216,372評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件葱峡,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)涯竟,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評論 3 392
  • 文/潘曉璐 我一進(jìn)店門筐钟,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事狱庇⊙掌簦” “怎么了?”我有些...
    開封第一講書人閱讀 162,415評論 0 353
  • 文/不壞的土叔 我叫張陵浪讳,是天一觀的道長缰盏。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么口猜? 我笑而不...
    開封第一講書人閱讀 58,157評論 1 292
  • 正文 為了忘掉前任负溪,我火速辦了婚禮,結(jié)果婚禮上济炎,老公的妹妹穿的比我還像新娘川抡。我一直安慰自己,他們只是感情好须尚,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,171評論 6 388
  • 文/花漫 我一把揭開白布崖堤。 她就那樣靜靜地躺著,像睡著了一般耐床。 火紅的嫁衣襯著肌膚如雪密幔。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,125評論 1 297
  • 那天撩轰,我揣著相機(jī)與錄音胯甩,去河邊找鬼。 笑死堪嫂,一個胖子當(dāng)著我的面吹牛蜡豹,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播溉苛,決...
    沈念sama閱讀 40,028評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼镜廉,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了愚战?” 一聲冷哼從身側(cè)響起娇唯,我...
    開封第一講書人閱讀 38,887評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎寂玲,沒想到半個月后塔插,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,310評論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡拓哟,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,533評論 2 332
  • 正文 我和宋清朗相戀三年想许,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片断序。...
    茶點(diǎn)故事閱讀 39,690評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡流纹,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出违诗,到底是詐尸還是另有隱情漱凝,我是刑警寧澤,帶...
    沈念sama閱讀 35,411評論 5 343
  • 正文 年R本政府宣布诸迟,位于F島的核電站茸炒,受9級特大地震影響愕乎,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜壁公,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,004評論 3 325
  • 文/蒙蒙 一感论、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧紊册,春花似錦笛粘、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽润努。三九已至关斜,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間铺浇,已是汗流浹背痢畜。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評論 1 268
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留鳍侣,地道東北人贮懈。 一個月前我還...
    沈念sama閱讀 47,693評論 2 368
  • 正文 我出身青樓喇闸,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子大脉,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,577評論 2 353

推薦閱讀更多精彩內(nèi)容

  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補(bǔ)...
    _Yfling閱讀 13,748評論 1 92
  • 一术裸、如何調(diào)試 IE 瀏覽器归园? 在IE7以上的版本中可以通過按快捷鍵F12調(diào)出開發(fā)人員調(diào)試框,如下圖IE7以上調(diào)試工...
    dengpan閱讀 548評論 0 2
  • 1. 網(wǎng)頁亂碼的問題是如何產(chǎn)生的惨驶? 因?yàn)橐环菸臋n保存在計(jì)算機(jī)的時候不是以我們看到的樣子白热,而是用計(jì)算機(jī)理解的樣子去保...
    老虎愛吃母雞閱讀 1,668評論 0 2
  • 一、CSS1.根據(jù)不同瀏覽器默認(rèn)設(shè)置不同粗卜,頁面可初始化樣式屋确,調(diào)整成一致 2.IE8及以下不支持CSS3 3.IE6...
    李好Ario閱讀 344評論 0 0
  • .Index_bottom { } /*通用*/ @media screen and (min-width:0) ...
    獨(dú)與毒閱讀 402評論 0 2