2013-04-09 58 views
10

我無法獲取帶有HTML5元素的IE8樣式。我已經瀏覽了stackoverflow和Google,沒有任何建議我嘗試過。我開始了一個更復雜的頁面(我將XHTML框架轉換爲HTML5),並沒有絲毫擔心,但在模擬和F12 IE8標準模式IE中看到零結果...這裏是簡單的代碼我不能工作:html5shiv無法在IE8中工作?

<!doctype html> 
<html> 
    <head> 
     <meta http-equiv="X-UA-Compatible" content="IE=edge" /> 
     <meta charset="UTF-8" /> 
     <title>Template</title> 
     <style type="text/css"> 
      header { 
       display: block; 
       border:1px solid red; 
      } 
     </style> 
    </head> 
    <body> 
     <header> 
      HTML5 HEADER 
     </header> 
     <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script> 
    </body> 
</html> 

請幫助歐比旺,你是我唯一的希望。

回答

31

移動HTML5Shiv的script元素head部分,以前所有其他stylescript元素。

+3

事實上,這需要首先發生。 – 2013-04-09 01:03:24

+1

@Marat:完成,它的工作原理。這在項目頁面上非常簡短的說明中已經清楚地陳述了......但我沒有徹底閱讀,也不會認爲這是事實 - 我總是在文檔的底部包含腳本。感謝您的回答,並提醒您閱讀文檔是將猴子與人分開的原因:P – danjah 2013-04-09 01:05:00

+1

我很高興在破解我之前發現了這一點。 – 2014-02-18 21:28:19

5

樣式聲明之前移動下腳。

爲了提高現代瀏覽器的性能,您可能希望對shiv使用條件註釋。

<!doctype html> 
<html> 
    <head> 
     <meta http-equiv="X-UA-Compatible" content="IE=edge" /> 
     <meta charset="UTF-8" /> 
     <title>Template</title> 

     <!--[if lt IE 9]> 
      <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script> 
     <![endif]--> 

     <style type="text/css"> 
      header { 
       display: block; 
       border:1px solid red; 
      } 
     </style> 
    </head> 
    <body> 
     <header> 
      HTML5 HEADER 
     </header> 
    </body> 
</html> 
0

我有一個類似的問題,但我的問題必須與IE條件註釋語法。

<!doctype html> 
<html lang="en"> 
<head> 
    <meta charset="UTF-8"> 
    <title>HTML5 Shim Test</title> 

    <style> 
     nav ul { font-weight: bold; } 
     /* the links wont be bold in IE8 unless the shim is working */ 
    </style> 

    <!--[if lt IE 9] > 
    <script src="html5shiv.js"></script> 
    <![endif]--> 

</head> 
<body> 
    <nav> 
     <ul> 
      <li><a href="#">Link 1</a></li> 
      <li><a href="#">Link 2</a></li> 
      <li><a href="#">Link 3</a></li> 
     </ul> 
    </nav> 
</body> 
</html> 

你是否注意到]<!--[if lt IE 9] >>之間的空間?我也沒有......很長一段時間。刪除空間,一切都很好。

此外,值得一提的是,HTML5沉項目頁面不說,墊片必須在<head>,但它可以出現在你的樣式表後:

「它必須包含<body>元素之前(即在<head>中),但 並不重要,如果它出現在CSS之前或之後 - 但對於性能而言,最好先包含CSS ,然後再使用此腳本。「通過https://code.google.com/p/html5shim/

+2

額外的空間? *與你一起生氣的拳頭* – danjah 2013-11-27 01:33:34