使用 CSS 样式的网页在 Internet Explorer 中无法正确呈现
警告
在某些版本的 Windows 10 上,通过 Microsoft Edge 更新永久禁用已停用的不支持的 Internet Explorer 11 桌面应用程序。 有关详细信息,请参阅 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>
参考
有关详细信息,请参阅以下 Microsoft 开发人员网络 (MSDN) 网站: