2011-05-27 105 views
0

由於某些奇怪的原因,我在我的設置(如果有任何區別,在模態中加載的)任何背景樣式都不會在IE7或IE8中呈現。在所有其他(真實)瀏覽器(包括IE9)中,這一切看起來都很完美。我的代碼如下:IE7&IE8 <hgroup>背景顏色

<hgroup> 
<h6>Request Information Form</h6> 
<a href="#" onClick="closeModal(); return false;"><img src="/images/x-close.png" alt="Close" class="close" /></a> 
</hgroup> 

我知道你不應該把任何東西,除了<h1>-<h6><hgroup>內,但我需要這個小接近IMG在那裏,甚至當我試着將其拉出,我遇到了同樣的問題(加上這一切「似乎」來驗證)。

的CSS是:

hgroup { 
position: relative; 
width: 668px; 
height: 32px; 
margin: 0 0 16px; 
padding: 14px 14px 0 14px; 
background: #B66115 url(/images/modal_header_bckgrnd.png) repeat-x 0 0; 
font: normal 20px/20px 'crimson Text',Georgia,serif; 
color: #F6F5EE; 
} 

而且,我已經宣佈<hgroup>display:block,和我使用的是IE墊片。我所得到的只是一個白色的背景(當我在該區塊中有白色文本時,這實際上不起作用!)。

在此先感謝您的幫助。

+0

hgroup是HTML5的一部分,據我所知IE7和IE8不支持這個標籤。 – Jrod 2011-05-27 15:23:54

回答

3

IE7和IE8不會將HTML5標籤名稱加載到文檔中。任何無法識別的標籤都會被忽略。嘗試添加一些javascript來手動添加它們(或使用像modernizr.js之類的東西)。

<script> 
document.createElement('header'); 
document.createElement('hgroup'); 
document.createElement('nav'); 
document.createElement('section'); 
document.createElement('article'); 
document.createElement('aside'); 
document.createElement('footer'); 
</script> 
3

正在一個模式中加載如果 任何差別

貴模態窗口中使用的iframe

如果是這樣,您還需要在iframe內運行HTML5元素填充腳本。

+0

剛剛發現,就在你發佈這個答案之前......我再次檢查了代碼,並且由於這是一個模式,使用了Shadowbox,我們將這個表單作爲iFrame加載,並且Shim沒有在頁面的頭部聲明被加載到模式中...因此沒有HTML5識別。 – jmarx34 2011-05-27 15:41:03

+0

謝謝。你剛剛救了我的一天! – 2013-05-28 11:20:39

1

使用HTML5 Shiv

在一個稍微不相關的說明中,您錯誤地使用了<hgroup>。它只能包含一個或多個hN元素,僅此而已。

使用上面的代碼,您應該使用<header>來代替。