По общему признанию, это XY проблема. X - это Как использовать HTML для печати верхнего и нижнего колонтитула на каждой печатной странице документа?, как это работает в Safari 11.1.1. Однако вопрос это касается именно проблемы, с которой я столкнулся с моим подходом Y, описанным ниже!
Для моего документа (резюме) у меня есть небольшое фиксированное количество возможных позиций "разрыва страницы", принудительно с помощью page-break-inside: avoid. Мне пришло в голову, что если бы я мог программно обнаружить место разрыва страницы действительный, то я мог бы использовать это для де-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 на основе этого?
Я сильно подозреваю, что это невозможно - потому что недавно обнаруженный элемент нижнего колонтитула приведет к перекомпоновке страницы и перемещению элемента нижнего колонтитула и т. д. В бесконечном регрессе - но я нигде не видел, чтобы это обсуждалось, поэтому я подумал, что должен попросить окончательный ответ.
@Pilan: Да, «верхний и / или нижний колонтитулы на каждой печатной странице» - это проблема X; но решения проблемы X следует публиковать в виде ответов на stackoverflow.com/questions/1360869/…. Вопрос Этот ищет ответы, в частности, о том, как отобразить существующий элемент, если он обнаружен как вверху и / или внизу страницы печати.
Хорошо, я вижу, это странный Y: D
Недавно я пытался сделать что-то подобное и не смог найти способ сделать это окончательно. Однако я, похоже, добился определенного успеха, если предположил, что страница будет иметь высоту x пикселей, исходя из ожидаемого (или принудительного) соотношения сторон печати. Это сработало в моем случае, но, безусловно, могло сломаться, учитывая, что другие машины печатали.






Так в основном вам нужен нижний колонтитул для каждой напечатанной страницы?