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

重要

Internet Explorer 11 桌面应用程序将于 2022 年 6 月 15 日停用并停止支持 (有关范围列表,请参阅常见问题解答) 。 现在正在使用的 IE11 应用和网站可以在 Microsoft Edge 的 Internet Explorer 模式下打开。 在此处了解详细信息。

本文提供了一些步骤来帮助描述 CSS 样式网页无法正确呈现在Internet Explorer。

原始产品版本:   Internet Explorer
原始 KB 编号:   262161

症状

当页面加载在页面中时,网页上的样式缺失或Internet Explorer。

备注

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

您还可以收到以下错误消息:

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

原因

出现此问题是因为以下条件在Internet Explorer:

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

详细信息

网络监视器工具可能指示在用户收到Internet Explorer页面时发生 TCP 重置。 Internet Explorer如果原始请求是 POST 请求,则生成另一个 POST 请求。 或者,Internet Explorer发送 GET 请求。

此样式标记限制还可能会影响.xml .xsl 文件的查看。 当 .xsl 文件具有嵌入在文档中的样式标记时,当您尝试查看该样式文件时,.xml错误消息:

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

单击" 确定" 时,将收到以下错误消息:

无法显示页面

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

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

行:8
错误:参数无效。

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

重现问题的步骤

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

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

参考

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