4

所以,我创建了一个网站。如果我在 Internet Explorer 8 或更低版本中运行它,与 html 相关的所有(大部分)样式似乎都消失了。这是我到目前为止检查过的内容;

我检查了 W3C 验证检查,它运行良好且没有错误,我检查了 IE8 与 HTML5 的兼容性,并且我没有使用任何不兼容的东西。我已经使用 IE 开发工具更改了 Internet Explorer 的浏览器版本,它显示 css 属性已成功与其相应的元素配对,但它们只是没有显示在页面上。所以我已经没有东西可以尝试检查了。下面是整个网站(它只是很小的)。

指数;

<!DOCTYPE html>
<html>
  <head>
    <title>Your Indy Buddy</title>
    <link rel="stylesheet" type="text/css" href="style.css">
    <meta charset="utf-8">  
  </head>
  <body id="body">
<nav id="titlebar">
    <h1><img src="Other/eve.png" style="float:left;margin-right:200px;" alt="Image Not Displayed"/>EVE ONLINE INDY BUDDY</h1>
    <nav id="utilbar">
        <p style="margin-left:0px;">Your Time:</p>
            <form>
                Email <input type="text" name="email"/>
                 Password <input type="text" name="password"/>
                <button type="button" onclick="">Login</button>
            </form>
        <p style="margin-left:0px;">Eve Time : </p>
    </nav>
    <p>Not registered? Register</p>
</nav>
<br/>
<nav id="main">
    <h2>Test</h2>
</nav>
</body>
</html>

样式.cs;

/* Reset above occluded */
h1 {font-size:40px;margin-left:10px;margin-bottom:20px;}
p {margin-top:10px;margin-left:10px;}

#body {background-image:url("Other/background.jpg");background-color:#000000;font-family:"Arial Black", Gadget, sans-serif;color:rgb(200,200,200);font-size:14px;}
#main {width:890px;margin:auto;padding:12px;background-color:rgba(145,49,28,0.9);margin-top:180px;}
#titlebar {width:926px;padding-top:10px;padding-bottom:10px;background-color:rgb(24,24,24);position:fixed;left:50%;margin-left:-463px;margin-top:12px;}
#utilbar {width:906px;padding:10px;background-color:rgb(145,49,28)}
#utilbar form {float:right;position:absolute;right:10px;top:85px;}
#utilbar input {font-family:sans-serif;background-color:rgb(180,80,45);border:2px solid rgb(201,113,87);}
#utilbar button {font-family:'Arial Black', Gadget, sans-serif;color:rgb(200,200,200);background-color:rgb(160,60,40);border:2px solid rgb(180,100,70);}
#utilbar button:hover {background-color:rgb(100,30,10);border:2px solid rgb(160,60,30);}

很抱歉将代码转储给你们,但我已经没有东西可以尝试了,坦率地说我有点困惑。如果是 IE7 及以下只有那不起作用,我会忽略它。但是出于某种原因,许多企业仍在运行 IE8。

4

3 回答 3

8

就像 Sheikh Heera 所说,IE8 及以下版本不支持 HTML5 元素。您需要将HTML5 填充程序包含到您的代码中。只需将以下内容粘贴到<head>元素中:

<!--[if lt IE 9]>
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->

这实质上允许 IE6-8 支持 HTML5 元素,例如<nav><header><footer>等。

如果你好奇的话,这里有一个关于 HTML5 shim/shiv 的漂亮背景。

于 2013-07-08T20:05:26.650 回答
2

如果不想添加 html5 shim,可以手动添加一些 JS 和 CSS

JS:

<!--[if lt IE 9]>
<script>
document.createElement('header');
document.createElement('nav');
document.createElement('section');
document.createElement('article');
document.createElement('aside');
document.createElement('footer');
document.createElement('main');
</script>
<![endif]-->  

CSS:

header, nav, section, article, aside, footer, main{ 
   display: block;
}
于 2013-07-08T20:09:55.103 回答
1

我建议你看看Modernizr

引自 Modernizr.com

为什么要使用 Modernizr?

利用很酷的新 Web 技术非常有趣,除非您必须支持落后的浏览器。Modernizr 使您可以轻松编写条件 JavaScript 和 CSS 来处理每种情况,无论浏览器是否支持某个功能。它非常适合轻松进行渐进增强。

于 2013-07-08T20:20:39.513 回答