这是XY problem。 X是How to use HTML to print header and footer on every printed page of a document?,在Safari 11.1.1中可以使用。但是, 这个 问题是关于我下面所述的Y方法遇到的一个问题!
对于我的文档(简历),我有少量固定的可能的“分页符”位置,可通过page-break-inside: avoid
来强制执行。因此,我想到,如果我可以通过编程方式检测到 actual 分页符位置,则可以使用它来取消display:none
我之前在该位置设置的页脚元素。也就是说,我的文档当前如下所示:
.nobreak {
page-break-inside: avoid;
}
.footer {
display: none;
}
<div class="nobreak">
<h2>Professional Affiliations</h2>
<ul id="affiliations"> ... </ul>
</div>
<div class="footer">footer text</div>
<div class="nobreak">
<h2>Licensure</h2>
<ul id="licensure"> ... </ul>
</div>
<div class="footer">footer text</div>
<div class="nobreak">
<h2>Publications</h2>
<ul id="publications"> ... </ul>
</div>
<div class="footer">footer text</div>
有没有一种半可靠的方法来检测这些“页脚”元素之一是否位于(media print
)物理页面的底部,并以此为基础调整其display
属性? / p>
我强烈怀疑这是不可能的-因为新显示的页脚元素会导致页面重排并移动页脚元素,依此类推,从而导致无限次回归-但我没有看到它在任何地方讨论过,所以我想我应该要求一个明确的答案。