2012-06-19 21 views
-1

幾天前正確渲染,我更新了我的網頁上的一個新的設計如圖
http://i.stack.imgur.com/R8i34.png
新的設計似乎是工作正常,當我測試了谷歌的最新版本Chrome,Internet Explorer9和Mozilla Firefox。該網站使用響應式設計,似乎也在爲我的Xperia Ray工作。
但在我的大學,我們有Internet Explorer 8和Internet Explorer 7。於是,我就從我的Windows XP,IE7和站點虛擬機測試網站似乎如下 http://i.stack.imgur.com/H1xQb.png 出了毛病,它被渲染。請幫我解決這個渲染問題。 直接鏈接的網站是
ankurm.com網站不是IE8及以下

回答

1

您正在使用HTML5元素。問題是,IE8和更舊版本不會將CSS樣式應用於未知元素。你必須註冊它們如下:

<!--[if lt IE 9]> 
    <script type="text/javascript"> 
    document.createElement("header"); 
    document.createElement("footer"); 
    document.createElement("section"); 
    document.createElement("aside"); 
    document.createElement("nav"); 
    document.createElement("article"); 
    document.createElement("hgroup"); 
    document.createElement("time"); 
    </script> 
<![endif]--> 

Modernizr ECMAscript庫可以爲你做。

+0

+1:不知道這個:) – leppie

+0

謝謝。我用html5shiv代替 – Ankur

0

您可以使用微軟的過濾標籤導入不同的樣式對於引發錯誤

http://msdn.microsoft.com/en-us/library/ms537512(v=vs.85).aspx

if lesser than msie 9 
<!--[if lt 8]> 
<style type="text/css"> 
/* markup here */ 
</style> 
<![endif]--> 

if greater than msie 8 
<!--[if gt 8]> 
<style type="text/css"> 
/* markup here */ 
</style> 
<![endif]--> 

和方式,您可以在瀏覽器攔截並使用不同的風格。您也可以根據瀏覽器版本導入不同的樣式表。

通常它只是打嗝的Internet Explorer,所以條件格式應該足夠。

0

您正在使用一些HTML5元素。如果IE8和IE8以下版本沒有註冊,則會忽略像<header><footer>這樣的元素。使用html5shiv使IE識別這些元素。

此外,你使用了很多JS。我沒有看到這對於像這樣的網頁是如何需要的。我不知道你用什麼來構建頁面,但是當我禁用JS時,結果看起來很糟糕,這並不好。如果html5shiv本身不能解決問題,也很難進一步調試你的問題。最後,如果您問這樣的問題,請提供一個鏈接到您的頁面,以便我們不必從截圖中讀取它。

編輯:哦,你把它貼在最後,但沒有鏈接它。我的錯。

+0

使用html5shiv但沒有變化 – Ankur