瀏覽器兼容

什么是 CSS hack

由于不同廠商的瀏覽器,比如Internet Explorer,Safari,Mozilla Firefox,Chrome等岭皂,或者是同一廠商的瀏覽器的不同版本,如IE6和IE7叫胁,對CSS的解析認識不完全一樣亡问,因此會導(dǎo)致生成的頁面效果不一樣,得不到我們所需要的頁面效果引瀑。

這個時候我們就需要針對不同的瀏覽器去寫不同的CSS狂芋,讓它能在不同的瀏覽器中也能得到我們想要的頁面效果。

談一談瀏覽器兼容的思路

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

  • 做到什么程度:
    讓哪些瀏覽器支持哪些效果

  • 如何做:
    根據(jù)兼容需求選擇技術(shù)框架/庫(jquery)
    根據(jù)兼容需求選擇兼容工具(html5shiv.js翼虫、respond.jscss reset屡萤、normalize.css珍剑、ModernizrpostCSS)
    條件注釋死陆、CSS Hack招拙、js 能力檢測做一些修補

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

  • 注釋法
    <!--[if IE 6]>
    <p>You are using Internet Explorer 6.</p>
    <![endif]-->
  • IE Hack法
.box{
  color: red;
  _color: blue; /*ie6*/
  *color: pink; /*ie67*/
  color: yellow\9;  /*ie/edge 6-8*/
}
  • 兼容清除浮動
.clearfix{
    content: " ";
        display: block;
        clear: both;
}
.clearfix{
    *zoom: 1; //for ie6,7
}
  • ie 67的inline-block
.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]-->

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

  1. 條件注釋
    <!--[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
| [if (IE 6)|(IE 7)] IE6或者IE7

指于HTML源碼中被IE有條件解釋的語句措译。條件注釋可被用來向IE提供及隱藏代碼别凤。

  1. IE Hack
.box{
  color: red;
  _color: blue; /*ie6*/
  *color: pink; /*ie67*/
  color: yellow\9;  /*ie/edge 6-8*/
}

針對ie的css hack

  1. js 能力檢測
    檢測是否有這個屬性,方法沒有就用另外一種方式獲取這個
    通常直接用jquery來達到這個目的。
  2. html5shiv.js
    讓一些自身不支持html5標簽的瀏覽器支持html5领虹。具體方式是使用createElement()來創(chuàng)建標簽规哪。
  3. respond.js
    為了響應(yīng)式的頁面,為ie6/7/8模擬css3的媒體查詢塌衰。
  4. css reset
    為瀏覽器自身有默認的樣式由缆,如padding和margin等, 不方便我們使用猾蒂,所以我們要重置這些屬性均唉,如將margin設(shè)為0,字體設(shè)置為xx等等肚菠。暴力清除舔箭。
  5. normalize.css
    上面一個的進化版本,保護了有用的瀏覽器默認樣式蚊逢。
  6. Modernizr
    探測用戶瀏覽器html5和css3的一些特性层扶,根據(jù)用戶瀏覽器是否支持這些特性來向html元素中添加不同的class。
  7. postCSS
    PostCSS 是一個允許使用 JS 插件轉(zhuǎn)換樣式的工具烙荷。 這些插件可以檢查(lint)你的 CSS镜会,支持 CSS Variables 和 Mixins, 編譯尚未被瀏覽器廣泛支持的先進的 CSS 語法终抽,內(nèi)聯(lián)圖片戳表,以及其它很多優(yōu)秀的功能。PostCSS的目標是通過自定義插件和工具這樣的生態(tài)系統(tǒng)來改造CSS昼伴。與Sass和Less這些預(yù)編譯器相同的原則匾旭,PostCSS把擴展的語法和特性轉(zhuǎn)換成現(xiàn)代的瀏覽器友好的CSS。

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

Can I use

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末价涝,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子持舆,更是在濱河造成了極大的恐慌色瘩,老刑警劉巖伪窖,帶你破解...
    沈念sama閱讀 216,843評論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件混坞,死亡現(xiàn)場離奇詭異列另,居然都是意外死亡,警方通過查閱死者的電腦和手機直砂,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,538評論 3 392
  • 文/潘曉璐 我一進店門史辙,熙熙樓的掌柜王于貴愁眉苦臉地迎上來汹买,“玉大人佩伤,你說我怎么就攤上這事聊倔。” “怎么了生巡?”我有些...
    開封第一講書人閱讀 163,187評論 0 353
  • 文/不壞的土叔 我叫張陵耙蔑,是天一觀的道長。 經(jīng)常有香客問我孤荣,道長甸陌,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,264評論 1 292
  • 正文 為了忘掉前任盐股,我火速辦了婚禮钱豁,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘疯汁。我一直安慰自己牲尺,他們只是感情好,可當我...
    茶點故事閱讀 67,289評論 6 390
  • 文/花漫 我一把揭開白布幌蚊。 她就那樣靜靜地躺著谤碳,像睡著了一般。 火紅的嫁衣襯著肌膚如雪溢豆。 梳的紋絲不亂的頭發(fā)上蜒简,一...
    開封第一講書人閱讀 51,231評論 1 299
  • 那天,我揣著相機與錄音漩仙,去河邊找鬼搓茬。 笑死,一個胖子當著我的面吹牛队他,可吹牛的內(nèi)容都是我干的垮兑。 我是一名探鬼主播,決...
    沈念sama閱讀 40,116評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼漱挎,長吁一口氣:“原來是場噩夢啊……” “哼系枪!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起磕谅,我...
    開封第一講書人閱讀 38,945評論 0 275
  • 序言:老撾萬榮一對情侶失蹤私爷,失蹤者是張志新(化名)和其女友劉穎雾棺,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體衬浑,經(jīng)...
    沈念sama閱讀 45,367評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡捌浩,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,581評論 2 333
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了工秩。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片尸饺。...
    茶點故事閱讀 39,754評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖助币,靈堂內(nèi)的尸體忽然破棺而出浪听,到底是詐尸還是另有隱情,我是刑警寧澤眉菱,帶...
    沈念sama閱讀 35,458評論 5 344
  • 正文 年R本政府宣布迹栓,位于F島的核電站,受9級特大地震影響俭缓,放射性物質(zhì)發(fā)生泄漏克伊。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,068評論 3 327
  • 文/蒙蒙 一华坦、第九天 我趴在偏房一處隱蔽的房頂上張望愿吹。 院中可真熱鬧,春花似錦惜姐、人聲如沸犁跪。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,692評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽耘拇。三九已至,卻和暖如春宇攻,著一層夾襖步出監(jiān)牢的瞬間惫叛,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,842評論 1 269
  • 我被黑心中介騙來泰國打工逞刷, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留嘉涌,地道東北人。 一個月前我還...
    沈念sama閱讀 47,797評論 2 369
  • 正文 我出身青樓夸浅,卻偏偏與公主長得像仑最,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子帆喇,可洞房花燭夜當晚...
    茶點故事閱讀 44,654評論 2 354

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

  • 什么是 CSS hack CSS hack是通過在CSS樣式中加入一些特殊的符號警医,讓不同的瀏覽器識別不同的符號(什...
    怎么昵稱閱讀 387評論 0 1
  • 什么是 CSS hack 引自百度百科的定義: CSS hack由于不同廠商的瀏覽器,比如Internet Exp...
    肥魚666閱讀 154評論 0 0
  • 1.什么是 CSS hack CSS hack由于不同廠商的瀏覽器,比如Internet Explorer,Saf...
    Ghj_小樹閱讀 426評論 2 5
  • 1.什么是 CSS hack 由于不同廠商的瀏覽器预皇,比如Internet Explorer,Safari,Mozi...
    zhaonu閱讀 391評論 0 0
  • 1侈玄、什么是 CSS hack 不同廠商的瀏覽器(比如Internet Explorer,Safari,Mozill...
    zh_yang閱讀 363評論 0 0