有人可以解释为什么IE7坚持在这个例子中在表和ul之间放置一个空格?它似乎不会发生在IE8或FF中。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<body>
<ul style="background-color: Blue;">
<li>
<table cellpadding="0" cellspacing="0" border="0" width="100%" style="background-color: Red">
<tr>
<td>
<img style="display: block" src="http://www.google.com/intl/en_ALL/images/logo.gif"
height="25" border="0" width="150" />
</td>
</tr>
</table>
<ul style="background-color: Green">
<li>One</li>
<li>Two</li>
</ul>
</li>
</ul>
</body>
</html>
答案 0 :(得分:4)
您需要将hasLayout提供给包含该表和ul。
的li <ul style="background-color: Blue;">
<li style="zoom:1;">
<table cellpadding="0" cellspacing="0" border="0" width="100%" style="background-color: Red">
答案 1 :(得分:2)
所有浏览器都有不同的默认样式。有些人比其他人更有意义。尝试使用CSS Reset来平衡比赛场地,可以这么说。
答案 2 :(得分:1)
之前我曾使用Internet Explorer解决过这个问题,这就是解决方案:删除</td>
和</tr>
标记之间的空格。这就是你的HTML应该是这样的:
</td></tr></table>
浏览器在</td>
和</tr>
之间创建一个TextNode,这是您在页面中看到的额外空间。