handouts: the print rule zeroed the padding the slug depended on

Rendering the pack to PDF to print it showed the GM filing slug printed on top
of the first line of three of the four sheets — both almanac tables and the
minute's "Copy 3 of 4" line.

The cause is one declaration. .slug is position:absolute at top:6mm, and what
kept sheet content clear of it was .sheet's 18mm screen padding. The print
block then said padding: 0, so in print — and only in print — content started
at the very top and ran under the slug. On screen the pack looked perfect,
which is why it survived being built, checked and shipped.

Fixed by keeping a top padding in print: padding: 11mm 0 0. Side and bottom
margins still come from @page, so nothing else moves.

check-handouts could not see this and is not at fault for it: it holds the
pack's STRUCTURE — the two almanac sheets sharing one class and one set of
columns, every line reading 41 mi, nothing under 11pt — and a collision between
an absolutely positioned element and the flow is a property of the rendering,
not the markup. It took rendering the file and looking at the pages.

The almanac trick itself is unaffected and was verified in the PDF: H03a and
H03b print identically but for their dates and their counts, forty-one against
fifty-three.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
slaguru666
2026-09-13 22:59:39 +01:00
co-authored by Claude Opus 5
parent fbe6288c94
commit fa30909dc9
+7 -1
View File
@@ -197,7 +197,13 @@ body {
@media print {
html, body { background: #fff; }
.sheet { margin: 0; box-shadow: none; width: auto; min-height: 0; padding: 0; }
/* Side and bottom margins come from @page; the TOP padding must survive, because the
slug is absolutely positioned at top:6mm and the screen rule's 18mm padding is what
kept sheet content clear of it. Zeroing padding here printed the slug on top of the
first line of three of the four sheets — both almanac tables and the minute's
"Copy 3 of 4". Found by rendering the pack to PDF and looking at it, which no
structural check can do. */
.sheet { margin: 0; box-shadow: none; width: auto; min-height: 0; padding: 11mm 0 0; }
.sheet--cream, .sheet--almanac { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
.screen-only { display: none !important; }
}