1

我是 html5 的初学者。当我尝试调用 html5 shiv 时,页面不会在 ie8 中呈现。仅加载背景。

我正在添加以下内容

<header>
<!--[if lt IE 9]><script src="http://html5shiv.googlecode.com/svn/trunk/html5.js">     </script><![endif]-->   
<script>
  document.createElement('header');
  document.createElement('nav');
  document.createElement('hgroup');
  document.createElement('section');
  document.createElement('article');
  document.createElement('aside');
  document.createElement('footer');
   </script>

CSS:

article, aside, details, figcaption, figure, footer, header, hgroup, nav, section {     display: block; }
audio, canvas, video { display: inline-block; *display: inline; *zoom: 1; }
audio:not([controls]) { display: none; }
[hidden] { display: none; }

请帮忙!

4

1 回答 1

2
  1. 您不必创建所有元素document.createElement- shiv 为您完成。
  2. 在您的 CSS 中,您inline为 IE8 制作了所有新元素,但是它们在好的浏览器中自然会被阻止。尝试使它们保持一致并使用Normalize CSS中的规则,例如:
    /*
    * Corrects `block` display not defined in IE 8/9.
    */

    article,
    aside,
    details,
    figcaption,
    figure,
    footer,
    header,
    hgroup,
    nav,
    section,
    summary {
        display: block;
    }

    /*
    * Corrects `inline-block` display not defined in IE 8/9.
    */

    audio,
    canvas,
    video {
        display: inline-block;
    }

    /*
    * Prevents modern browsers from displaying `audio` without controls.
    * Remove excess height in iOS 5 devices.
    */

    audio:not([controls]) {
        display: none;
        height: 0;
    }
于 2012-09-17T16:47:26.117 回答