日期:2014-05-16  浏览次数:20374 次

IE 6, 7, 8 FireFox hack 支援透明背景圖 background or img javascript

http://blog.wu-boy.com/2010/04/06/2110/

?

先前在國外部落格發現一篇非常好用的教學:Quick Tip: How to Target IE6, IE7, and IE8 Uniquely with 4 Characters,裡面有提供一部教學影片,非常好用,也很實在,底下可以先看影片,看完大概就可以針對 IE, FireFox, Chrome 進行 CSS Hack。

目前網頁製作,要符合多瀏覽器跨平台(IE, Safari, Chrome, FireFox…等),就必須動到 CSS Hack,雖然 Google 已經宣稱不支援 IE6,但是很多單位,很多學校跟客戶都是使用 IE6 瀏覽器,不只國內這樣,國外大廠也都希望支援 IE 系列,包含 IE6, IE7, IE8,這時候就必須知道如何分別針對各種不同 IE 做設定,底下就來看看實做例子。

包含 IE8 底下瀏覽器

先看底下例子:

body {
?color: red; /* all browsers, of course */
?color : green\9; /* IE8 and below */
}

請注意 color 後面的 \9,這是 IE only 的 tag,不可以任意修改,只有 IE 瀏覽器可以讀取,請勿修改成 \IE 或者是 \8 這些都是不對的,您會發現IE8,IE7,IE6 所有文字顏色都是綠色,但是 FireFox 是紅色。

包含 IE7 底下瀏覽器

先看底下例子:

body {
?color: red; /* all browsers, of course */
?color : green\9; /* IE8 and below */
?*color : yellow; /* IE7 and below */
}

上面例子可以發現,重點是在 *color 前面的 *,只有 IE7 跟其版本底下才看的到效果,上面程式碼會得到,FireFox Chrome 瀏覽器字型顏色是紅色,IE8 會是綠色,IE7 則是黃色。

包含 IE6 底下瀏覽器

先看底下例子:

body { ?
?color: red; /* all browsers, of course */ ?
?color : green\9; /* IE8 and below */ ?
?*color : yellow; /* IE7 and below */ ?
?_color : orange; /* IE6 */ ?
}

可以發現 _ 是屬於 IE6 所認得的字元,全部瀏覽器會是紅色,IE8 會是綠色,IE7 會是黃色,IE6 會是橘色,這些都是 CSS Hack 的方法,大家可以注意到本篇重點就是在 \9 * _ 這三個符號,這三個符號針對了 IE8 IE7 IE6 這三個瀏覽器 CSS 的 Hack,也請大家注意優先權順序,如果把順序兌換,改成底下:

body { ?
?color: red; /* all browsers, of course */ ?
?_color : orange; /* IE6 */
?*color : yellow