【问题标题】:First Page Table Position Shifts首页表格位置偏移
【发布时间】:2026-01-18 04:25:01
【问题描述】:

任何人都可以建议使用此 html 在第一页上更改表格位置的原因吗?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>testfile</title>
<meta http-equiv="expires" content="0" />
<meta http-equiv="cache-control" content="no-cache" />
<meta http-equiv="pragma" content="no-cache" />
<style type="text/css">
Table {
    page-break-after: always;
}
</style>
</head><body>
<table width="100%">
<tr><td width="30%"><i>Group:</i></td>
<td width="70%">Test Group 1</td></tr>
<tr><td><i>Title:</i></td>
<td><b>Test Title 1</b></td></tr>
<tr><td>&nbsp;</td></tr>
</table><br/>
<table width="100%">
<tr><td width="30%"><i>Group:</i></td>
<td width="70%">Test Group 2</td></tr>
<tr><td><i>Title:</i></td>
<td><b>Test Title 2</b></td></tr>
<tr><td>&nbsp;</td></tr>
</table><br/>
<table width="100%">
<tr><td width="30%"><i>Group:</i></td>
<td width="70%">Test Group 3</td></tr>
<tr><td><i>Title:</i></td>
<td><b>Test Title 3</b></td></tr>
<tr><td>&nbsp;</td></tr>
</body></html>

当您在 IE9 中进行打印预览时,第一页上的表格与其他页面上的任何表格处于不同的位置(更高)。

谁能看出其中的原因?

谢谢

【问题讨论】:

    标签: html css internet-explorer printing


    【解决方案1】:

    这种样式会导致每个表格后分页:

    Table {
      page-break-after: always;
    }
    

    在第一个和第二个表格之后,你有一个&lt;br/&gt; 标记,它添加了一个空行。

    因此,您的第二张和第三张桌子正在被&lt;br/&gt; 推倒。

    您可以通过删除&lt;br/&gt; 标记在第一个表格前添加&lt;br/&gt; 标记来纠正此问题。

    请注意,brvoid element,因此不需要“/”符号。您通常会将其视为简单的&lt;br&gt;

    更新

    您可能还需要添加此样式:

    body {
      margin: 0px;
    }
    

    否则,页边距可能仅应用于第一页。这对于 IE11 是正确的,但对于 Chrome 是这样对于 IE9 也是如此。

    【讨论】:

    • 啊,是的,我没有注意到它们!!不幸的是,删除它们后,它仍然是一样的。我还注意到我从最后也错过了一个 ,但添加它并没有帮助(不是我希望它可以解决位置问题!!)
    • 这解决了 IE11 的问题,但我没有安装 IE9 来测试它。您也可以尝试从正文中删除边距:body {margin: 0px;}
    • 太好了,这似乎因浏览器而异。我已经更新了我的答案。