[英]HTML table: merged cells: wrong height on FF and IE (ok Chrome)
我需要显示一个HTML,其中各行之间合并了各种单元格。
这是一个说明需求和问题的测试:
<html>
<head></head>
<body>
<table cellspacing="0" cellpadding="0" border="1">
<tbody>
<tr>
<td rowspan="2" style="height: 40px">
<div style="width: 100px;">RS=2</div>
</td>
<td rowspan="1" style="height: 20px">
<div style="width: 100px;">RS=1</div>
</td>
<td rowspan="3" style="height: 60px">
<div style="width: 100px;">RS=3</div>
</td>
</tr>
<tr>
<td rowspan="4" style="height: 80px">
<div style="width: 100px;">RS=4</div>
</td>
</tr>
<tr>
<td rowspan="2" style="height: 40px">
<div style="width: 100px;">RS=2</div>
</td>
</tr>
<tr>
<td rowspan="2" style="height: 40px">
<div style="width: 100px;">RS=2</div>
</td>
</tr>
<tr>
<td rowspan="1" style="height: 20px">
<div style="width: 100px;">RS=1</div>
</td>
</tr>
</tbody>
</table>
</body>
</html>
当在Chrome中显示时可以,但是在FF3.6和IE8中则不行(请看第一栏中的两个“ RS = 2”,它们的行距和高度相同,但明显不同)。 行高对我来说非常重要,因为我在旁边显示另一个表格,其中单行的固定高度需要与该表格对齐。
有人可以建议在Firefox和IE中如何解决此问题?
某些最新的“智能”浏览器会检测出最终的“未关闭标签”错误,并在您的树做得很好时显示出来,但并非总是这样。
检查所有打开的标签是否已关闭,必须有一个未关闭的标签。 如果使用Dreamweaver,则可以通过左侧菜单折叠/扩展标签。 -> ... <-或<-...->
这是一个可在Firefox中运行的修复程序,但不适用于Internet Explorer。 从单元格中删除高度属性,然后添加
style="height:20px;"
到所有行或
在头部内添加以下样式标签:
<style>
tr{height:20px;}
</style>
这可以在Firefox中运行,而Chrome则不受影响,但IE仍然一团糟。 Firefox和IE在呈现表时都有错误的历史记录。 Firefox中表格单元格高度渲染错误的讨论
没有适当的doctype,您将处于怪癖模式,尤其是IE,将永远不会尝试像其他所有更现代的浏览器一样执行性能。 在任何情况下,这都不是一件好事。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.