IE8的一個BUG:Hack 兼容方案 

 

 

http://www.inspirr.com 
 

 


 

 

 

字體真是個麻煩的東西,然后又是個重要的東西。為以更方的解決字體問題,就像上次推薦的《再談 Web 默認字體》,為了Pixel Perfect,我們不斷糾結。像支付寶在CSS Reset中是這樣寫的:

  • body{font:12px Tahoma,Helvetica,Arial,'宋體',sans-serif}
    1. 而淘寶這樣寫:

    2. body,button,input,select,textarea{font:12px/1.5tahoma,arial,'宋體',sans-serif;}
      1.  

        個人偏向于淘寶的寫法,顯然,button/input/select/textarea的字體都是要重設才會顯示正常的。這里并不是為了討論這個,而是這里面都有 tohama 這種字體,它是今天的主角。因為字體顯示好,也因為導致 BUG 而被搬上臺面。讓我們來先看一個Demo:

        Here: IE8 Tahoma Font-family bug

        如果你是從 IE8 打開,將會看到第一個按鈕有錯位。如標題所說,你懂的,這就是 Tahoma 給我們帶來的問題。而解決方案很簡單,就是避用 tahoma 字體,其他的隨便。比如:

      2. body,button,input,select,textarea{font:12px/1.5arial,'宋體',sans-serif;}
        1. 在支持沒有那么完美的狀況下,這樣的解決方式可以說是完美的。即使你像我一樣也有一套 Hack 兼容方案,還是不推薦使用暴力方式,我們的目標是、也應該是更有效、更優雅。

          然后,其實 hack IE 8的時候,可以考慮 selector{property:value\0;} 這樣的方法來,因為這是 IE8+ 獨有的方法。Hmmm… 多好,雖然有點暴力。最后,推薦一下鴿子工友。解決這個 Bug,還得歸功于他。

          ——————————–

          經過一條完美分割線從火星來到地球,囧,剛剛還測試了arial放在前面是可以的,而且早上測試過,不過,事實證明測試要更小心,要多次,不然可能刷出來的是緩存。事實的解決方法似乎是這樣的:

          arrow
          arrow
            創作者介紹
            創作者 imarketin 的頭像
            imarketin

            imarketin的部落格

            imarketin 發表在 痞客邦 留言(0) 人氣()