以下代码演示了我遇到的问题:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<style>
p
{
background-color:#FFF;
}
</style>
</head>
<body>
<img src="http://www.google.com/intl/en_ALL/images/logo.gif" style='float:left;'>
<p><em>This is an italic sentence.</em></p>
<p><strong>This is a bold sentence.</strong></p>
<p>This is a normal sentence.</p>
</body>
</html>
当在 IE7 中查看此代码时,Google 徽标将显示在左侧,“白色水平条”贯穿其中,与每个段落对齐,显示在右侧。
删除带有 <em> 标记的第一行会导致这些行消失。自己试试。删除三行中的每一行,看看错误是如何变化的。
这到底是怎么回事?
--
解决方案:hasLayout 问题。将 zoom: 1 属性添加到 em 可以解决问题。