瀏覽器兼容

什么是 CSS hack

由于不同廠商的瀏覽器撬讽,比如Internet Explorer,Safari,Mozilla Firefox,Chrome等昂利,或者是同一廠商的瀏覽器的不同版本达吞,如IE6和IE7培他,對CSS的解析認識不完全一樣,因此會導致生成的頁面效果不一樣草添,得不到我們所需要的頁面效果驶兜。CSS hack 就是這種情況下我們針對不同的瀏覽器去寫不同的CSS的一個過程,讓它能夠同時兼容不同的瀏覽器,能在不同的瀏覽器中也能得到我們想要的頁面效果抄淑。
CSS hack的方法有:

  1. CSS屬性前綴法
  2. 選擇器前綴法
  3. IE條件注釋法

談一談瀏覽器兼容的思路

  1. 產(chǎn)品角度考慮:考慮產(chǎn)品的受眾犀盟、受眾使用的瀏覽器比例、頁面效果優(yōu)先還是基本功能優(yōu)先蝇狼。
  2. 成本角度:是否有必要為了追求網(wǎng)頁效果而花費資源;還是保持頁面基本功能倡怎、節(jié)約成本迅耘。
  3. 項目、產(chǎn)品需求角度:需要兼容哪些瀏覽器监署;或是兼容到哪些瀏覽器的哪部分版本颤专;需要讓瀏覽器實現(xiàn)哪些功能。
  4. 從產(chǎn)品的市場定位或功能定位角度出發(fā):是選擇漸進增強:先保證基本功能钠乏,再根據(jù)需求及資源完善頁面效果栖秕;還是選擇優(yōu)雅降級:先構(gòu)建網(wǎng)頁的整體功能效果,再往下滿足低版本瀏覽器的兼容性晓避。
  5. 根據(jù)兼容性需求選擇合適的框架:
    合適的框架:
    Bootstrap:>=IE8
    jQuery1.~ :>=IE6,jQuery 2.~ >=IE9
    vue >=ie9
  6. 根據(jù)需求選擇合理的兼容性開發(fā)工具:html5shiv.js簇捍、respond.js、css reset俏拱、normalize.css暑塑、Modernizr、postCSS

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

  1. IE條件注釋法
锅必!   [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
  1. 選擇器前置法
_body{}    
*body{}       /*IE6能識別下劃線和*號其他瀏覽器都不能事格,IE7能識別下劃線。
body/9{}      /*IE6-IE10都能識別/9搞隐,而firefox對這幾個標號都不能識別驹愚。
  1. CSS屬性前綴法
.box{
          color: red;
          _color: blue;              /*ie6能識別*/
          *color: pink;              /*ie67都能識別*/
          color: yellow\9;           /*ie/edge 6-8都能識別*/
    }
.clearfix{
              content:'';
              display:block;
              clear:both;
}
.clearbox{
              *zoom:1;         /*僅對IE6 7 有效,出發(fā)了haslayout*/    
  1. Modernizr工具
    運行的時候它會在html元素上添加一批CSS的class名稱劣纲,這些class名稱標記當前瀏覽器支持哪些特性和不支持哪些特性逢捺,支持的特性就直接顯示該天特性的名稱作為一個class(例:canvas,websockets),不支持的特性顯示的class是“no-特性名稱”味廊。
  2. 條件注釋與類選擇器結(jié)合
<!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]-->

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

  • 條件注釋
    條件注釋用于HTML源碼中被IE有條件解釋的語句蒸甜。條件注釋可被用來向IE提供及隱藏代碼。使用了條件注釋的頁面在IE9中可正常工作余佛,但在IE10中無法正常工作柠新。 IE10不再支持條件注釋。
  • IE Hack
    IE Hack針對IE瀏覽器的不同版本去寫不同的CSS辉巡,讓它能在這些瀏覽器中得到我們想要的頁面效果恨憎。常用方法:CSS屬性前綴法、選擇器前綴法以及IE條件注釋法。
  • js 能力檢測
    js 能力檢測使用js檢測瀏覽器支持的屬性憔恳,以便展示效果瓤荔。目標不是識別特定的瀏覽器,而是識別瀏覽器的能力钥组。
  • html5shiv.js
    html5shiv.js通過使用html5shiv.js讓IE9以下版本瀏覽器支持所有的HTML5標簽输硝。
  • respond.js
    respond.jsrespond.js讓不支持css3 Media Query的瀏覽器包括IE6-IE8支持查詢。
  • css reset
    css resetcss reset(css重置程梦、清除css樣式)重置樣式点把,清除瀏覽器默認樣式。
  • normalize.css
    normalize.cssnormalize.css 是一個可以定制的CSS文件屿附,它讓不同的瀏覽器在渲染網(wǎng)頁元素的時候形式更統(tǒng)一郎逃。
  • Modernizr
    ModernizrModernizr是一個開源的JS庫,它使得那些基于訪客瀏覽器的不同(指對新標準支持性的差異)而開發(fā)不同級別體驗的設(shè)計師的工作變得更為簡單挺份。它使得設(shè)計師可以在支持HTML5和CSS3的瀏覽器中充分利用HTML5和CSS3的特性進行開發(fā)褒翰,同時又不會犧牲其他不支持這些新技術(shù)的瀏覽器的控制。
  • postCSS
    PostCSS可以直觀的理解為:它就是一個平臺匀泊;PostCSS提供了一個解析器优训,它能夠?qū)SS解析成抽象語法樹(AST);通過在PostCSS這個平臺上各聘,能夠開發(fā)一些插件型宙,來處理CSS,比如熱門的:autoprefixer伦吠;能夠使用JavaScript來開發(fā)插件妆兑。

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

http://caniuse.com/

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末毛仪,一起剝皮案震驚了整個濱河市搁嗓,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌箱靴,老刑警劉巖腺逛,帶你破解...
    沈念sama閱讀 210,914評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異衡怀,居然都是意外死亡棍矛,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,935評論 2 383
  • 文/潘曉璐 我一進店門抛杨,熙熙樓的掌柜王于貴愁眉苦臉地迎上來够委,“玉大人,你說我怎么就攤上這事怖现∽旅保” “怎么了玉罐?”我有些...
    開封第一講書人閱讀 156,531評論 0 345
  • 文/不壞的土叔 我叫張陵,是天一觀的道長潘拨。 經(jīng)常有香客問我吊输,道長,這世上最難降的妖魔是什么铁追? 我笑而不...
    開封第一講書人閱讀 56,309評論 1 282
  • 正文 為了忘掉前任季蚂,我火速辦了婚禮,結(jié)果婚禮上琅束,老公的妹妹穿的比我還像新娘癣蟋。我一直安慰自己,他們只是感情好狰闪,可當我...
    茶點故事閱讀 65,381評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著濒生,像睡著了一般埋泵。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上罪治,一...
    開封第一講書人閱讀 49,730評論 1 289
  • 那天丽声,我揣著相機與錄音,去河邊找鬼觉义。 笑死雁社,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的晒骇。 我是一名探鬼主播霉撵,決...
    沈念sama閱讀 38,882評論 3 404
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼洪囤!你這毒婦竟也來了徒坡?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,643評論 0 266
  • 序言:老撾萬榮一對情侶失蹤瘤缩,失蹤者是張志新(化名)和其女友劉穎喇完,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體剥啤,經(jīng)...
    沈念sama閱讀 44,095評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡锦溪,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,448評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了府怯。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片刻诊。...
    茶點故事閱讀 38,566評論 1 339
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖牺丙,靈堂內(nèi)的尸體忽然破棺而出坏逢,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 34,253評論 4 328
  • 正文 年R本政府宣布是整,位于F島的核電站肖揣,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏浮入。R本人自食惡果不足惜龙优,卻給世界環(huán)境...
    茶點故事閱讀 39,829評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望事秀。 院中可真熱鬧彤断,春花似錦、人聲如沸易迹。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,715評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽睹欲。三九已至供炼,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間窘疮,已是汗流浹背袋哼。 一陣腳步聲響...
    開封第一講書人閱讀 31,945評論 1 264
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留闸衫,地道東北人涛贯。 一個月前我還...
    沈念sama閱讀 46,248評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像蔚出,于是被迫代替她去往敵國和親弟翘。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,440評論 2 348

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

  • 什么是 CSS hack CSS hack是通過在CSS樣式中加入一些特殊的符號骄酗,讓不同的瀏覽器識別不同的符號(什...
    怎么昵稱閱讀 384評論 0 1
  • CSS Hack 不同的瀏覽器對某些CSS代碼解析會存在一定的差異衅胀,因此就會導致不同瀏覽器下給用戶展示的頁面效果不...
    zx9426閱讀 380評論 0 0
  • 什么是 CSS hack 由于不同廠商的瀏覽器,比如Internet Explorer,Safari,Mozill...
    阿魯提爾閱讀 263評論 0 2
  • 1酥筝、什么是 CSS hack 不同廠商的瀏覽器(比如Internet Explorer,Safari,Mozill...
    zh_yang閱讀 362評論 0 0
  • 一滚躯、如何調(diào)試 IE 瀏覽器 IE7以上版本自帶的開發(fā)者工具,IE6可以用border的方法嘿歌;例:IE11的開發(fā)者工...
    __Qiao閱讀 1,125評論 2 17