2011-06-27 62 views
5

我有一個很奇怪的問題,那就是沒有在IE8中加載CSS樣式(也許IE7以及無法檢查)。我的網站是在http://www.leavetrackapp.com/和我的主人的CSS文件如下:未在IE8中加載CSS樣式

@import url("reset.css"); 
@import url("screen.css"); 
@import url("site.css"); 
@import url("colorbox.css"); 

的master.css文件和indidivual樣式表是可訪問的,如果我直接在瀏覽器例如輸入地址http://www.leavetrackapp.com/stylesheets/master.css返回主文件。

我認爲這是導入規則的問題,但不知道它可能是什麼。 Safari和Firefox工作正常。

任何意見讚賞。

感謝

羅賓

+0

'reset.css'和'screen.css'肯定會被加載。你確定這是一個沒有被加載的樣式表的情況,而不是語法中的IE不兼容? –

+0

+1,IE開發者工具正在讀取所有的css文件 – shanethehat

+0

開發工具告訴我沒有樣式被加載。 CSS驗證器拋出了很多錯誤,但都與CSS3屬性相關(如果我在CSS3驗證,它會通過)。不知道如果IE8窒息了一些CSS3屬性... –

回答

9

@Guffa讓我走上正軌:問題在於HTML5元素在Internet Explorer 8及更低版本中無法正常工作。

Modernizr的解決這個問題,但是:http://www.modernizr.com/docs/#installing

下降 的<head>在你的HTML腳本標記。爲了獲得最佳性能,您應在 樣式表參考之後遵循 。我們 建議將Modernizr的在 頭的原因有兩方面:HTML5的毒刃(即 能夠在IE中的HTML5元素)必須 的<body>之前執行,如果 你使用任何CSS類 的Modernizr補充說,你會想要 阻止FOUC。

因此,您只需將Modernizr從</body>之前移動到<head>元素的內部即可。

+1

謝謝 - 剛剛發現[這Github上的_issue_](https://github.com/Modernizr/Modernizr/issues/256),導致我得出了相同的結論。 –

5

的問題是不是樣式表不是進口的,問題是,你使用的是HTML5 section標籤,其中IE8和早期不承認。

如果將section標記更改爲div標記,則它會更好。

+0

我也認爲這是,但他包括Modernizr應該解決這個問題:http://www.modernizr.com/docs/#html5inie – thirtydot

+0

謝謝。這也是我對Modernizr的理解。我會用非HTML5元素替換'section'標籤等,看看是否有所作爲。如果是這樣,我不明白爲什麼Modernizr沒有做好工作。 –