瀏覽器兼容

1.什么是 CSS hack

由于不同廠商的瀏覽器,比如Internet Explorer,Safari,Mozilla Firefox,Chrome等是晨,或者是同一廠商的瀏覽器的不同版本媳瞪,如IE6和IE7啡氢,對CSS的解析認識不完全一樣孩等,因此會導(dǎo)致生成的頁面效果不一樣斥赋,得不到我們所需要的頁面效果璃哟。
這個時候我們就需要針對不同的瀏覽器去寫不同的CSS氛琢,讓它能在不同的瀏覽器中也能得到我們想要的頁面效果。


2.談一談瀏覽器兼容的思路

  • 要不要做
    產(chǎn)品的角度(產(chǎn)品的受眾随闪、受眾的瀏覽器比例阳似、效果優(yōu)先還是基本功能優(yōu)先)
    成本的角度 (有無必要做某件事)
  • 做到什么程度
    讓哪些瀏覽器支持哪些效果
  • 如何做
    根據(jù)兼容需求選擇技術(shù)框架/庫(jquery)
    根據(jù)兼容需求選擇兼容工具(html5shiv.jsrespond.js铐伴、css reset撮奏、normalize.cssModernizr)
    postCSS
    條件注釋当宴、CSS Hack畜吊、js 能力檢測做一些修補

漸進增強(progressive enhancement): 針對低版本瀏覽器進行構(gòu)建頁面,保證最基本的功能户矢,然后再針對高級瀏覽器進行效果玲献、交互等改進和追加功能達到更好的用戶體驗
優(yōu)雅降級 (graceful degradation): 一開始就構(gòu)建完整的功能,然后再針對低版本瀏覽器進行兼容。


3.列舉5種以上瀏覽器兼容的寫法

<!--[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]-->
image.png
.box {
  color: red;
  _color: blue; /*ie6*/
  *color: pink; /*ie67*/
  color: yellow\9;  /*ie/edge 6-8*/
}
<!–-[if IE 7]>
<link rel="stylesheet" href="ie7.css" type="text/css" />
<![endif]–->
.clearfix:after{
  content: '';
  display: block;
  clear: both;
}
.clearfix{
  *zoom: 1; /* 僅對ie67有效 */
}
.target{
  display: inline-block;
  *display: inline;
  *zoom: 1;
}
 <!--[if lt IE 9]>
    <script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
    <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
  <![endif]-->
<!DOCTYPE html>
<!--[if IEMobile 7 ]> <html dir="ltr" lang="en-US"class="no-js iem7"> <![endif]-->
<!--[if lt IE 7 ]> <html dir="ltr" lang="en-US" class="no-js ie6 oldie"> <![endif]-->
<!--[if IE 7 ]> <html dir="ltr" lang="en-US" class="no-js ie7 oldie"> <![endif]-->
<!--[if IE 8 ]> <html dir="ltr" lang="en-US" class="no-js ie8 oldie"> <![endif]-->
<!--[if (gte IE 9)|(gt IEMobile 7)|!(IEMobile)|!(IE)]><!--><html dir="ltr" lang="en-US" class="no-js"><!--<![endif]-->

4.以下工具/名詞是做什么的

  • 條件注釋是于HTML源碼中被IE有條件解釋的語句捌年。條件注釋可被用來向IE提供及隱藏代碼瓢娜。使用了條件注釋的頁面在 Windows Internet Explorer 9 中可正常工作,但在 Internet Explorer 10 中無法正常工作礼预。
  • IE Hack使用特殊的符號或者方式寫出只有IE瀏覽器可以解析的代碼眠砾,有CSS屬性前綴法、選擇器前綴法以及IE條件注釋法托酸。
  • js 能力檢測能力檢測的目標是識別瀏覽器的能力褒颈。使用這種方式無需顧及瀏覽器如何如何,只需確定瀏覽器是否支持特定的能力获高,就可以給出相關(guān)的方案哈肖。
  • html5shiv.js解決一些瀏覽器不支持html5的一些新特性和標簽的問題。
  • respond.js解決在做響應(yīng)式網(wǎng)頁的時候一些瀏覽器不支持媒體查詢的問題念秧。
  • css reset重新定義樣式屬性淤井,將瀏覽器默認樣式覆蓋掉。
  • normalize.css保護有用的瀏覽器默認樣式而不是完全去掉它們摊趾,修復(fù)瀏覽器自身的bug并保證各瀏覽器的一致性币狠,用一些小技巧優(yōu)化CSS可用性。相比于傳統(tǒng)的CSS reset砾层,Normalize.css是一種現(xiàn)代的漩绵、為HTML5準備的優(yōu)質(zhì)替代方案。
  • Modernizr Modernizr會在頁面加載時自動檢測瀏覽器的特性肛炮,并html元素上添加一批CSS的class名稱止吐,這些class名稱標記當前瀏覽器支持哪些特性和不支持哪些特性。
  • postCSS postCSS是一款通過JS插件來轉(zhuǎn)換CSS的工具侨糟。這些插件能幫你校驗?zāi)愕腃SS代碼碍扔、轉(zhuǎn)換未來的CSS語法、支持變量和混寫秕重、以及內(nèi)聯(lián)圖片等等不同。

5.一般在哪個網(wǎng)站查詢屬性兼容性?

http://caniuse.com/

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末溶耘,一起剝皮案震驚了整個濱河市二拐,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌凳兵,老刑警劉巖百新,帶你破解...
    沈念sama閱讀 217,084評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異庐扫,居然都是意外死亡吟孙,警方通過查閱死者的電腦和手機澜倦,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,623評論 3 392
  • 文/潘曉璐 我一進店門聚蝶,熙熙樓的掌柜王于貴愁眉苦臉地迎上來杰妓,“玉大人,你說我怎么就攤上這事碘勉∠锘樱” “怎么了?”我有些...
    開封第一講書人閱讀 163,450評論 0 353
  • 文/不壞的土叔 我叫張陵验靡,是天一觀的道長倍宾。 經(jīng)常有香客問我,道長胜嗓,這世上最難降的妖魔是什么高职? 我笑而不...
    開封第一講書人閱讀 58,322評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮辞州,結(jié)果婚禮上怔锌,老公的妹妹穿的比我還像新娘。我一直安慰自己变过,他們只是感情好埃元,可當我...
    茶點故事閱讀 67,370評論 6 390
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著媚狰,像睡著了一般岛杀。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上崭孤,一...
    開封第一講書人閱讀 51,274評論 1 300
  • 那天类嗤,我揣著相機與錄音,去河邊找鬼辨宠。 笑死遗锣,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的彭羹。 我是一名探鬼主播黄伊,決...
    沈念sama閱讀 40,126評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼派殷!你這毒婦竟也來了还最?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,980評論 0 275
  • 序言:老撾萬榮一對情侶失蹤毡惜,失蹤者是張志新(化名)和其女友劉穎拓轻,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體经伙,經(jīng)...
    沈念sama閱讀 45,414評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡扶叉,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,599評論 3 334
  • 正文 我和宋清朗相戀三年勿锅,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片枣氧。...
    茶點故事閱讀 39,773評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡溢十,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出达吞,到底是詐尸還是另有隱情张弛,我是刑警寧澤,帶...
    沈念sama閱讀 35,470評論 5 344
  • 正文 年R本政府宣布酪劫,位于F島的核電站吞鸭,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏覆糟。R本人自食惡果不足惜刻剥,卻給世界環(huán)境...
    茶點故事閱讀 41,080評論 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望滩字。 院中可真熱鬧造虏,春花似錦、人聲如沸踢械。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,713評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽内列。三九已至撵术,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間话瞧,已是汗流浹背嫩与。 一陣腳步聲響...
    開封第一講書人閱讀 32,852評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留交排,地道東北人划滋。 一個月前我還...
    沈念sama閱讀 47,865評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像埃篓,于是被迫代替她去往敵國和親处坪。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,689評論 2 354

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

  • 什么是 CSS hack架专? 基礎(chǔ)概念 由于不同廠商的瀏覽器同窘,比如Internet Explorer,Safari,...
    Sketch閱讀 291評論 0 0
  • 什么是 CSS hack CSS hack是通過在CSS樣式中加入一些特殊的符號,讓不同的瀏覽器識別不同的符號(什...
    怎么昵稱閱讀 387評論 0 1
  • 1.什么是 CSS hack部脚? 以下是引自百度文庫的定義: 簡單地講想邦,css hack指各版本及各品牌瀏覽器之間對...
    饑人谷_Young丶K閱讀 387評論 0 6
  • 1. 什么是 CSS hack 由于不同廠商的瀏覽器,比如Internet Explorer,Safari,Moz...
    QQQQQCY閱讀 236評論 0 0
  • 一委刘、前言 做前端開發(fā)丧没,必然少不了瀏覽器鹰椒,然而不同的廠商有著各自版本的瀏覽器,不同的瀏覽器對css的理解和解析不一樣...
    青鳴閱讀 501評論 0 2