在我工作的公司中,我们生成 html 格式的报告,我们的客户经常打印这些报告。我们遇到的问题是,有时当客户端打印时,内部表格之一将在打印视图中的分页符之前 1 或 2 个像素开始。这会导致表格消失但空间被占用。
<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=utf-8">
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>test</title>
<style type="text/css">
td { border:1px solid black;}
table {border-collapse:collapse;}
</style>
</HEAD>
<BODY>
<TABLE class="main">
<TR>
<TD>
<TABLE class="second">
<TR>
<TD style="border-top:824px solid-black">1</TD>
</TR>
<TR>
<TD>1_1</TD>
</TR>
<TR>
<TD>1_2</TD>
</TR>
<TR>
<TD>1_3</TD>
</TR>
</TABLE>
</TD>
</TR>
<TR>
<TD>
<TABLE class="second">
<TR>
<TD>2</TD>
</TR>
<TR>
<TD>2_1</TD>
</TR>
<TR>
<TD>2_2</TD>
</TR>
<TR>
<TD>2_3</TD>
</TR>
</TABLE>
</TD>
</TR>
<TR>
<TD>
<TABLE class="second">
<TR>
<TD>3</TD>
</TR>
<TR>
<TD>3_1</TD>
</TR>
<TR>
<TD>3_2</TD>
</TR>
<TR>
<TD>3_3</TD>
</TR>
</TABLE>
</TD>
</TR>
</TABLE>
</BODY>
</HTML>
上面的代码应该会重现该错误,但您可能必须在边框上添加一些填充以将第二个表格撞到分页符之前。
我们尝试了分页符、填充、边框折叠、无边框折叠。当它只是两个表格时,除了单元格的边框之外没有任何样式时,该错误似乎仍然存在。这似乎是一个相当大的缺陷,但我几乎没有运气找到任何关于它的东西。
这是 IE 的问题还是我们可以做些什么来解决这个问题?
编辑 我们尝试使用尽可能简单的骨骼(仅 TD 元素的边框),我们遇到了同样的问题。
我们无法解决问题,但我们的工作包括仅使用外部表格的一个单元格并将每个内部表格放入其中。这可以防止表格在分页符附近消失。