2012-02-05 30 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> 

问题解决了!希望这可以帮助!