2012-02-05 28 views
4

無論我做什麼,IE都不會顯示我的網站。我不確定我做錯了什麼,以及如何解決這個問題。如果有人能幫忙,請。我被困在這個天有問題發送特定的樣式表到IE

我正在創建我的第一個HTML5網站,當然還有一個新領域有更多的學習。 My website here在目前爲止我所知道的所有瀏覽器和設備中運行良好,我使用CSS3媒體查詢在屏幕處於特定大小時發送我想要的信息。

當然現在IE不支持這個功能,所以我使用條件註釋來查看它是否是IE,以及它是否使用我的ie.css樣式。然而,我必須把它放在我們錯誤的原因,它要麼不工作(沒有顯示在網頁上,然後崩潰),或者它顯示全尺寸窗口上的移動樣式!我試圖使用respond.js文件和css3-mediaqueries.js文件,但他們沒有爲我工作。這是我阻止我獲得這個網站的最後一件事,並在爲什麼它不起作用而掙扎之後,我越來越絕望地尋找解決方案。

這是我腦海的底部。

<link rel="stylesheet" href="css/style-fluid.css" /> 
<!--[if IE]> 
<link rel="stylesheet" href="css/ie.css" /> 

<![endif]--> 
<!--[if IE 6]> 
<link rel="stylesheet" href="css/ie.css" /> 
<![endif]--> 

<!--[if IE 7]> 
<link rel="stylesheet" href="css/ie.css" /> 
<![endif]--> 

<script src="js/libs/modernizr-2.0.6.min.js"></script> 
</head> 

所以我不知道我做了什麼錯誤發生這種情況。我現在想使用媒體查詢一段時間,我知道有一種方法可以使用它們,只是告訴IE使用這個樣式表呢?

任何幫助表示讚賞。

+0

你是一個非常有才華的網站(和名片)設計師! – Gigi 2012-02-05 21:18:05

+0

哈哈。我非常欣賞這一點。你應該在一週後再回來看看。一旦我能解決這個問題,我希望能夠完成並運行。 ;) – kia4567 2012-02-05 21:20:19

+0

一個問題 - 也許是一個骨頭頭,承擔着我 - 與你的分層是你的IE.css文件分層/替換/增加什麼顯示在您的初始CSS?或者你正在進行全面更換? – skyburner 2012-02-05 21:25:09

回答

0

我覺得這個問題是不是樣式..它是你的HTML標記...

<!--[if lt IE 7]> <html class="ie" lang="en"> <![endif]--> 
<!--[if IE 7]> <html class="ie" lang="en"> <![endif]--> 
<!--[if IE 8]> <html class="ie" lang="en"> <![endif]--> 
<!--[if gt IE 8]><!--> <html class="no-js" lang="en"> <!--<![endif]--> 

我能問爲什麼????這真的沒有必要。

+0

我相信這是嘗試解決這種情況的原因。我完全忘了它。我已經把它拿出來了,但我仍然有同樣的問題... – kia4567 2012-02-05 21:42:00

0

試試這個:

<!--[if lt IE 8]> 
<link rel="stylesheet" href="css/ie.css"> 
<![endif]--> 
+0

什麼都沒有發生.. – kia4567 2012-02-08 01:29:01

0

想我得到了它。從ie.css中刪除@media打印部分。

+0

它聽起來像一個好主意,但它沒有奏效。 – kia4567 2012-02-09 11:27:50

+0

我下載了您的整個網站並在IE中打開它。它如預期的那樣墜毀。一旦我從ie.css中刪除了媒體打印文件,該網站就應該如此。奇怪的是沒有爲你工作。我會再看一次。 – moettinger 2012-02-09 14:12:42

+0

這裏是你的網站無圖像和媒體打印http://mattoettinger.com/test/amber/ – moettinger 2012-02-09 14:59:22

0

有一些事情可以做:

  1. 更新您的HTML標記,利用條件註釋作爲HTML5樣板完成。斯科特的答案提供了片段:https://stackoverflow.com/a/9153257/230649
  2. 添加respond.js到您的項目獲得媒體查詢的支持在IE中:https://github.com/scottjehl/Respond

如果respond.js運作的,你就不用再擔心你的IE瀏覽器的樣式表和你可以一起避免它。

現在這裏是踢球者:你的IE樣式表包含HTML5樣板。你需要擺脫這一點。你應該在你的IE特定的樣式表中包含的唯一的東西是你想要對文本大小進行的小調整等。

但是希望你不需要使用這個IE特定的樣式表如果respond.js支持你的媒體查詢。我會嘗試刪除特定於IE的樣式表並實施respond.js來解決您的問題。

+0

現在這裏很晚了,但明天我會爲此做第一件事。這聽起來很棒,所以我很想嘗試一下,希望明天能解決這個問題。 – kia4567 2012-02-11 10:16:01

+0

它回到我身邊。我試過這是開始的BTU我希望也許我沒有正確的HTML鍋爐板頭標記,但是我已經嘗試過使用響應腳本的技術,並且由於某種原因它在IE中崩潰。大家都說這個腳本非常好,但我無法得到迴應,或者css3-media查詢腳本工作? 它已上傳,也許你可以檢查出來,看看發生了什麼? – kia4567 2012-02-11 20:30:19

+0

@Amber - 我無法真正隔離您網頁上的問題。這裏有很多移動部件 - 你的查詢有點複雜 - 可能比respond.js更復雜,但我不確定。 – 2012-02-14 06:42:44

2

起初我雖然它的頂部你頭...當你貶低你有這個奇怪的評論標記,我認爲我造成的問題,並沒有渲染你的後來如果IE瀏覽器正確。改變
<!--[if gt IE 8]><!--> <html class="no-js" lang="en"> <!--<![endif]-->
<!--[if gt IE 8]> <html class="no-js" lang="en"> <![endif]-->

,但我已經出測試它在不同的服務器和那不就似乎打擾它。 你會認爲這個服務器正在運行嗎?好像你嘗試了不少東西..

試試我的第一個建議,和即檢查出http://tinyurl.com/87maskt而不是即.. [我不僅僅是C &從源頭,這裏的參考頁。如果你想的話,你可以給我發送實際的首頁代碼在那裏測試。]

祝你好運!

+0

嗯,我從來沒有遇到服務器問題。我與Go Daddy一起使用他們的服務很多年,他們在其他客戶端上使用他們的服務 它在FF或者Mac和Windows中完美工作,並且在IE中正確顯示,但在加載後崩潰。我不確定這意味着什麼。 http://dl.dropbox.com/u/43287957/i-hate-IE.png如果我想給你我的首頁代碼,我該怎麼做呢? – kia4567 2012-02-12 18:57:01

+0

哦,它墜毀即?這很奇怪,但讓我覺得它可能是你的安裝?好奇的是,在我修改的頁面中,假設在巨大的IE瀏覽器之後提及IE的版本,但是對於你它並沒有......並且對於我來說IE並沒有在瀏覽時崩潰..你可以在這裏給我發送代碼?在stackoverflow上有PM嗎? – 2012-02-12 19:16:25

+0

我會用dropbox。它似乎工作。這是你需要的,也許更多。但是,如果你能幫我解決這個問題,那將是驚人的!我一直在研究這個問題已經很久了。 http://dl.dropbox.com/u/43287957/amberGoodwin.zip讓我知道你得到它,我會記下來。 – kia4567 2012-02-12 19:45:36

0
<!--[if lt IE **7**]> <html class="no-js ie6 oldie" lang="en"> <![endif]--> 
<!--[if IE 7]> <html class="no-js ie7 oldie" lang="en"> <![endif]--> 
<!--[if IE 8]> <html class="no-js ie8 oldie" lang="en"> <![endif]--> 
<!--[if gt IE 8]>**<!-->** <html class="no-js" lang="en"> <!--<![endif]--> 

從你最後的if語句刪除註釋並更改前7 if語句太6以及去除雙如果8

1

語句我認爲這個問題是存在的,因爲你在任何地方你的CSS給定類型。你應該已經建立類型爲text/css

<!--[if lt IE 9]> 
<link rel="stylesheet" type="text/css" href="ie.css" /> 
<![endif]--> 
0

嘗試移動在<html>標籤class=屬性到<body>標籤和更改css選擇對<body>

<!--[if lt IE 9]> <body class="ie" lang="en"> <![endif]--> 
<!--[if gt IE 8]> <body class="no-js" lang="en"> <!--<![endif]--> 
0

只是一個想法。 ..爲什麼不使用Javascript來查明他們是否使用Internet Explorer,如果他們是,將它們重定向到另一個導入ie.css的主頁:

的index.php

<link rel="stylesheet" href="css/style-fluid.css" /> 

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js" type="text/javascript"></script> 
<script type="text/javascript"> 
$(document).ready(function(){ 
    if (navigator.appName == 'Microsoft Internet Explorer') 
    { 
     parent.location = "ie.php"; 
    } 
} 

</script> 

ie.php

<link rel="stylesheet" href="css/ie.css" /> 

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js" type="text/javascript"></script> 
<script type="text/javascript"> 
$(document).ready(function(){ 
    if !(navigator.appName == 'Microsoft Internet Explorer') 
    { 
     parent.location = "index.php"; 
    } 
} 
</script> 

問題解決了!希望這可以幫助!