2012-11-18 148 views
6
工作
body { 
    background: gray; 
    font-family: sans-serif; 
    width: 960px; 
    margin: auto; 
} 

header { 
    background: green; 
    border: 10px solid black; 
} 

nav { 
    margin-top:10px; 
    background: #62D99C; 
    border-radius: 10px; 
    padding: 10px; 
} 

頁眉和導航背景不會在IE8工作。它可以在Chrome和FF中使用。我該怎麼辦? 謝謝!背景:顏色沒有出現在IE8

+0

嘗試使用散列標籤 - 'background:#030303;'代替。 – Boris

+0

IE8不知道導航和標題HTML5元素。但 - 抱歉 - 我沒有解決方案。 – Sliq

回答

10

您應該應用display:block的頭和導航元素:

header { 
    display: block; 
    background: green; 
    border: 10px solid black; 
} 

nav { 
    display: block; 
    margin-top:10px; 
    background: #62D99C; 
    border-radius: 10px; 
    padding: 10px; 
} 

看來你還需要包括以下JS:

<!--[if lt IE 9]> 
<script> 
    document.createElement('header'); 
    document.createElement('nav'); 
</script> 
<![endif]--> 

這樣做的原因可以在這裏找到:

http://tatiyants.com/how-to-get-ie8-to-support-html5-tags-and-web-fonts/

簡單地說,IE8默認情況下不支持HTML5元素,但通過讓此JavaScript執行(僅適用於IE8或更低版本)它開始識別這些元素。大多數開發人員使用某種形式的html5 shim來解決這個問題。

http://code.google.com/p/html5shim/

+0

我試過了,它不起作用。 – skyneon

+0

@skyneon你讀過這個鏈接嗎?您可能需要包含作者所談論的條件評論。這是因爲IE8不支持HTML5標籤。 – Pebbl

+0

現在你提到了js修復,它工作,我讀了文章。我現在可以在IE8中使用html5標籤。謝謝!順便說一句,它沒有顯示:塊。 – skyneon

0

看起來IE8不支持不存在於HTML4 HTML5的特徵(這包括新elments headernav)。請參閱問題上的答案Does IE8 support HTML5 and CSS3?

嘗試用舊的工作方式替換元素:<div class="nav">並使用CSS選擇器.nav。不工作的Internet Explorer(IE)

+0

你是對的。這裏是HTML 5,但你不能使用它...悲傷。不管怎樣,謝謝你! – skyneon

0

背景顏色

IE渲染網頁之前應用一些過濾器。這就是爲什麼一些頁面顏色改變了。

您可以在CSS類中添加以下行來避免它。

filter: none !important;