|
8 | 8 | width: 100%;
|
9 | 9 | font-size: 80%;
|
10 | 10 | }
|
| 11 | + |
| 12 | + #metadata-block { |
| 13 | + margin: 4em 0; |
| 14 | + padding: 10px; |
| 15 | + border: 1px solid #ee8421; |
| 16 | + } |
| 17 | + #metadata-block h1 { |
| 18 | + font-size: 1.5em; |
| 19 | + margin-top: 0; |
| 20 | + } |
| 21 | + #metadata-block > ul { |
| 22 | + list-style-type: none; |
| 23 | + margin: 0; padding: 0; |
| 24 | + } |
| 25 | + |
| 26 | + #ecma-logo { |
| 27 | + width: 500px; |
| 28 | + } |
| 29 | + |
| 30 | + .corner-cell { |
| 31 | + position: relative; |
| 32 | + height: 2lh; |
| 33 | + } |
| 34 | + .corner-cell .slash { |
| 35 | + position: absolute; |
| 36 | + top: 0; |
| 37 | + left: 0; |
| 38 | + width: 100%; |
| 39 | + height: 100%; |
| 40 | + background: linear-gradient(to bottom left, transparent calc(50% - 1px), gray, transparent calc(50% + 1px)); |
| 41 | + } |
| 42 | + .corner-cell > .column { |
| 43 | + position: absolute; |
| 44 | + bottom: 0.4em; |
| 45 | + left: 1em; |
| 46 | + } |
| 47 | + .corner-cell > .row { |
| 48 | + position: absolute; |
| 49 | + top: 0.4em; |
| 50 | + right: 1em; |
| 51 | + } |
11 | 52 | </style>
|
12 |
| -<link rel="stylesheet" href="./print.css" media="print"> |
13 | 53 | <style media="print">
|
| 54 | + /** |
| 55 | + * ECMA-262-specific hacks. Shouldn't require a ton of maintenance; audit if |
| 56 | + * visual inspection results in unexpected page breaks. |
| 57 | + */ |
| 58 | + /* 2.2 Examples of legacy/normative-optional are small enough to be aggressive against breaks */ |
| 59 | + #sec-conformance [example], |
| 60 | + |
| 61 | + /* 8.3.3 avoid breaking in small alg lists */ |
| 62 | + #sec-static-semantics-containsundefinedcontinuetarget li, |
| 63 | + |
| 64 | + /* 16.2.1.5.4 many tables */ |
| 65 | + #table-module-graph-cycle-async-fields-1 table, |
| 66 | + #table-module-graph-cycle-async-fields-9 table { |
| 67 | + break-inside: avoid-page; |
| 68 | + } |
| 69 | + |
| 70 | + /* 12.10.1 long note can break wherever it wants */ |
| 71 | + #sec-rules-of-automatic-semicolon-insertion > emu-note { |
| 72 | + break-before: initial; |
| 73 | + break-inside: initial; |
| 74 | + } |
| 75 | + |
| 76 | + /* 12.10.2, 12.10.3, 12.10.3.2 Sections start with an <em> not inside a <p> */ |
| 77 | + #sec-examples-of-automatic-semicolon-insertion > em, |
| 78 | + #sec-interesting-cases-of-automatic-semicolon-insertion > em, |
| 79 | + #sec-asi-cases-with-no-lineterminator-here > em { |
| 80 | + display: block; |
| 81 | + margin-top: 1.25ex; |
| 82 | + } |
| 83 | + |
| 84 | + /* 15.1.2 bad spacing between intro and first emu-grammar */ |
| 85 | + #sec-static-semantics-containsexpression > emu-grammar:first-of-type { |
| 86 | + margin-top: 2ex; |
| 87 | + } |
| 88 | + |
| 89 | + /* 15.3 A very long term combined with inline-block, nowrap, and justified text resulting in weird punctuation */ |
| 90 | + #sec-arrow-function-definitions > p > emu-grammar { |
| 91 | + text-align: left; |
| 92 | + } |
| 93 | + |
| 94 | + /* 16.2.1.5.4 squish margins on graphics so table 46 fits on one page */ |
| 95 | + #sec-example-cyclic-module-record-graphs figure:has(> img), |
| 96 | + #sec-example-cyclic-module-record-graphs figure > img { |
| 97 | + margin: 0; |
| 98 | + } |
| 99 | + #sec-example-cyclic-module-record-graphs figure:has(> img) > figcaption { |
| 100 | + margin-bottom: 1ex; |
| 101 | + } |
| 102 | + #sec-example-cyclic-module-record-graphs emu-figure:has(> figure > img) + p { |
| 103 | + margin-top: 1ex; |
| 104 | + } |
| 105 | + |
| 106 | + /* 16.2.1.5.4 table 51 & 54 are too narrow for caption */ |
| 107 | + #table-module-graph-cycle-async-fields-6 table { |
| 108 | + width: 110mm; |
| 109 | + } |
| 110 | + #table-module-graph-cycle-async-fields-9 table { |
| 111 | + width: 135mm; |
| 112 | + } |
| 113 | + |
| 114 | + /* 20.1.3.7 legacy title */ |
| 115 | + #sec-object\.prototype\.__proto__ > .attributes-tag { |
| 116 | + break-before: avoid-page; |
| 117 | + break-after: avoid-page; |
| 118 | + } |
| 119 | + |
| 120 | + /* 21.4.1.22 Table 61 middle column is too narrow */ |
| 121 | + #table-time-zone-identifier-record-fields > figure > table th:nth-of-type(2) { |
| 122 | + width: 15%; |
| 123 | + } |
| 124 | + |
| 125 | + /* 21.4.4.41.2 These tables are way too narrow for their captions */ |
| 126 | + #sec-todatestring-day-names table, |
| 127 | + #sec-todatestring-month-names table { |
| 128 | + width: 100mm; |
| 129 | + } |
| 130 | + |
| 131 | + /* 27.2.6 squeeze to make more room for figure-2.svg */ |
| 132 | + #table-internal-slots-of-promise-instances > figure { |
| 133 | + margin-bottom: 0; |
| 134 | + } |
| 135 | + |
| 136 | + /* 27.3 fit generator objects relationships diagram */ |
| 137 | + #sec-generatorfunction-objects, |
| 138 | + #sec-generatorfunction-objects h1 { |
| 139 | + margin-top: 1.5ex; |
| 140 | + } |
| 141 | + |
| 142 | + /* 27.3 `figure-2.svg` is just a tiny bit too big to fit on the page, results in weird white space */ |
| 143 | + #figure-2 figure { |
| 144 | + margin: 1ex 0; |
| 145 | + } |
| 146 | + #figure-2 > figure > img { |
| 147 | + width: 97%; |
| 148 | + } |
| 149 | + |
| 150 | + /* 29.11 extremely long note */ |
| 151 | + #sec-shared-memory-guidelines > emu-note { |
| 152 | + break-inside: auto; |
| 153 | + } |
| 154 | + |
14 | 155 | .unicode-property-table {
|
15 | 156 | table-layout: initial;
|
16 | 157 | width: auto;
|
|
0 commit comments