无论我做什么,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 :(得分:2)
起初我虽然它是你的头顶...当你缩小你有这个奇怪的评论标记,我认为我造成了问题,而不是正确地渲染你的后期IF IE。改变
<!--[if gt IE 8]><!--> <html class="no-js" lang="en"> <!--<![endif]-->
到
<!--[if gt IE 8]> <html class="no-js" lang="en"> <![endif]-->
但我一直在不同的服务器上测试它,这似乎并没有打扰它。 你会考虑将这个服务器作为问题运行吗?好像你尝试了很多东西......
尝试我的第一个建议,并在ie中查看http://tinyurl.com/87maskt而不是.. [我只是从源头和参考资料中获取c&amp; p。如果你愿意,你可以给我发送实际的首页代码进行测试。]
祝你好运!答案 1 :(得分:1)
我认为这个问题存在,因为你的css类型没有位置。您应该将类型设置为text/css
<!--[if lt IE 9]>
<link rel="stylesheet" type="text/css" href="ie.css" />
<![endif]-->
答案 2 :(得分: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]-->
我可以问为什么????这真的没必要。
答案 3 :(得分:0)
试试这个:
<!--[if lt IE 8]>
<link rel="stylesheet" href="css/ie.css">
<![endif]-->
答案 4 :(得分:0)
想想我明白了。从ie.css中删除@media打印部分。
答案 5 :(得分:0)
你可以做一些事情:
如果respond.js有效,你就不用担心你的IE样式表了,你可以一起避免它。
现在这里是踢球者:你的IE样式表中包含了HTML5样板重置。你需要摆脱这个。您应该在IE特定样式表中包含的唯一内容是您要对文本大小进行的小调整等。
但是,如果respond.js支持您的媒体查询,您可能根本不需要使用这个特定于IE的样式表。我尝试删除IE特定的样式表并实现respond.js来解决您的问题。
答案 6 :(得分: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的双if语句
答案 7 :(得分:0)
尝试将class=
标记中的<html>
属性移动到<body>
标记,然后更改css
以针对<body>
<!--[if lt IE 9]> <body class="ie" lang="en"> <![endif]-->
<!--[if gt IE 8]> <body class="no-js" lang="en"> <!--<![endif]-->
答案 8 :(得分: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>
问题解决了!希望这有帮助!