2012-11-14 116 views
0

有一個工作示例hereHTML 5元素在CSS選擇鏈

我有Modernizr運行;我有

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { 
    display: block; 
} 

...在CSS中,但在IE8和下面的樣式不攜帶,即使元素正確包裝子元素?

誰能告訴我我做錯了什麼?

感謝

詹姆斯

+0

IIRC舊版本的IE要求在正確處理之前使用'document.createElement'創建元素。您需要確保您的modernizr版本中包含HTML5 Shiv。 – zzzzBov

回答

1

就我所看到的,您不包括modernizr中的任何位置。

我注意到您在頁面底部有一個縮小的require.min.js腳本。如果該腳本動態加載modernizr,則會破壞HTML5 shiv,因爲需要在舊版本的IE 之前調用document.createElement,而在之前需要在DOM中使用任何元素。

Modernizr Documentation

刪除腳本標記在你的HTML中。爲了獲得最佳性能,您應該讓它們在樣式表引用之後。我們推薦將Modernizr放在頭上的原因有兩方面:HTML5 Shiv(在IE中啓用HTML5元素)必須先執行,並且如果您使用Modernizr添加的任何CSS類,則您需要防止FOUC。

+0

是的,我必須將其作爲實際腳本標記來獲得效果。 謝謝@zzzzBov – user1775718

0

在IE8及以下的元素出現</element/>,是否正確?

您將需要使用爲您翻譯元素的東西。例如,您可以使用HTML5 Shiv來允許瀏覽器正確理解元素。