CSS スタイルを使用する web ページが Internet Explorer で正しく表示されない

この記事では、Internet Explorer で CSS スタイル web ページが正しく表示されないという問題について説明するための手順を示します。

元の製品バージョン:  Internet Explorer
元の KB 番号:  262161

現象

Web ページのスタイルが表示されない、または、Internet Explorer でページが読み込まれるときに誤りがある。

注意

この問題は、web ページでインラインスタイルシートを使用するか、カスケードスタイルシートをポイントするかによって発生する可能性があります。

また、次のエラーメッセージが表示されることもあります。

検索しているページが移動されたか、名前が変更された可能性があります。

原因

この問題は、Internet Explorer で次の条件に該当する場合に発生します。

  • 最初の31番目のスタイルタグの後にあるすべてのスタイルタグは適用されません。
  • 最初の4095規則より後のすべてのスタイルルールは適用されません。
  • @import他のスタイルシートをインポートする外部スタイルシートを継続的にインポートするルールを使用するページでは、深さが3レベルを超えるスタイルシートは無視されます。

詳細情報

ネットワークモニターツールは、Internet Explorer が問題が発生しているページを受信したときに TCP のリセットが発生したことを示す場合があります。 元の要求が POST 要求であった場合、Internet Explorer は別の POST 要求を生成します。 または、代わりに GET 要求を送信することもできます。

このスタイルタグの制限は、.xsl ファイルを使用した .xml ファイルの表示にも影響する場合があります。 .Xsl ファイルにドキュメント内に埋め込まれたスタイルタグがある場合、.xml ファイルを表示しようとすると、次のエラーメッセージが表示されます。

Internet Explorer は、インターネットサイトを開くことができませんでした。
file://c:\aaa.xml

[ OK] をクリックすると、次のエラーメッセージが表示されます。

ページを表示できません

問題セクションを再現するための手順で提供されているコードサンプルは、スタイルシートを動的に作成し、次のエラーメッセージを生成します。

ランタイムエラーが発生しました。
デバッグしますか?

行: 8
エラー: 無効な引数です。

スタイルシートが動的に適用されるのではなく、がタグまたは .css ファイルを使用して適用される場合、 <Style> 無効な引数のエラーメッセージは生成されません。 この場合、30番目のスタイルシートの後にあるすべてのスタイルシートは無視されます。

問題を再現するための手順

次のコードサンプルを HTML ページに貼り付けます。 コードサンプルを実行します。 30番目の style タグが適用されると、エラーが生成されます。

<html>
    <head>
        <script>
            function fnCreateStyleSheets() {
                for (i = 1; i <= 32; i++) {
                    document.createStyleSheet()
                    StyleSheetCount.innerText = "Total Style Sheets = " + i
                }
            }
        </script>
    </head>
    <body onLoad="fnCreateStyleSheets()">
        <div id="StyleSheetCount"></div>
    </body>
</html>

関連情報

詳細については、次の Microsoft Developer Network (MSDN) web サイトを参照してください。