2012-11-20 95 views
4

針對所有瀏覽器開發,然後爭取IE兼容性是所有Web開發過程中衆所周知的一步。你是否知道任何通用的兼容性樣式表都很適合IE瀏覽器(在我的情況下,我只關注IE7,但我會讓所有版本都可以打開)IE 6,7,8,9 CSS兼容性樣式表

+2

你對這樣的樣式表有什麼期待? –

+0

就CSS而言;使IE像其他瀏覽器一樣(儘可能)。在一個完美的世界裏,不需要做任何CSS破解自己。 – FMaz008

+0

爲了節省自己的痛苦,寫一些JS,在看到任何版本的IE後,強迫他們下載一個更好的瀏覽器或者不使用該網站會更好嗎? – Makoto

回答

5

normalize.css是一個很好的重置,可解決很多跨瀏覽器問題。 http://necolas.github.com/normalize.css/

Twitter Bootstrap很好,如果你想要預製的組件。它是IE兼容的。 如果你決定使用自舉,其復位實際上是從normalize.css調整(這樣你就不需要同時)

HTML5樣板也可能與一些最佳實踐標記幫助,如果你要從頭開始: https://github.com/h5bp/html5-boilerplate

特別,我建議使用HTML5BP條件註釋針對特定的IE版本,像這樣:

<!--[if lt IE 7]>  <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]--> 
<!--[if IE 7]>   <html class="no-js lt-ie9 lt-ie8"> <![endif]--> 
<!--[if IE 8]>   <html class="no-js lt-ie9"> <![endif]--> 
<!--[if gt IE 8]><!--> <html class="no-js"> <!--<![endif]--> 

這意味着在你的CSS,你可以解決與類IE版本的具體問題:

.lt-ie8 .awesome-component { ... } 

最後,我會推薦使用像CSS3PIE這樣的javascript polyfills。根據我的經驗,他們只會造成比他們的價值更多的麻煩,增加不必要的標記。

瞭解一下優雅退化/漸進增強。

另一個答案提到IE7.js,我認爲這很好,但我不記得它是多麼有用。你一定會需要墊片失蹤JS功能(如果你使用的js)如Array.indexOf在IE < = 8.我剛剛發現這個ECMAScript5墊片,看起來還不錯: https://github.com/kriskowal/es5-shim

+0

Boostrap 3.x的支持似乎是IE7,如果你看看他們的[錯誤修正](https://github.com/twbs/bootstrap/releases) – tomByrer

1

我一般用埃裏克邁耶的CSS重置(http://meyerweb.com/eric/tools/css/reset/)這是一個很好的簡單起點。

您也可以考慮使用ie7js(http://code.google.com/p/ie7-js/),它使用JavaScript來獲得不同版本的IE,使其表現更好。

+0

酷我從來沒有使用Javscript來幫助正常化特定於IE的行爲... 謝謝 :) – FMaz008