我在客户站点的 IE8 CO 中遇到了这个 HTML 的问题,但在我的 XP IE8 VM 上没有。但是,我设法在 IETester 中重现了该问题,并将其追踪到vertical-align: middle
应用于包含<sup />
标签的元素的样式。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta http-equiv="Content-type" content="text/html;charset=UTF-8" />
</head>
<body>
<div>
<span style="vertical-align: middle;"><sup>test</sup></span>
</div>
</body>
</html>
上面的 HTML 示例是我可以在 IETester 和客户站点上创建的最小可能示例。但是,它在我的装有 IE8 的 XP 虚拟机中运行良好,因此它也可能对您运行良好。我们需要X-UA-Compatible
IE=edge
主站点的元标记,因此我将其包含在此处。
中断的症状是 IE 呈现一个空白页面,并且似乎陷入了无限操作 - 如果留得足够长,IETester 就会崩溃(尽管我没有与客户确认同样的事情发生在他们的网站上真正的IE)。
我花了很长时间才将其追踪到<sup />
标签,然后将 CSS 应用于其父元素(它恰好是<label />
我们实际网站中的标签,但它似乎与<span />
标签的行为方式相同)。
这个 HTML / CSS 有什么问题,还是只是 IE8 很有趣?
在我的测试中,我尝试了 IE6、IE7、IE9、Chrome、FireFox、Opera 和 Safari,但它们都没有表现出与在客户站点上运行的特定 IE 版本相同的行为。