使用 CSS 样式的网页在 Internet Explorer 中无法正确呈现

警告

已停用、不受支持的 Internet Explorer 11 桌面应用程序在某些版本的 Windows 10 上已通过 Microsoft Edge 更新永久禁用。 有关详细信息,请参阅 Internet Explorer 11 桌面应用停用常见问题解答

本文提供的步骤有助于描述 CSS 样式网页在 Internet Explorer 中无法正确呈现的问题。

原始产品版本: Ie
原始 KB 编号: 262161

症状

网页在 Internet Explorer 中加载时,网页上的样式缺失或看起来不正确。

注意

无论网页使用内联样式表还是指向级联样式表,都可能发生此问题。

还可能会收到以下错误消息:

要查找的页面可能已移动或已更改其名称。

原因

出现此问题的原因是 Internet Explorer 中存在以下条件:

  • 不应用前 31 个样式标记之后的所有样式标记。
  • 不应用前 4,095 个规则之后的所有样式规则。
  • 在使用 @import 规则持续导入导入其他样式表的外部样式表的页面上,将忽略超过三个级别的样式表。

更多信息

当 Internet Explorer 收到遇到问题的页面时,网络监视器工具可能会指示发生 TCP 重置。 然后,如果原始请求是 POST 请求,Internet Explorer 会生成另一个 POST 请求。 或者,Internet Explorer 可能会改为发送 GET 请求。

此样式标记限制还可能会影响使用 .xsl 文件查看 .xml 文件。 当 .xsl 文件在文档中嵌入样式标记时,当您尝试查看 .xml 文件时,会收到以下错误消息:

Internet Explorer 无法打开 Internet 站点:
file://c:\aaa.xml

单击“ 确定”时,会收到以下错误消息:

无法显示页面

重现问题的步骤部分提供的代码示例动态创建样式表并生成以下错误消息:

发生运行时错误。
是否要调试?

行:8
错误:参数无效。

如果样式表不是动态应用的,而是通过 <样式> 标记或.css文件应用,则不会生成 无效参数 错误消息。 在这种情况下,将忽略第 301 个样式表之后的所有样式表。

重现问题的步骤

将以下代码示例粘贴到 HTML 页中。 运行代码示例。 应用第 301 样式标记后会生成错误。

<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>

References

有关详细信息,请参阅以下 Microsoft 开发人员网络 (MSDN) 网站: