2013-07-11 41 views
1

Im在開發網站的過程中。這很好,除了沒有一個CSS可以在IE8上工作。我一直在網上閱讀,並有一些麻煩理解提供解決方案的各種指南和黑客。有關如何使這項工作開始工作的任何建議?繼承人代碼的幫助。謝謝!CSS不會在IE8上加載

<!DOCTYPE html> 
<html> 
<head style="overflow-x: hidden"> 
    <script src="//cdn.optimizely.com/js/272026200.js"></script> 
    <meta name="viewport" content="width=device-width"> 
    <!--[if IE 8]> 
    <link rel="stylesheet" type="text/css" href="ie8.css"> 
    <![endif]--> 
    <title>Dupont Studios</title> 
    <link href='http://fonts.googleapis.com/css?family=Oxygen:300' rel='stylesheet' type='text/css'> 

    <script type="text/javascript" src="jquery-1.9.1.js"></script> 
    <script src="http://code.jquery.com/ui/1.9.2/jquery-ui.js"></script> 
    <script type="text/javascript" src="waypoints.js"></script> 


    <meta name="viewport" content="width=device-width, initial-scale=1"> 
    <link rel="stylesheet" media="only screen and (max-width: 400px)" href="mobile.css" /> 
    <link rel="stylesheet" media="only screen and (min-width: 401px)" href="style.css" /> 

    <script language="javascript" type="text/javascript"> 
     $(function() { 
     // Do our DOM lookups beforehand 
     var nav_container = $(".nav-container"); 
     var nav = $("nav"); 
     nav_container.waypoint({ 
     handler: function(direction) { 
     nav_container.toggleClass('sticky', direction=='down'); 

     } 
     }); 
     $("li.nav-item").click(function() { 
     $("html, body").animate({ 
     scrollTop: $($(this).children().attr("href")).offset().top + "px"}, {duration: 500, easing: "swing" 
     }); 
     return false; 
     }); 

     }); 

    </script> 



</head> 

更多信息: 的ie8.css片僅僅是我作爲一個測試進行的style.css文件的副本。我在網上看到,在\ 9結束的東西可能會有所幫助。這是代碼的一小部分。現在回想起來,這似乎很愚蠢

body{ 
    font-family: 'Helvetica Neue', 'Helvetica Neue Light', sans-serif\9; 
    margin:0\9; 

} 

#top-container{ 
    width:100%\9; 
    height:100%\9; 
} 

#top-content{ 
    max-width:1200px\9; 
    margin-right:auto\9; 
    margin-left:auto\9; 
} 

#top-img{ 
    width:100%\9; 
    padding-bottom: 10%\9; 
} 
+0

哪些樣式表無法正確加載?它是ie8.css中的一個還是全部? – War10ck

+0

您是否使用Fiddler或其他工具觀察您的網絡流量,以確認IE8.css正在成功下載?如果您點擊F12,它是否顯示您的頁面處於IE8標準模式? – EricLaw

+0

當我第一次發現問題時,它是沒有正確加載的style.css,根本沒有css。我試着製作一個名爲ie8.css的單獨的css文件,它也不會加載。 除了小提琴手是否還有一個工具可以用來查看它的加載? – nictoriousface

回答

2

IE 8及以下版本僅對screenprintmedia屬性中作出響應。

更改此:

<link rel="stylesheet" media="only screen and (max-width: 400px)" href="mobile.css" /> 

這樣:

<link rel="stylesheet" media="screen" href="mobile.css" /> 

而在你的CSS文件(S)添加媒體查詢:

@media screen and (max-width: 400px) { 
    body { 
    ... 
    } 
    .. 
} 

Respond.js,爲他人已經指出,應該有助於兼容性。

+0

奇妙的建議,完美的工作。非常感謝你的朋友 – nictoriousface

1

IE8(或具體爲IE9之前的任何版本的IE)不完全支持CSS3媒體查詢,這就是爲什麼你mobile.css和style.css的樣式表沒有加載。

這是some suggestions (such as using a JS library like Respond.js) for how to keep IE8 users happy

+0

引腳問題:有沒有運行win-xp/ie8的非pc平臺?如果您的頁面無法在平板電腦或手持設備或手機上的IE8上顯示,爲什麼還要擔心響應式設計的<9? –

+0

@MilchePatern,我相信有,但很少。不過,我現在不準備查看它。 –

0

如果你需要有CSS3媒體查詢IE8上運行,你應該使用respondjs

快速&輕質填充工具最小/最大寬度CSS3媒體查詢(對於IE 6-8,和更多)

-1

如果只是ie8樣式表沒有加載,請注意,如果IE在兼容性視圖中運行,它將自己標識爲IE7。因此,您的條件註釋將不適用,並且ie8.css樣式表將永遠不會包含。

0

另一個建議 - 我會先加載我的默認樣式表,然後再聲明條件IE樣式表。我們的想法是使用該條件樣式表來覆蓋默認樣式表中的一些內容,因此您不必在任何地方放置!重要聲明。因此,'級聯'