UNPKG

ecmarkup

Version:

Custom element definitions and core utilities for markup that specifies ECMAScript and related technologies.

193 lines (167 loc) 3.24 kB
body { font-family: Arial; font-size: 10pt; background: #fff; color: #000; } .title { font-family: Verdana; } p { text-align: justify; text-rendering: optimizeLegibility; text-wrap: pretty; overflow-wrap: break-word; hyphens: auto; orphans: 2; widows: 2; } h1 { text-wrap: balance; line-height: 1.4; } emu-note p, emu-table td p { text-align: left; hyphens: manual; overflow: hidden; } emu-table td, emu-table th { overflow-wrap: break-word; } emu-table table { table-layout: auto; width: 100%; } emu-figure img { max-width: 100%; height: auto; } #spec-container { max-width: none; } #toc a[href] { background: #fff; padding-right: 0.5em; } #toc a[href]::after { content: /* leader(dotted) */ target-counter(attr(href), page); float: right; padding-left: 0.5em; background: #fff; } /* NOTE: hacks because Paged.js doesn't support leader() in content directives */ #toc ol { overflow-x: hidden; } #toc ol li:before { float: left; width: 0; white-space: nowrap; content: '. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ' '. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ' '. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .'; } /* skip the Introduction since it's before the first emu-clause (and therefore doesn't have a proper page number) */ #toc > ol > li:first-child { display: none; } #toc, #spec-container > emu-intro, #spec-container > emu-annex { break-before: recto; break-after: always; } /* according to Ecma guidelines, we're actually not supposed to break before every clause (only the first), but Paged.js fails if we do that */ /* so instead, just break before any of the clauses that have sub-clauses */ #spec-container > emu-clause:has(emu-clause:not([example])) { break-before: always; } #spec-container > emu-clause:first-of-type { break-before: recto; } emu-note, emu-note p, emu-table tr, emu-table th, emu-table td, emu-alg li, pre, h1 { break-inside: avoid; } emu-table thead, h1, figcaption, emu-alg > ol > li:first-child { break-after: avoid; } emu-grammar + emu-alg, figcaption + emu-table, figcaption + span[id] + emu-table, emu-alg > ol > li:last-child { break-before: avoid; } a[data-print-href]::after { content: ' <' attr(href) '>'; color: initial; } emu-table thead { display: table-header-group; } emu-table tfoot { display: table-footer-group; } @page { size: A4; } @page { @top-center { content: url(img/ecma-header.png); } } @page :first { @top-center { content: none; } } :root { --page-number-style: decimal; } #toc { page: toc; } @page toc { --page-number-style: lower-roman; } emu-intro { page: intro; } @page intro { --page-number-style: lower-roman; } #toc { counter-reset: page 1; } #spec-container > emu-clause:first-of-type { counter-reset: page 1; } @page :left { @bottom-left { content: counter(page, var(--page-number-style)); } } @page :right { @bottom-right { content: counter(page, var(--page-number-style)); } } @page :first { @bottom-left { content: ''; } @bottom-right { content: ''; } }