瀏覽器兼容

什么是 CSS hack

CSS hack由于不同廠商的瀏覽器寄猩,或者是同一廠商的瀏覽器的不同版本观谦,如IE6和IE7绑改,對CSS的解析認識不完全一樣蛙吏,因此會導致生成的頁面效果不一樣,得不到我們所需要的頁面效果稽物。
這個時候我們就需要針對不同的瀏覽器去寫不同的CSS奄毡,讓它能在不同的瀏覽器中也能得到我們想要的頁面效果。

談一談瀏覽器兼容的思路

(1)要不要做

  • 產(chǎn)品的角度(產(chǎn)品的受眾贝或、受眾的瀏覽器比例吼过、效果優(yōu)先還是基本功能優(yōu)先)
  • 成本的角度 (有無必要做某件事)

(2)做到什么程度

  • 讓哪些瀏覽器支持哪些效果

(3)如何做

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

  • 合適的框架

Bootstrap (>=ie8)
jQuery 1.~ (>=ie6), jQuery 2.~ (>=ie9)
Vue (>= ie9)

  • 條件注釋
    條件注釋是于HTML源碼中被IE有條件解釋的語句。條件注釋可被用來向IE提供及隱藏代碼。
    使用了條件注釋的頁面在 Windows Internet Explorer 9 中可正常工作揖闸,但在 Internet Explorer 10 中無法正常工作揍堕。
<!--[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]-->
項目 范例 說明
[if !IE] 非IE
lt [if lt IE 5.5] 小于IE 5.5
lte [if lte IE 6] 小于等于IE6
gt [if gt IE 5] 大于 IE5
gte [if gte IE 7] 大于等于IE7
l [if (IE 6)l(IE 7)] IE6或者IE7
  • CSS屬性前綴法
    即類內(nèi)部Hack:例如 IE6能識別下劃線""和星號" * "汤纸,IE7能識別星號" * "衩茸,但不能識別下劃線"",IE6~IE10都認識"\9"贮泞,但firefox前述三個都不能認識楞慈。

  • 選擇器前綴法
    即選擇器Hack:選擇器前綴法是針對一些頁面表現(xiàn)不一致或者需要特殊對待的瀏覽器,在CSS選擇器前加上一些只有某些特定瀏覽器才能識別的前綴進行hack啃擦。

  • IE條件注釋法
    即HTML條件注釋Hack:
    針對所有IE(注:IE10+已經(jīng)不再支持條件注釋): 囊蓝,針對IE6及以下版本:。這類Hack不僅對CSS生效令蛉,對寫在判斷語句里面的所有代碼都會生效聚霜。

  • 使用兼容開發(fā)工具

  • html5shiv.js:在IE6~8(不支持HTML5標簽)上模擬HTML5標簽。
  • respond.js:在IE6~8(不支持CCS3)上模擬CSS3 Media Queries珠叔。
  • CSS Reset和Normalize.css蝎宇。
  • Modernizr.js:他會為瀏覽器的html標簽生成一批css的class名稱,標記當前瀏覽器支持和不支持的特性祷安。利用html標簽上的類名姥芥,就可以為不同版本的不同瀏覽器添加兼容樣式。

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

  • 條件注釋

條件注釋是于HTML源碼中被IE有條件解釋的語句汇鞭。條件注釋可被用來向IE提供及隱藏代碼凉唐。
使用了條件注釋的頁面在 Windows Internet Explorer 9 中可正常工作,但在 Internet Explorer 10 中無法正常工作霍骄。

  • IE Hack

針對IE瀏覽器編寫不同的CSS的讓IE能夠正常渲染的過程

  • js 能力檢測

檢測當前瀏覽器支持和不支持的特性台囱。如Modernizr.js,它會為瀏覽器的html標簽生成一批的css的class名稱,標記當前瀏覽器支持和不支持的特性腕巡。我們利用html標簽上的類名,就可以為不同版本的不同瀏覽器添加兼容樣式血筑。

  • html5shiv.js

用于創(chuàng)建標簽的工具绘沉,可在IE6~8(不支持html5標簽)上模擬html5標簽。

  • respond.js

是一種css兼容工具豺总。Respond.js讓不支持css3 Media Query的瀏覽器包括IE6-IE8等其他瀏覽器支持查詢车伞。

  • css reset

強制重置瀏覽器默認樣式。使得所有瀏覽器渲染頁面效果一致喻喳。但存在性能問題另玖。

  • normalize.css

是一個可以定制的CSS文件,它讓不同的瀏覽器在渲染網(wǎng)頁元素的時候形式更統(tǒng)一,并擁有完整的文檔注釋解釋代碼谦去。

  • Modernizr

是一種css兼容工具慷丽。他會為瀏覽器的html標簽生成一批的css的class名稱,標記當前瀏覽器支持和不支持的特性鳄哭。我們利用html標簽上的類名要糊,就可以為不同版本的不同瀏覽器添加兼容樣式

  • postCSS

是CSS變成JavaScript的數(shù)據(jù),使它變成可操作妆丘。PostCSS是基于JavaScript插件锄俄,然后執(zhí)行代碼操作。PostCSS自身并不會改變CSS勺拣,它只是一種插件奶赠,為執(zhí)行任何的轉變鋪平道路。

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

http://caniuse.com/

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末毅戈,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子塑猖,更是在濱河造成了極大的恐慌竹祷,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,311評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件羊苟,死亡現(xiàn)場離奇詭異塑陵,居然都是意外死亡,警方通過查閱死者的電腦和手機蜡励,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,339評論 2 382
  • 文/潘曉璐 我一進店門令花,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人凉倚,你說我怎么就攤上這事兼都。” “怎么了稽寒?”我有些...
    開封第一講書人閱讀 152,671評論 0 342
  • 文/不壞的土叔 我叫張陵扮碧,是天一觀的道長。 經(jīng)常有香客問我杏糙,道長恩掷,這世上最難降的妖魔是什么吴攒? 我笑而不...
    開封第一講書人閱讀 55,252評論 1 279
  • 正文 為了忘掉前任赏酥,我火速辦了婚禮医增,結果婚禮上,老公的妹妹穿的比我還像新娘谅河。我一直安慰自己咱旱,他們只是感情好确丢,可當我...
    茶點故事閱讀 64,253評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著吐限,像睡著了一般鲜侥。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上毯盈,一...
    開封第一講書人閱讀 49,031評論 1 285
  • 那天剃毒,我揣著相機與錄音,去河邊找鬼搂赋。 笑死赘阀,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的脑奠。 我是一名探鬼主播基公,決...
    沈念sama閱讀 38,340評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼宋欺!你這毒婦竟也來了轰豆?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 36,973評論 0 259
  • 序言:老撾萬榮一對情侶失蹤齿诞,失蹤者是張志新(化名)和其女友劉穎酸休,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體祷杈,經(jīng)...
    沈念sama閱讀 43,466評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡斑司,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,937評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了但汞。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片宿刮。...
    茶點故事閱讀 38,039評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖私蕾,靈堂內(nèi)的尸體忽然破棺而出僵缺,到底是詐尸還是另有隱情,我是刑警寧澤踩叭,帶...
    沈念sama閱讀 33,701評論 4 323
  • 正文 年R本政府宣布磕潮,位于F島的核電站,受9級特大地震影響容贝,放射性物質(zhì)發(fā)生泄漏自脯。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,254評論 3 307
  • 文/蒙蒙 一嗤疯、第九天 我趴在偏房一處隱蔽的房頂上張望冤今。 院中可真熱鬧闺兢,春花似錦茂缚、人聲如沸戏罢。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,259評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽龟糕。三九已至,卻和暖如春悔耘,著一層夾襖步出監(jiān)牢的瞬間讲岁,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工衬以, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留缓艳,地道東北人。 一個月前我還...
    沈念sama閱讀 45,497評論 2 354
  • 正文 我出身青樓看峻,卻偏偏與公主長得像阶淘,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子互妓,可洞房花燭夜當晚...
    茶點故事閱讀 42,786評論 2 345

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

  • 什么是 CSS hack CSS hack是通過在CSS樣式中加入一些特殊的符號溪窒,讓不同的瀏覽器識別不同的符號(什...
    怎么昵稱閱讀 383評論 0 1
  • CSS Hack 不同的瀏覽器對某些CSS代碼解析會存在一定的差異,因此就會導致不同瀏覽器下給用戶展示的頁面效果不...
    zx9426閱讀 378評論 0 0
  • 一冯勉、如何調(diào)試 IE 瀏覽器澈蚌? IE調(diào)試的一般方法(css): 使用高版本IE控制臺(對于IE7以上)IE11的開發(fā)...
    婷樓沐熙閱讀 547評論 0 6
  • 什么是CSS hack CSS hack由于不同廠商的瀏覽器,比如Internet Explorer,Safari...
    尾巴尾巴尾巴閱讀 774評論 0 0
  • 小編發(fā)現(xiàn)人造板是現(xiàn)在被廣發(fā)的用于建筑的施工灼狰、裝修過程之中宛瞄,深得建材行業(yè)的喜愛。因為人造板不僅只是一種人造板材伏嗜,使用...
    莫離2010閱讀 1,105評論 0 0