0

在花了一段时间设计一个网站后,我现在决定我至少需要让它在 IE9 及以下版本中可见。我遵循了以下网站中的示例:

https://github.com/aFarkas/html5shiv

但无济于事。

以下是其中一个网站页面在最新浏览器中的外观:http: //gyazo.com/10a74b651a216d76bb677d335fa1551d

以下是它在 IE9 及以下版本中的外观:http: //gyazo.com/8541b263b9ed43e9d7dea9c33eafb22b

然而奇怪的是,主页看起来很好,只是其他所有主页。

我将此代码实现到我所有 html 页面的开头:

<!--[if lt IE 9]>
    <script src="js/html5shiv.js"></script>
<![endif]-->

html5shiv.js 位于我的项目目录中名为“js”的文件夹中。

并将此 CSS 代码添加到我的样式表中:

/*HTML5*/
article, aside, details,figcaption,figure,footer,header,hgroup,menu,nav,section {
display:block; 
}

即使这样做了,如果我不是盲人,我相信这是正确的,IE9 及以下版本不能很好地显示这个站点。

任何建议都将受到欢迎。

谢谢你。

4

1 回答 1

0

我相信你已经想通了,查理,但如果你还没有,我会尝试这些东西......

首先,关于css:

/*HTML5*/
article, aside, details,figcaption,figure,footer,header,hgroup,menu,nav,section {
display:block; 
}

↑ 这应该包含您的其他 css 之前。通常,您不需要这样做,因为HTML5shiv已经添加了这些样式,但是对于一些较旧的浏览器或禁用 javascript 的浏览器,您可以添加这些样式。在我看来,预先包含normalize.css在您的内容中更容易。<head>

另外,确保HTML5shiv被添加到头部(最好在最后)。如果它在页面加载后加载到页脚中,可能会导致您描述的问题。

您的代码应如下所示:

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title></title><meta name="description" content="">
    <!-- CSS Reset -->
    <link href="https://cdnjs.cloudflare.com/ajax/libs/normalize/3.0.3/normalize.css" rel="stylesheet">
    <!-- Your site CSS (Optional ) -->
    <link rel="stylesheet" href="css/main.css">
    <!-- HTML5 shim for support of HTML5 elements (added at end of head) -->
    <!--[if lt IE 9]>
      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
    <![endif]-->
  </head>
  <body>

   You content here ....


  <!-- If you use javascript  -->
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
  </body>
</html>

可以在 github 页面上找到 html5shiv 的一些已知问题,如果您仍然有问题,应该在此处报告。此外,请确保您使用的是最新版本的脚本。

于 2016-01-07T17:29:26.470 回答