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. inlineCSSで 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 に答える