第十三彈-瀏覽器兼容

1.如何調試 IE 瀏覽器

  • IE7以上可以使用瀏覽器自帶的開發(fā)者工具严就,IE6可以使用加邊框的直觀方式進行調試;
  • 使用模擬器模擬不同版本的IE瀏覽器蝴悉,如IEtester或者Test IE嫌蚤、Edge自帶模擬器等;
  • 安裝虛擬機咆贬,在虛擬機內安裝多個系統(tǒng)搭配不同版本IE瀏覽器來進行調試;

2.什么是CSS hack帚呼?在 CSS 和 HTML里如何寫 hack掏缎?在 CSS 中 ie6、ie7的 hack 方式萝挤?

CSS hack概念:

CSS hack由于不同廠商的瀏覽器御毅,比如Internet Explorer,Safari,Mozilla Firefox,Chrome等,或者是同一廠商的瀏覽器的不同版本怜珍,如IE6和IE7,對CSS的解析認識不完全一樣凤粗,因此會導致生成的頁面效果不一樣酥泛,得不到我們所需要的頁面效果,這個時候我們就需要針對不同的瀏覽器去寫不同的CSS嫌拣,讓它能夠同時兼容不同的瀏覽器柔袁,能在不同的瀏覽器中也能得到我們想要的頁面效果。 簡單的說异逐,CSS hack的目的就是使你的CSS代碼兼容不同的瀏覽器捶索。當然,我們也可以反過來利用CSS hack為不同版本的瀏覽器定制編寫不同的CSS效果;

三種表現(xiàn)形式:
  • 屬性前綴法(即類內部Hack):
    background:black; /* for all browsers /
    _background:red; /
    for ie6 */
    background:green; / for ie6~7 /
    background:blue\9; /
    for ie6~10 */

  • 選擇器前綴法(即選擇器Hack):
    html .class{}/ for IE6 */
    +html .class{}/ for IE7 */
    :first-child+html .class{}/ for IE7 */

  • IE條件注釋法(即HTML條件注釋Hack):

     只在IE下生效
     <!--[if IE]>
        <link rel="stylesheet" type="text/css" href="ie.css">
     <![endif]-->
     只在IE6下生效
     <!--[if IE 6]>
         <link rel="stylesheet" type="text/css" href="ie6.css">
     <![endif]-->
     只在IE6以上版本生效
     <!--[if gte IE 6]>
     這段文字只在IE6以上(包括)版本IE瀏覽器顯示
     <![endif]-->
     非IE瀏覽器生效
     <!--[if !IE]>
     這段文字只在非IE瀏覽器顯示
     <![endif]-->
    
在 CSS 中 ie6灰瞻、ie7的 hack 方式:

屬性以星號開頭腥例,如 *color: red;/* 該屬性只在ie6、ie7生效 */;

3.列舉幾種 瀏覽器兼容問題

  • border-radius:4px酝润;/* ie7以下版本不支持圓角 */
    解決辦法:使用JQuery框架集來設置圓角或者圓角圖片進行覆蓋;
  • min-height:200px;/*IE8以下不支持*/
    解決辦法:添加"*height:200px燎竖;"屬性設置;
  • display:inline-block;/*IE8以下不支持*/
    解決辦法:添加"*display:inline要销;"屬性設置构回;
  • opacity:0.6;/*IE8部分支持,IE8以下不支持*/
    解決辦法:添加"filter:alpha(opacity=50); / IE */"屬性設置疏咐;

4.針對兼容纤掸、多瀏覽器覆蓋有什么看法?漸進增強和優(yōu)雅降級是什么意思浑塞?

看法:
  • 分析需求借跪,對于上級或客戶需求兼容的低版本瀏覽器需全部兼容;
  • 對于低版本只要大局顯示不影響缩举,可以不刻意追求美觀上樣式的一致垦梆;
  • 分析瀏覽器占用率匹颤,一般低于一定占用率的瀏覽器可以選擇不兼容;
  • 總體上托猩,把握時間成本印蓖、用戶群體、交互效果上進行權衡是否需要兼容對應的瀏覽器京腥;
漸進增強(progressive enhancement):
  • 一開始只構建站點的最少特性赦肃,然后不斷針對各瀏覽器追加功能;
  • 從被所有瀏覽器支持的基本功能開始,逐步地添加那些只有新式瀏覽器才支持的功能公浪。漸進增強是值得所有開發(fā)者采用的做法他宛。漸進增強方案并不假定所有用戶都支持javascript,而總是提供一種候補方法欠气,確保用戶可以訪問(主要的)內容;
  • 使用漸進增強時厅各,無需為了一個已成型的網站在舊式瀏覽器下正常工作而做逆向工程。首先预柒,只需要為所有的設備和瀏覽器準備好清晰且語義化的HTML以及完善的內容队塘,然后再以無侵入(unobtrusive)的方式向頁面增加無害于基礎瀏覽器的額外樣式和功能。當瀏覽器升級時宜鸯,它們會自動地呈現(xiàn)出來并發(fā)揮作用;
優(yōu)雅降級(graceful degradation):
  • 一開始就構建站點的完整功能憔古,然后針對瀏覽器測試和修復;
  • 使用優(yōu)雅降級方案,Web站點在所有新式瀏覽器中都能正常工作淋袖,如果用戶使用的是老式瀏覽器鸿市,則代碼會檢查以確認它們是否能正常工作。由于IE獨特的盒模型布局問題即碗,絕大多數(shù)Web設計師和開發(fā)者都通過專門的樣式表或針對不同版本的IE的hack實踐過優(yōu)雅降級了焰情;
  • 使用優(yōu)雅降級技術時,你必須首先完整的實現(xiàn)了網站烙样,其中包括所有的功能和效果。然后再為那些無法支持所有功能的瀏覽器增加候選方案蕊肥,使之在舊式瀏覽器上以某種形式降級體驗卻不至于完全失效;

參考文檔:百度搜索

5.reset.css和normalize.css分別是做什么的谒获?為什么推薦使用nomalize.css?

**Reset.css: **
統(tǒng)一各個版本瀏覽器默認Html標簽樣式,直接重置所有原瀏覽器默認樣式壁却,再添加統(tǒng)一的標準默認樣式批狱;
normalize.css:
統(tǒng)一各個版本瀏覽器默認Html標簽樣式,只重置統(tǒng)一瀏覽器默認樣式中有差異的部分樣式展东;

推薦使用Normalize的好處:
  • Normalize.css 保護了有價值的默認值赔硫;
  • Normalize.css 修復了瀏覽器的bug
  • Normalize.css 不會讓你的調試工具變的雜亂;
  • Normalize.css 是模塊化的盐肃;
  • Normalize.css 擁有詳細的文檔爪膊。

參考文檔:Jerry Zou

6.IE盒模型和標準盒模型有什么區(qū)別? 怎樣使 IE678使用標準盒模型?box-sizing:border-box有什么作用

W3C盒模型(標準盒模型):
chrome权悟, ie9+, ie678(添加 doctype) 使用標準盒模型, 寬度= 內容寬度推盛,如下圖:

IE 盒模型:
ie678怪異模式(不添加 doctype)使用 ie 盒模型峦阁,寬度=邊框+padding+內容寬度,如下圖:

使 IE6耘成、7榔昔、8使用標準盒模型:
  • 添加聲明<!DOCTYPE html>
box-sizing:border-box作用:
  • 為元素設定的寬度和高度決定了元素的邊框盒。即使盒子模型設定為IE盒模型瘪菌,設定寬高包含內邊距和邊框和內容寬度撒会;

7.操作

1. virtualbox 安裝 xp 虛擬機:

mac
windows

答:
  • 安裝了XP及win7的virtualbox,如下圖:


2. 在 ie 6, 7, 8中展示 盒模型师妙、inline-block诵肛、max-width的區(qū)別?
答:
  • 盒模型默穴,IE6曾掂、7、8聲明 <!Doctype html>壁顶,運行效果如下圖:
  • 盒模型,IE6溜歪、7若专、8未聲明 <!Doctype html>,運行效果如下圖:
  • inline-block在IE8中兼容蝴猪,IE6调衰、7不兼容,運行效果如下圖:


  • max-width在IE8中兼容自阱,IE6嚎莉、7不兼容,運行效果如下圖:


        聲明:本博客教程版權歸蘭文聰和饑人谷所有沛豌,轉載需說明來源趋箩!

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市加派,隨后出現(xiàn)的幾起案子叫确,更是在濱河造成了極大的恐慌,老刑警劉巖芍锦,帶你破解...
    沈念sama閱讀 217,406評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件竹勉,死亡現(xiàn)場離奇詭異,居然都是意外死亡娄琉,警方通過查閱死者的電腦和手機次乓,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,732評論 3 393
  • 文/潘曉璐 我一進店門吓歇,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人票腰,你說我怎么就攤上這事城看。” “怎么了丧慈?”我有些...
    開封第一講書人閱讀 163,711評論 0 353
  • 文/不壞的土叔 我叫張陵析命,是天一觀的道長。 經常有香客問我逃默,道長鹃愤,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,380評論 1 293
  • 正文 為了忘掉前任完域,我火速辦了婚禮软吐,結果婚禮上,老公的妹妹穿的比我還像新娘吟税。我一直安慰自己凹耙,他們只是感情好,可當我...
    茶點故事閱讀 67,432評論 6 392
  • 文/花漫 我一把揭開白布肠仪。 她就那樣靜靜地躺著肖抱,像睡著了一般。 火紅的嫁衣襯著肌膚如雪异旧。 梳的紋絲不亂的頭發(fā)上意述,一...
    開封第一講書人閱讀 51,301評論 1 301
  • 那天,我揣著相機與錄音吮蛹,去河邊找鬼荤崇。 笑死,一個胖子當著我的面吹牛潮针,可吹牛的內容都是我干的术荤。 我是一名探鬼主播,決...
    沈念sama閱讀 40,145評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼每篷,長吁一口氣:“原來是場噩夢啊……” “哼瓣戚!你這毒婦竟也來了?” 一聲冷哼從身側響起雳攘,我...
    開封第一講書人閱讀 39,008評論 0 276
  • 序言:老撾萬榮一對情侶失蹤带兜,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后吨灭,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體刚照,經...
    沈念sama閱讀 45,443評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,649評論 3 334
  • 正文 我和宋清朗相戀三年喧兄,在試婚紗的時候發(fā)現(xiàn)自己被綠了无畔。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片啊楚。...
    茶點故事閱讀 39,795評論 1 347
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖浑彰,靈堂內的尸體忽然破棺而出恭理,到底是詐尸還是另有隱情,我是刑警寧澤郭变,帶...
    沈念sama閱讀 35,501評論 5 345
  • 正文 年R本政府宣布颜价,位于F島的核電站,受9級特大地震影響诉濒,放射性物質發(fā)生泄漏周伦。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,119評論 3 328
  • 文/蒙蒙 一未荒、第九天 我趴在偏房一處隱蔽的房頂上張望专挪。 院中可真熱鬧,春花似錦片排、人聲如沸寨腔。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,731評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽迫卢。三九已至,卻和暖如春冶共,著一層夾襖步出監(jiān)牢的瞬間靖避,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,865評論 1 269
  • 我被黑心中介騙來泰國打工比默, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人盆犁。 一個月前我還...
    沈念sama閱讀 47,899評論 2 370
  • 正文 我出身青樓命咐,卻偏偏與公主長得像,于是被迫代替她去往敵國和親谐岁。 傳聞我的和親對象是個殘疾皇子醋奠,可洞房花燭夜當晚...
    茶點故事閱讀 44,724評論 2 354

推薦閱讀更多精彩內容

  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標簽默認的外補...
    _Yfling閱讀 13,751評論 1 92
  • 一伊佃、如何調試 IE 瀏覽器窜司? 在IE7以上的版本中可以通過按快捷鍵F12調出開發(fā)人員調試框,如下圖IE7以上調試工...
    dengpan閱讀 548評論 0 2
  • 一航揉、問答部分 1. 如何調試 IE 瀏覽器 IE7及以上版本有調試臺塞祈,可以按F12啟動。Paste_Image.p...
    _hello__world_閱讀 464評論 0 1
  • 一帅涂、如何調試 IE 瀏覽器 IE7以上版本自帶的開發(fā)者工具议薪,IE6可以用border的方法尤蛮;例:IE11的開發(fā)者工...
    __Qiao閱讀 1,127評論 2 17
  • 第二章 七個習慣概論 本書將習慣定義為“知識”、“技巧”和“意愿”相互交織的結果斯议。 “成熟模式圖”产捞,即人類成長的三...
    聽說Hey這個昵稱被使用了閱讀 328評論 0 0