0
<!DOCTYPE html>
<html>
<head>
<title>Test IE8 pre calc</title>
</head>
<body>
<div id='inserthere'></div>
<p id="dump"></p>
<p id="dump2"></p>
</body>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script>
$(function() {
var t = "<table style='white-space: pre;'><tr><td>abc def\nghi</td></tr></table>";
$("#inserthere").append($(t));
$("#dump").text($("tr").height());
window.setTimeout(function() {
$("#dump2").text($("tr").height());
}, 0);
});
</script>
</html>
在上面的代码中,我在运行时向DOM插入一个表。该表使用'pre'空格规则进行格式化。异步IE8/jQuery表行高计算
如果包含多行td的行的height()
是在插入IE8错误地报告单行(21像素)的相同调用中计算的。如果同一个调用异步进行,IE8会正确报告两行(40像素)。
IE9/10/Safari/Chrome/Firefox都很好。
结束之前''有'
听起来我好像IE8根本不会渲染速度够快,尽管您似乎已经找到了解决方案。 – 2013-02-12 21:37:58
@Flauwekeul - 斑点。例如固定 - 但可悲的是不是问题。 – ianhk 2013-02-12 21:45:09
回答
我还没找到工作 - 所以答案是不要这样做。一旦回车换成
<br>
,白色空间'nowrap'就会起作用。来源
2013-02-15 17:16:19 ianhk
相关问题