瀏覽器兼容

什么是CSS hack幔崖?

不同瀏覽器食店,或者相同瀏覽器的不同版本,對CSS的解析可能不同赏寇,導致頁面展現(xiàn)效果不一致吉嫩。為了達到預期的展現(xiàn)效果,我們需要對不同瀏覽器的某些樣式寫不同的CSS蹋订。
CSS hack 的三種常見方法

  • 條件注釋率挣。
    主要針對的是IE瀏覽器,因為IE瀏覽器(x-9)可以“讀懂”注釋里面的一些暗語露戒,通過條件限制,就可以選擇在什么樣的情況下捶箱,讀取不一樣的CSS智什。(IE10不支持)

  • 選擇器前綴。
    通過瀏覽器的某些版本的一些BUG丁屎,可以識別CSS非標準寫法荠锭。據(jù)此,我們可以對導致不兼容的css 寫法進行重寫晨川,就可以覆蓋前面的展現(xiàn)效果证九。

  • 屬性前綴
    同瀏覽器前綴删豺, IE6 可以識別" _ "和“ * ”,IE7 可以識別 “ * ”愧怜,IE6-10可以識別 “\9” 呀页。

談一談瀏覽器兼容的思路。

  1. 要不要去兼容拥坛?

首先蓬蝶,需要知道產品定位是什么,針對什么樣的人群猜惋?必須針對所有用戶丸氛,還是只是針對特定人群?是否有無必要為了少部分人群來增加成本著摔?

  1. 兼容到什么程度缓窜?

必須展現(xiàn)與最新瀏覽器展現(xiàn)一樣的效果?還是說只兼顧到部分效果谍咆?還是最低層次的滿足基本使用功能雹洗,不出現(xiàn)排版混亂?

  1. 用什么樣的方式去兼容卧波?

漸進增強时肿?還是優(yōu)雅降級?

  1. 選擇合適的庫及工具港粱,實現(xiàn)兼容

選擇好整體方法及思路以后螃成,就可以選擇合適的庫,針對不同的問題查坪,采取不同的方法來處理兼容性問題了寸宏。

列出5種以上瀏覽器兼容的寫法。

  1. 條件注釋偿曙。
<!--[if IE 6]-->
<p>adfad</p>
<![endif]-->//如果是IE6 就會有<p>
<!--[if !IE]--><!-->
####
<!--<![endif]-->//如果不是IE 

常見的有
[if !IE]//如果不是IE.
[if lt IE 5.5]//如果小于IE5.5版本
[if lte IE 6]//如果小于等于IE 6版本
[if gt IE 7]//如果大于IE 7版本
[if gte IE 8]//若果大于等于IE 8版本
[if (IE 6)|(IE 7)]//如果是IE 6 或者 IE 7

  1. 屬性前綴
    .box {
    color:red;
    color:pink\9;
    *color:blue;
    _color:yellow;
    }
    ie 6 黃色氮凝,IE 7藍色,IE8-10粉色望忆,其他紅色罩阵。

-webkit- ,針對safari启摄,chrome瀏覽器的內核CSS寫法
-moz-稿壁,針對firefox瀏覽器的內核CSS寫法
-ms-,針對ie內核的CSS寫法
-o-歉备,針對Opera內核的CSS寫法

  1. 選擇器前綴

*.clear {}只有IE6和IE7可以識別這個選擇器傅是。

常見的屬性兼容性

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

  • 條件注釋
    CSS hack的一種方式,處理IE10以下的兼容性問題的一種方法。

  • IE hack
    針對IE瀏覽器喧笔,寫不同的CSS 帽驯,讓IE瀏覽器展現(xiàn)開發(fā)人員想要的頁面。

  • js 能力檢測
    瀏覽器的能力檢測目標不是檢測特定的瀏覽器书闸,而是檢測瀏覽器的能力尼变。這樣,只需要檢測瀏覽器是否支持特定的能力梗劫,就可以給出特定的解決方案享甸。這一部分檢測是解決瀏覽器兼容問題的主要檢測。

  • html5shiv.js
    用于解決IE9以下版本瀏覽器對HTML5新增標簽不識別梳侨,并導致CSS不起作用的問題蛉威。

  • respond.js
    用于為 IE6-8 以及其它不支持 CSS3 媒體查詢功能的瀏覽器提供媒體查詢的 min-width 和 max-width 特性,實現(xiàn)響應式網(wǎng)頁設計走哺。

  • css reset
    將瀏覽器的默認樣式全部去掉蚯嫌,更準確說就是通過重新定義標簽樣式”铮“覆蓋”瀏覽器的CSS默認屬性择示。最最簡單的說法就是把瀏覽器提供的默認樣式覆蓋掉!這就是CSS reset晒旅。

  • normalize.css
    Normalize.css 是一個可以定制的CSS文件栅盲,它讓不同的瀏覽器在渲染網(wǎng)頁元素的時候形式更統(tǒng)一。
    它可以:
    保留有用的默認值废恋,不同于許多 CSS reset 的簡單粗暴谈秫。
    標準化的樣式,適用范圍廣的元素鱼鼓。
    糾正錯誤和常見的瀏覽器的不一致性拟烫。
    一些細微的改進,提高了易用性迄本。
    使用詳細的注釋來解釋代碼硕淑。

  • Modernizr
    Modernizr 使你可以方便地為各種情況編寫 JavaScript 和 CSS,Modernizr 會在頁面加載后立即檢測特性嘉赎;然后創(chuàng)建一個包含檢測結果的 JavaScript 對象置媳,同時在 html 元素加入方便你調整 CSS 的 class 名。

  • postCSS
    它可以被理解為一個平臺曹阔,可以讓一些插件在上面跑半开,它提供了一個解析器,可以將CSS解析成抽象語法樹赃份,通過PostCSS這個平臺,我們能夠開發(fā)一些插件,來處理CSS抓韩。熱門插件如autoprefixer纠永,它可以幫我們處理兼容問題,只需正常寫CSS谒拴,autoprefixer可以幫我的自動生成兼容性代碼尝江。

查詢屬性兼容性

caniuse.com 兼容性查詢
browserhacks.com hack寫法

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末笔链,一起剝皮案震驚了整個濱河市岳枷,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌徙鱼,老刑警劉巖苍日,帶你破解...
    沈念sama閱讀 216,997評論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件惭聂,死亡現(xiàn)場離奇詭異,居然都是意外死亡相恃,警方通過查閱死者的電腦和手機辜纲,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,603評論 3 392
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來拦耐,“玉大人耕腾,你說我怎么就攤上這事∩迸矗” “怎么了扫俺?”我有些...
    開封第一講書人閱讀 163,359評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長固翰。 經常有香客問我狼纬,道長,這世上最難降的妖魔是什么倦挂? 我笑而不...
    開封第一講書人閱讀 58,309評論 1 292
  • 正文 為了忘掉前任畸颅,我火速辦了婚禮,結果婚禮上方援,老公的妹妹穿的比我還像新娘没炒。我一直安慰自己,他們只是感情好犯戏,可當我...
    茶點故事閱讀 67,346評論 6 390
  • 文/花漫 我一把揭開白布送火。 她就那樣靜靜地躺著,像睡著了一般先匪。 火紅的嫁衣襯著肌膚如雪种吸。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,258評論 1 300
  • 那天呀非,我揣著相機與錄音坚俗,去河邊找鬼镜盯。 笑死,一個胖子當著我的面吹牛猖败,可吹牛的內容都是我干的速缆。 我是一名探鬼主播,決...
    沈念sama閱讀 40,122評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼恩闻,長吁一口氣:“原來是場噩夢啊……” “哼艺糜!你這毒婦竟也來了?” 一聲冷哼從身側響起幢尚,我...
    開封第一講書人閱讀 38,970評論 0 275
  • 序言:老撾萬榮一對情侶失蹤破停,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后尉剩,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體真慢,經...
    沈念sama閱讀 45,403評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,596評論 3 334
  • 正文 我和宋清朗相戀三年边涕,在試婚紗的時候發(fā)現(xiàn)自己被綠了晤碘。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,769評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡功蜓,死狀恐怖园爷,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情式撼,我是刑警寧澤童社,帶...
    沈念sama閱讀 35,464評論 5 344
  • 正文 年R本政府宣布,位于F島的核電站著隆,受9級特大地震影響扰楼,放射性物質發(fā)生泄漏。R本人自食惡果不足惜美浦,卻給世界環(huán)境...
    茶點故事閱讀 41,075評論 3 327
  • 文/蒙蒙 一弦赖、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧浦辨,春花似錦蹬竖、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,705評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至芽腾,卻和暖如春旦装,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背摊滔。 一陣腳步聲響...
    開封第一講書人閱讀 32,848評論 1 269
  • 我被黑心中介騙來泰國打工阴绢, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留店乐,地道東北人。 一個月前我還...
    沈念sama閱讀 47,831評論 2 370
  • 正文 我出身青樓旱函,卻偏偏與公主長得像响巢,于是被迫代替她去往敵國和親描滔。 傳聞我的和親對象是個殘疾皇子棒妨,可洞房花燭夜當晚...
    茶點故事閱讀 44,678評論 2 354

推薦閱讀更多精彩內容

  • 什么是 CSS hack CSS hack是通過在CSS樣式中加入一些特殊的符號,讓不同的瀏覽器識別不同的符號(什...
    怎么昵稱閱讀 387評論 0 1
  • 1.什么是 CSS hack 由于不同廠商的瀏覽器含长,比如Internet Explorer,Safari,Mozi...
    zhaonu閱讀 391評論 0 0
  • 1券腔、什么是 CSS hack 不同廠商的瀏覽器(比如Internet Explorer,Safari,Mozill...
    zh_yang閱讀 363評論 0 0
  • 做前端多年,雖然不是經常需要hack拘泞,但是我們經常會遇到各瀏覽器表現(xiàn)不一致的情況纷纫。基于此陪腌,某些情況我們會極不情愿的...
    大女表哥閱讀 1,092評論 0 9
  • 本文版權歸饑人谷和本人所有 1.什么是 CSS hackCSS hack由于不同廠商的瀏覽器辱魁,比如Internet...
    饑人谷_xxxxx閱讀 301評論 0 0