2011-04-10 96 views
0

我不确定问题在于IE9而不是其他浏览器,但我认为这是一个安全的开始假设。IE9中的表格渲染问题

在IE9中查看this web site时,我在主布局表格的行之间出现黑色水平线。这在Firefox 4和Chrome中不可见。

身体背景是黑色的,所以我假设每行之间有一个小小的间隙。表格声明包含以下属性,并且没有有效的CSS规则。

border="0" align="center" cellpadding="0" cellspacing="0" 

什么是最有可能造成这种情况?

回答

1

的问题是,你必须在太多的文字细胞与rowspan。它只是迫使桌子变得更高,以至于图像的高度不足以覆盖他们的细胞。

如果要用文本填充单元格以最后一个段落到底部(或者仅使用单元格中的所有可用空间),则必须设置单元格中每个元素的确切大小单元格覆盖不同浏览器具有的不同边距,填充和线条高度。

将段落置于底部的另一种替代方法是使用绝对定位。然后,布局不像浏览器之间的变化那么敏感。

而且,正如约翰指出的那样,您当然应该在页面上有一个文档类型,以便在标准遵从模式下呈现而不是在怪癖模式下呈现,这也有助于减少浏览器之间的差异。

+0

哇,你的第一段话我至少还有一分钟时间:-)我引用了整整两个小时来解决问题。 – ProfK 2011-04-10 09:55:32

+0

我现在已经完全移除了rowspan单元格中的两个图像,并将项目符号列表修剪为三个项目,但没有任何更改。 – ProfK 2011-04-10 10:11:53

+0

@ProfK:我只是删除了单元格末尾的空白段落之一,以防止单元格变得太大。 – Guffa 2011-04-10 11:46:23

0

尝试在HTML文档,或者只是第一行加

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

<!DOCTYPE html> 

它可以帮助

+0

这当然是很好的建议,但它并没有解决这个具体问题。 – Guffa 2011-04-10 09:43:31