【網站架站、行銷、賺錢術】 課程 + 技術諮詢 教你全方位的網站架站技術 從網站網站架站,到網站行銷技巧、各種賺錢方式一次學會,馬上可以實際執行及運用。(生意馬上好!) 教你修改.設計.主題布景(型版) 你擔心型版(主題布景)沒地方下載?不用還要花錢請人修改,讓您100%學會型版(主題布景)設計。 提供網站安裝程式(含外掛程式) 課程中附贈網站安裝程式,外掛全部繁體中文化了!讓你賺得比學費還多,不用另外購買或花錢請人修改! 頁面構建器 Bootstrap 技術手冊 提供頁面構建器外掛程式也附給你(獨家中文化版喔!),還有CSS.Bootstrap語法手冊(也是中文化版),統統一次讓你擁有。 提供jQuery廣告看板掛載技術 要請專家幫你設計jQuery+JS+XML程式你要花5000元以上,各種廣告掛載更是不便宜!本課程中有附贈。 教你行銷及賺錢秘訣 總教頭提供實際職業架站及行銷賺錢經驗,錄影實際範例示範給你看!讓你完整學會各種技巧!快速成為:網站行銷賺錢達人。 傳授秘技、直接有效!(精準、快速、無學不會的擔憂....)

解決IE6、IE7、IE8、Firefox的瀏覽器CSS相容性問題!

每次調CSS最令人頭痛的就是瀏覽器校正問題,因為每個瀏覽器對CSS的解釋都不太一樣,Firefox本身算是比較照規矩來,處理上比較簡單,但是遇到微軟的IE系列頭就大了,雖然都是IE,但是IE6、IE7、IE8各版本對CSS的解釋又不一樣,就算你本身已經在IE6調整好,但是在IE7看起來又是不一樣,這時我們就得來對各個瀏覽器設定不同的數值來解決版面移位的問題。

網路上有非常多關於CSS Hack的教學文章,當然處理方法也有很多種,接下來要跟大家說明的是屬於比較簡單的方法,但是以下的校正確無法通過W3C檢測,雖然無法通過檢測,但是針對各個瀏覽器校正確是有效的喔!

目前瀏覽器大宗還是屬於IE6的天下,這原因主要是因為XP本身內建IE6,而且很多使用者很喜歡重灌XP,因此IE6仍占走了大半的瀏覽器天下,不過隨著Windows7的出現,倒是有非常大的機會解決過氣的IE6,因為Windows7本身是內建IE8,微軟的IE8對CSS的解釋已經越來越標準,當然標準程度仍是不及Firefox。

另外,如果要處理IE各版本瀏覽器的相容性問題,那一定要有各版本的IE瀏覽器可以瀏覽,但是微軟作業系統內並沒有讓多版本的IE共存,為了讓自己電腦內存在多種版本的IE瀏覽器,那就趕快下載IETester來使用吧!另外,也別忘記下載Firefox來修正網頁CSS喔!

——————————–我是分隔線——————————–
區別IE和Firefox

【辨識符號】:「9」

【範例練習】:

#tip {

background:blue; /*Firefox 背景變藍色*/

background:red 9; /*IE6、IE7、IE8背景變紅色*/

}

【說明】:因為IE瀏覽器看得懂「9」,但是非IE的瀏覽器一律看不懂,因此就可以用這個語法來區分IE和 Firefox(非IE瀏覽器,像是Opera、Google Chrome、Safari等),因此以上CSS範例中,非IE瀏覽器是顯示藍色背景,IE系列瀏覽器是顯示紅色背景。

——————————–我是分隔線——————————–
區別IE6、IE7、IE8、Firefox

【辨識符號】:「9」、「*」、「_」

【範例練習】:

#tip {

background:blue; /*Firefox 背景變藍色*/

background:red 9; /*IE8 背景變紅色*/

*background:black; /*IE7 背景變黑色*/

_background:orange; /*IE6 背景變橘色*/

}

【說明】:因為IE系列瀏覽器可讀「9」,而IE6和IE7可讀「*」(米字號),另外IE6可辨識「_」(底線),因此可以依照順序寫下來,就會讓瀏覽器正確的讀取到自己看得懂得CSS語法,所以就可以有效區分IE各版本和非IE瀏覽器(像是 Firefox、Opera、Google Chrome、Safari等)。

——————————–我是分隔線——————————–
區別IE6、IE7、Firefox (方法 1)

【辨識符號】:「*」、「_」

【範例練習】:

#tip {

background:blue; /*Firefox背景變藍色*/

*background:black; /*IE7 背景變黑色*/

_background:orange; /*IE6 背景變橘色*/

}

【說明】:IE7和IE6可讀「*」(米字號),IE6又可以讀「_」(底線),但是IE7卻無法讀取「_」,至於Firefox(非IE瀏覽器)則完全無法辨識「*」和「_」,因此就可以透過這樣的差異性來區分IE6、IE7、Firefox,

——————————–我是分隔線——————————–
區別IE6、IE7、Firefox (方法 2)

【辨識符號】:「*」、「!important」

【範例練習】:

#tip {

background:blue; /*Firefox 背景變藍色*/

*background:green !important; /*IE7 背景變綠色*/

*background:orange; /*IE6 背景變橘色*/

}

【說明】:IE7可以辨識「*」和「!important」,但是IE6只可以辨識「*」,卻無法辨識「!important」,至於Firefox可以讀取「!important」但不能辨識「*」因此可以透過這樣的差異來有效區隔IE6、IE7、Firefox。
區別IE7、Firefox

【辨識符號】:「*」、「!important」

【範例練習】:

#tip {

background:blue; /*Firefox 背景變藍色*/

*background:green !important; /*IE7 背景變綠色*/

}

【說明】:因為Firefox可以辨識「!important」但卻無法辨識「*」,而IE7則可以同時看懂「*」、「!important」,因此可以兩個辨識符號來區隔IE7和Firefox。

——————————–我是分隔線——————————–
區別IE6、IE7 (方法 1)

【辨識符號】:「*」、「_」

【範例練習】:

#tip {

*background:black; /*IE7 背景變黑色*/

_background:orange; /*IE6 背景變橘色*/

}

【說明】:IE7和IE6都可以辨識「*」(米字號),但IE6可以辨識「_」(底線),IE7卻無法辨識,透過IE7無法讀取「_」的特性就能輕鬆區隔IE6和IE7之間的差異。
區別IE6、IE7 (方法 2)

【辨識符號】:「!important」

【範例練習】:

#tip {

background:black !important; /*IE7 背景變黑色*/

background:orange; /*IE6 背景變橘色*/

}

【說明】:因為IE7可讀取「!important;」但IE6卻不行,而CSS的讀取步驟是從上到下,因此IE6讀取時因無法辨識「!important」而直接跳到下一行讀取CSS,所以背景色會呈現橘色。

——————————–我是分隔線——————————–
區別IE6、Firefox

【辨識符號】:「_」

【範例練習】:

#tip {

background:black; /*Firefox 背景變黑色*/

_background:orange; /*IE6 背景變橘色*/

}

【說明】:因為IE6可以辨識「_」(底線),但是Firefox卻不行,因此可以透過這樣的差異來區隔Firefox和IE6,有效達成CSS hack。

——————————–我是分隔線——————————–

關於IE6、IE7、IE8、Firefox之間的CSS Hack大概是以上那樣,如果有疏漏或是有錯誤還煩請大家指證一下囉!這些CSS Hack是我目前看過比較簡單的處理方式,當然如果你不會很在意CSS是否通過W3C的驗證,你只會在意每個用戶在不同的瀏覽器下閱讀是否可以正常的話,其實以上CSS Hack對你來說是非常好用的,因為這些CSS Hack如果善加利用確實可以正確的解決瀏覽器相容性問題。

以上的CSS Hack參照了以下幾篇文章所整理出來的,感謝以下文章的詳細說明。

* 語法 | IE8正式版hack @ MUKI space*
* 技巧 | 同時KO IE6、7以及火狐 @
M
UKI space*
* 關於CSS對各個瀏覽器相容的其他作法 @ 獅子男的VOX

Reference: http://sofree.cc/ie6-ie7-ie8-firefox-css-hack/
本文章引用來至:http://code.yesjimmy.info/?p=223