我有以下 HTML:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<style>
tr{vertical-align: top;}
</style>
<script type="text/javascript">
function ready() {
s = '';
t = '';
for(var i=1; i<=450; ++i)
{
s += i + '\n';
t += i + '\r\n';
}
document.getElementById("numbers1").innerHTML = "<pre><code>"+s+"</code></pre>";
document.getElementById("numbers2").innerHTML = "<pre><code>"+t+"</code></pre>";
}
</script>
</head>
<body>
<table id="wrap"><tr>
<td id="numbers1"></td>
<td id="numbers2"></td>
</tr></table>
</body>
<script type="text/javascript">
ready();
</script>
</html>
在 IE9 中,当以 IE9 标准模式(上述 HTML 的默认模式)呈现时,右列中的数字 428 和 429 之间有一个空行(见图)
这仅在 IE 中,并且仅在完整的 IE9 标准模式下。
谁能解释这种非常奇怪的行为?为什么只在那条线上?如果是每一行,我可以理解它显示\r\n
为 2 个换行符。