css hack

全文引自這里,很棒的一篇文章

  • what
    由于不同廠商的瀏覽器或某瀏覽器的不同版本(IE6~IE11,F(xiàn)irefox/Safari/Opera/Chrome等),對css的支持、解析不一樣。這時(shí),我們?yōu)榱双@得統(tǒng)一的頁面效果,就需要針對不同的瀏覽器或不同的版本寫特定的css樣式,把這個(gè)針對不同瀏覽器/不同版本寫相應(yīng)的css code的過程叫做css hack。
  • how
    由于不同的瀏覽器和瀏覽器的各版本對css的支持及解析結(jié)果不一樣,以及css優(yōu)先級對瀏覽器展現(xiàn)效果的影響,我們可以據(jù)此針對不同的瀏覽器情景應(yīng)用不同的css。

  • css hack 分類
    有三種表現(xiàn)形式,css屬性前綴法,選擇器前綴法,以及IE條件注釋法。
    • 屬性前綴法(即類內(nèi)部hack)
    • 選擇器前綴法
    • IE條件注釋法
      css hack一般是將適用范圍廣,被識(shí)別能力強(qiáng)的css定義在前面。
  • css hack方式一:條件注釋法(適用于IE10以下,IE10以后不再支持條件注釋)
  • 條件注釋屬性:
    • gt:greater than,選擇條件版本以上版本,不包含條件版本。
      lt: less than ,選擇條件版本以下版本,不包含條件版本。
      gte:greater than or equal ,選擇條件版本以上版本,包含條件版本。
      lte:less than or equal ,選擇條件版本以下版本,包含條件版本。
      ?。哼x擇條件版本以外所有版本,無論高低。
  • 實(shí)例


    <div class="div5">非IE</div>

    html腳本中平常的注釋方法``,條件注釋法只有IE10以下的IE瀏覽器可以識(shí)別,對于別的瀏覽器那么就只能看見的是一對封閉的不起作用的注釋。對于非IE 的注釋,注意里面有一個(gè)`

  • css hack方式二:類內(nèi)屬性前綴法
    屬性前綴是在CSS樣式屬性名上加上一些只有特定瀏覽器才能識(shí)別的hack前綴,已達(dá)到預(yù)期的頁面展現(xiàn)效果。
    以下討論的是標(biāo)準(zhǔn)模式中的hack方法
  • 規(guī)則
    *color:IE5.5、6、7
    +color : IE5.5、6、7
    #color : IE5.5、6、7
    -color:IE5.5、6
    _color: IE5.5、6
    這幾個(gè)當(dāng)中,我喜歡用*與 _
    color\0 : IE8、9、10、11(12以上沒測)(此處有些地方說歐朋也識(shí)別,可是我測試?yán)?,不管用,不知道?。?br> color\9 : IE6、7、8、9、10(11不支持)
    color\9\0:IE8、9、10(其他不支持)
    \9\0取了共集
    color:red!important;提高該設(shè)置的優(yōu)先級
  • css hack方式三:選擇器前綴法
  • 規(guī)則
    @media screen\9{……}(只對IE6、7生效)
    @media \0screen{……}(只對IE8生效)
    @media \0screen,screen\9{……}(對IE6,7,8生效)
    @media screen\0{……}(只對IE8、9、10生效)
    @media screen and (min-width:0\0){……}(只對IE9,10有效)
    @media screen and (-ms-high-contrast:active),(-ms-high-contrast:none){……}(對IE10,11有效,以上沒測)

  • hack 利弊
    盡量避免使用css hack,但有些情況下,為了顧及用戶體驗(yàn)實(shí)現(xiàn)向下兼容,不得已才使用hack。但過多使用會(huì)造成html文檔混亂不堪,增加管理和維護(hù)的負(fù)擔(dān)。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容