MediaWiki:Print.css: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
/* =========================== | /* ============================ | ||
Softwear — Print stylesheet | Softwear — Print stylesheet (A4, narrow column) | ||
One-column ~half A4 width, compact type to fit on 1 page | |||
=========================== */ | ============================ */ | ||
/* 1) Font face */ | /* 1) Font face */ | ||
Line 25: | Line 25: | ||
font-family: 'HALColant-TextRegular', Georgia, "Times New Roman", serif; | font-family: 'HALColant-TextRegular', Georgia, "Times New Roman", serif; | ||
color: #292828 !important; | color: #292828 !important; | ||
font-size: 10.5pt; /* compact base */ | |||
line-height: 1.2; | |||
} | } | ||
/* 4) Page + container */ | /* 4) Page + narrow container (A4 portrait) */ | ||
@page { size: | @page { size: A4 portrait; margin: 10mm; } | ||
/* Keep selector name for compatibility with your HTML */ | |||
.entry-wrapper.print-a5 { | .entry-wrapper.print-a5 { | ||
width: | width: 100mm; /* ≈ half of printable A4 width (after margins) */ | ||
box-sizing: border-box; | box-sizing: border-box; | ||
padding: | margin: 0 auto; /* center column on page */ | ||
padding: 3mm; | |||
} | } | ||
/* 5) Titles & people */ | /* 5) Titles & people (compact) */ | ||
.article-title { | .article-title { | ||
font-size: 22px | font-size: 16px; /* was 22px */ | ||
line-height: | line-height: 18px; | ||
letter-spacing: 0. | letter-spacing: 0.6px; | ||
text-align: center; | text-align: center; | ||
margin: 0; | margin: 0; | ||
} | } | ||
.article-people { | .article-people { | ||
font-size: 22px | font-size: 16px; /* was 22px */ | ||
line-height: | line-height: 20px; | ||
letter-spacing: 0. | letter-spacing: 0.6px; | ||
text-align: center; | text-align: center; | ||
text-decoration: underline; | text-decoration: underline; | ||
margin: 0; | margin: 0; | ||
padding-top: 15px | padding-top: 8px; /* was 15px */ | ||
} | } | ||
.article-people a { text-decoration: underline; color: #292828 !important; } | .article-people a { text-decoration: underline; color: #292828 !important; } | ||
Line 67: | Line 71: | ||
.article-mod-line { | .article-mod-line { | ||
position: relative; | position: relative; | ||
padding-bottom: | padding-bottom: 5px; /* was 7px */ | ||
border-bottom: none !important;/* clear any old borders */ | border-bottom: none !important;/* clear any old borders */ | ||
} | } | ||
Line 115: | Line 119: | ||
.article-quote, | .article-quote, | ||
.article-mod-line { | .article-mod-line { | ||
border-bottom: 0.5pt solid #292828 !important; /* override | border-bottom: 0.5pt solid #292828 !important; /* override earlier “none” */ | ||
} | } | ||
Line 124: | Line 128: | ||
/* 7) Entry number row */ | /* 7) Entry number row */ | ||
.article-entry-number { | .article-entry-number { | ||
font-size: 16px | font-size: 12px; /* was 16px */ | ||
line-height: 23px | line-height: 16px; /* was 23px */ | ||
letter-spacing: 0; | letter-spacing: 0; | ||
margin: 0; | margin: 0; | ||
Line 135: | Line 139: | ||
color: #292828 !important; | color: #292828 !important; | ||
text-decoration: none; | text-decoration: none; | ||
margin: | margin: 2px 0 0 0; /* was 4px */ | ||
padding-top: 0; | padding-top: 0; | ||
} | } | ||
Line 148: | Line 152: | ||
/* 9) Type line */ | /* 9) Type line */ | ||
.article-type { | .article-type { | ||
font-size: 16px | font-size: 12px; /* was 16px */ | ||
line-height: 1; | line-height: 1; | ||
letter-spacing: 0; | letter-spacing: 0; | ||
margin: 0; | margin: 0; | ||
padding-top: 7px | padding-top: 4px; /* was 7px */ | ||
color: #292828 !important; | color: #292828 !important; | ||
} | } | ||
Line 167: | Line 171: | ||
display: grid; | display: grid; | ||
grid-template-columns: repeat(3, 1fr); | grid-template-columns: repeat(3, 1fr); | ||
gap: 2mm | gap: 1.5mm; /* was 2mm */ | ||
padding-top: 11px | padding-top: 6px; /* was 11px */ | ||
line-height: 1 !important; | line-height: 1 !important; | ||
} | } | ||
.article-metadata-label { | .article-metadata-label { | ||
font-size: 13px | font-size: 10px; /* was 13px */ | ||
text-transform: uppercase; | text-transform: uppercase; | ||
letter-spacing: 0. | letter-spacing: 0.2px; | ||
} | } | ||
.article-metadata-value { | .article-metadata-value { | ||
font-size: 15px | font-size: 12px; /* was 15px */ | ||
text-transform: capitalize; | text-transform: capitalize; | ||
} | } | ||
Line 201: | Line 205: | ||
.image-container img { | .image-container img { | ||
display: block; | display: block; | ||
max-height: 85mm | max-height: 45mm; /* was 85mm */ | ||
height: auto; | height: auto; | ||
width: auto; | width: auto; | ||
Line 228: | Line 232: | ||
.article-label-modification-date { | .article-label-modification-date { | ||
text-transform: uppercase; | text-transform: uppercase; | ||
margin: | margin: 6px 0 0 0 !important; /* was 10px */ | ||
padding: 0 !important; | padding: 0 !important; | ||
text-indent: 35px | text-indent: 28px; /* was 35px */ | ||
line-height: 1; | line-height: 1; | ||
font-size: 14px | font-size: 11px; /* was 14px */ | ||
letter-spacing: 0. | letter-spacing: 0.3px; | ||
break-after: avoid; page-break-after: avoid; | break-after: avoid; page-break-after: avoid; | ||
} | } | ||
Line 242: | Line 246: | ||
.article-external-reference + .article-label-quote, | .article-external-reference + .article-label-quote, | ||
.article-quote + .article-label-modification-date { | .article-quote + .article-label-modification-date { | ||
margin-top: | margin-top: 8px !important; /* was 10px */ | ||
} | } | ||
.article-description, | .article-description, | ||
Line 249: | Line 253: | ||
.article-quote, | .article-quote, | ||
.article-mod-line { | .article-mod-line { | ||
text-indent: 35px | text-indent: 28px; /* was 35px */ | ||
line-height: 1.3 | line-height: 1.2; /* was 1.3 */ | ||
font-size: 20px | font-size: 14px; /* was 20px */ | ||
letter-spacing: 0.8px | letter-spacing: 0.4px; /* was 0.8px */ | ||
margin-top: 0 !important; | margin-top: 0 !important; | ||
padding-top: 0 !important; | padding-top: 0 !important; | ||
Line 266: | Line 270: | ||
/* 13) Quote */ | /* 13) Quote */ | ||
.article-quote { | .article-quote { | ||
font-size: 26px | font-size: 16px; /* was 26px */ | ||
line-height: 1; | line-height: 1.1; | ||
letter-spacing: | letter-spacing: 0.6px; | ||
font-style: italic; | font-style: italic; | ||
} | } | ||
Line 277: | Line 281: | ||
color: grey; | color: grey; | ||
line-height: 1; | line-height: 1; | ||
font-size: 14px | font-size: 11px; /* was 14px */ | ||
letter-spacing: 0. | letter-spacing: 0.3px; | ||
margin: | margin: 5px 0 0 0 !important; | ||
padding-top: 0!important; | padding-top: 0!important; | ||
} | } | ||
.article-mod-line > span { display: inline; margin: 0; padding: 0; } | .article-mod-line > span { display: inline; margin: 0; padding: 0; } | ||
.article-mod-line > span + span { margin-left: 6px; } | .article-mod-line > span + span { margin-left: 6px; } | ||
.article-modification-date { font-size: | .article-modification-date { font-size: 11px; letter-spacing: 0.3px; } | ||
/* 15) Vector resets */ | /* 15) Vector resets */ | ||
Line 296: | Line 300: | ||
text-decoration: none; | text-decoration: none; | ||
color: #292828 !important; | color: #292828 !important; | ||
font-size: 17px | font-size: 13px; /* was 17px */ | ||
line-height: 1; | line-height: 1.1; /* was 1 */ | ||
letter-spacing: 0; | letter-spacing: 0; | ||
} | } | ||
Line 339: | Line 343: | ||
break-inside: avoid; | break-inside: avoid; | ||
} | } | ||
/* Optional emergency shrink for extreme cases (non‑standard) */ | |||
/* .entry-wrapper.print-a5 { zoom: 0.95; } */ | |||
} | } |
Revision as of 13:42, 26 August 2025
/* ============================ Softwear — Print stylesheet (A4, narrow column) One-column ~half A4 width, compact type to fit on 1 page ============================ */ /* 1) Font face */ @font-face { font-family: 'HALColant-TextRegular'; src: url('/fonts/HALColant-TextRegular.woff2?v=20250820') format('woff2'), url('/fonts/HALColant-TextRegular.woff?v=20250820') format('woff'); font-weight: normal; font-style: normal; font-display: swap; } /* 2) Print color fidelity */ * { -webkit-print-color-adjust: exact; print-color-adjust: exact; } /* 3) Base visibility & typography */ .print-only { display: block !important; } html, body { margin: 0; padding: 0; font-family: 'HALColant-TextRegular', Georgia, "Times New Roman", serif; color: #292828 !important; font-size: 10.5pt; /* compact base */ line-height: 1.2; } /* 4) Page + narrow container (A4 portrait) */ @page { size: A4 portrait; margin: 10mm; } /* Keep selector name for compatibility with your HTML */ .entry-wrapper.print-a5 { width: 100mm; /* ≈ half of printable A4 width (after margins) */ box-sizing: border-box; margin: 0 auto; /* center column on page */ padding: 3mm; } /* 5) Titles & people (compact) */ .article-title { font-size: 16px; /* was 22px */ line-height: 18px; letter-spacing: 0.6px; text-align: center; margin: 0; } .article-people { font-size: 16px; /* was 22px */ line-height: 20px; letter-spacing: 0.6px; text-align: center; text-decoration: underline; margin: 0; padding-top: 8px; /* was 15px */ } .article-people a { text-decoration: underline; color: #292828 !important; } /* === Hairline rules via pseudo-element (Chrome/Edge) === */ .article-entry-number, .link-pdf, .article-type, .article-metadata, .article-images, .article-description, .article-reflection, .article-external-reference, .article-quote, .article-mod-line { position: relative; padding-bottom: 5px; /* was 7px */ border-bottom: none !important;/* clear any old borders */ } .article-entry-number::after, .link-pdf::after, .article-type::after, .article-metadata::after, .article-images::after, .article-description::after, .article-reflection::after, .article-external-reference::after, .article-quote::after, .article-mod-line::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; /* device pixel */ background: #292828; /* match your ink */ transform: scaleY(0.5); /* render as ~0.5px hairline */ transform-origin: 50% 100%; } /* === Firefox-only fallback (pseudo hairline can be too thin/missing) === */ @-moz-document url-prefix() { .article-entry-number::after, .link-pdf::after, .article-type::after, .article-metadata::after, .article-images::after, .article-description::after, .article-reflection::after, .article-external-reference::after, .article-quote::after, .article-mod-line::after { content: none !important; /* turn off the pseudo line in Firefox */ } .article-entry-number, .link-pdf, .article-type, .article-metadata, .article-images, .article-description, .article-reflection, .article-external-reference, .article-quote, .article-mod-line { border-bottom: 0.5pt solid #292828 !important; /* override earlier “none” */ } /* no rule on very last block in Firefox */ #article-content > :last-child { border-bottom: 0 !important; } } /* 7) Entry number row */ .article-entry-number { font-size: 12px; /* was 16px */ line-height: 16px; /* was 23px */ letter-spacing: 0; margin: 0; } /* 8) Centered link row ([PDF⤴] [WEB⤴]) */ .link-pdf { text-align: center; color: #292828 !important; text-decoration: none; margin: 2px 0 0 0; /* was 4px */ padding-top: 0; } .link-pdf a, .link-pdf p { display: inline-block; text-decoration: none; color: #292828 !important; margin: 0 !important; padding: 0 !important; } /* 9) Type line */ .article-type { font-size: 12px; /* was 16px */ line-height: 1; letter-spacing: 0; margin: 0; padding-top: 4px; /* was 7px */ color: #292828 !important; } .article-type a { text-decoration: none; color: #292828 !important; } /* 10) Metadata grid */ .article-metadata, .article-metadata * { margin: 0 !important; border: none; background: none; } .article-metadata { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5mm; /* was 2mm */ padding-top: 6px; /* was 11px */ line-height: 1 !important; } .article-metadata-label { font-size: 10px; /* was 13px */ text-transform: uppercase; letter-spacing: 0.2px; } .article-metadata-value { font-size: 12px; /* was 15px */ text-transform: capitalize; } .article-metadata-value a { color: #292828 !important; text-decoration: none; } /* 11) Images */ .article-metadata + .article-images { margin-top: 0 !important; padding-top: 0 !important; } .article-images { margin: 0 !important; padding-top: 0 !important; } .article-images .image-container { display: inline-flex; flex-direction: column; align-items: flex-start; margin: 0 !important; padding: 0 !important; } .article-images .image-container img, .image-container img { display: block; max-height: 45mm; /* was 85mm */ height: auto; width: auto; max-width: 100%; margin: 0 !important; padding: 0 !important; object-fit: contain; line-height: 0; } .caption-image1 { margin: 0 !important; padding: 0 !important; line-height: 1 !important; font-size: 9pt; color: #555; text-align: left; width: 100%; } .caption-image1:empty { display: none; } /* 12) Labels & bodies */ .article-label-description, .article-label-reflection, .article-label-external-reference, .article-label-quote, .article-label-modification-date { text-transform: uppercase; margin: 6px 0 0 0 !important; /* was 10px */ padding: 0 !important; text-indent: 28px; /* was 35px */ line-height: 1; font-size: 11px; /* was 14px */ letter-spacing: 0.3px; break-after: avoid; page-break-after: avoid; } .article-metadata + .article-label-description, .article-images + .article-label-description, .article-description + .article-label-reflection, .article-reflection + .article-label-external-reference, .article-external-reference + .article-label-quote, .article-quote + .article-label-modification-date { margin-top: 8px !important; /* was 10px */ } .article-description, .article-reflection, .article-external-reference, .article-quote, .article-mod-line { text-indent: 28px; /* was 35px */ line-height: 1.2; /* was 1.3 */ font-size: 14px; /* was 20px */ letter-spacing: 0.4px; /* was 0.8px */ margin-top: 0 !important; padding-top: 0 !important; } .article-label-description + .article-description, .article-label-reflection + .article-reflection, .article-label-external-reference + .article-external-reference, .article-label-quote + .article-quote, .article-label-modification-date + .article-modification-date { break-before: avoid; page-break-before: avoid; } /* 13) Quote */ .article-quote { font-size: 16px; /* was 26px */ line-height: 1.1; letter-spacing: 0.6px; font-style: italic; } /* 14) Mod line */ .article-mod-line { white-space: nowrap; color: grey; line-height: 1; font-size: 11px; /* was 14px */ letter-spacing: 0.3px; margin: 5px 0 0 0 !important; padding-top: 0!important; } .article-mod-line > span { display: inline; margin: 0; padding: 0; } .article-mod-line > span + span { margin-left: 6px; } .article-modification-date { font-size: 11px; letter-spacing: 0.3px; } /* 15) Vector resets */ .vector-body p { margin: 0 !important; padding: 0 !important; } /* 16) Links */ a[href]:after { content: none !important; } .article-external-reference a { word-break: break-word; overflow-wrap: anywhere; text-decoration: none; color: #292828 !important; font-size: 13px; /* was 17px */ line-height: 1.1; /* was 1 */ letter-spacing: 0; } /* 17) Page control */ #article-content { orphans: 2; widows: 2; } /* 18) Prevent bad splits */ #article-title, .article-title-link, .article-metadata, .article-images { break-inside: avoid; page-break-inside: avoid; } /* === Chrome/Blink-specific print overrides === */ @media print and (-webkit-min-device-pixel-ratio:0) { /* Let Chrome break more naturally — prevent giant gaps */ .article-label-description, .article-label-reflection, .article-label-external-reference, .article-label-quote, .article-label-modification-date { break-after: auto !important; page-break-after: auto !important; } .article-label-description + .article-description, .article-label-reflection + .article-reflection, .article-label-external-reference + .article-external-reference, .article-label-quote + .article-quote, .article-label-modification-date + .article-modification-date { break-before: auto !important; page-break-before: auto !important; } /* Help reduce awkward splits inside paragraphs */ .article-description p, .article-reflection p, .article-external-reference p, .article-quote p { page-break-inside: avoid; break-inside: avoid; } /* Optional emergency shrink for extreme cases (non‑standard) */ /* .entry-wrapper.print-a5 { zoom: 0.95; } */ }