|
3 | 3 | /* This theme applies to the eBook page sizes: Device 16x9 (Landscape and Portrait) |
4 | 4 | and the StoryWeaver Ebook sizes (Ebook2x3 Portrait and Ebook7x5 Landscape). */ |
5 | 5 |
|
| 6 | +/* Every rule here applies equally to the Ebook* and Device* page sizes. Rather than repeat |
| 7 | + each (often long) selector once per size, we factor the size classes into a single :is() |
| 8 | + (or :where(), where zero specificity is wanted). :is()/:where() take the specificity of |
| 9 | + their most specific argument, so combining same-specificity size classes this way does not |
| 10 | + change which rules win. */ |
| 11 | + |
6 | 12 | /* The below statements control the size and color of the marginbox. It holds the text and picture of that page. |
7 | 13 | * The top and left numbers determine the position of the margin box on the page. */ |
8 | 14 |
|
9 | | -[class*="Ebook"].numberedPage:not(.bloom-interactive-page), |
10 | | -[class*="Device"].numberedPage:not(.bloom-interactive-page) { |
| 15 | +:is([class*="Ebook"], [class*="Device"]).numberedPage:not( |
| 16 | + .bloom-interactive-page |
| 17 | + ) { |
11 | 18 | --page-margin-top: 2mm; |
12 | 19 | --page-margin-bottom: 2mm; |
13 | 20 | --page-margin-left: 2mm; |
|
26 | 33 | } |
27 | 34 |
|
28 | 35 | /* using "where:" so that the user's custom appearance can override the theme if specified */ |
29 | | -.numberedPage:where([class*="Ebook"]:not(.bloom-interactive-page)), |
30 | | -.numberedPage:where([class*="Device"]:not(.bloom-interactive-page)) { |
| 36 | +.numberedPage:where( |
| 37 | + [class*="Ebook"]:not(.bloom-interactive-page), |
| 38 | + [class*="Device"]:not(.bloom-interactive-page) |
| 39 | +) { |
31 | 40 | --topLevel-text-padding: 0.5em; |
32 | 41 | } |
33 | | -[class*="Ebook"].numberedPage:not(.bloom-interactive-page), |
34 | | -[class*="Device"].numberedPage:not(.bloom-interactive-page) { |
| 42 | +:is([class*="Ebook"], [class*="Device"]).numberedPage:not( |
| 43 | + .bloom-interactive-page |
| 44 | + ) { |
35 | 45 | --pageNumber-extra-height: 0mm !important; /* we put the page number on top of the image so we don't need a margin boost */ |
36 | 46 | --pageNumber-outline-color: white; |
37 | 47 | } |
38 | | -[class*="Ebook"].numberedPage:not(.bloom-interactive-page)::after, |
39 | | -[class*="Device"].numberedPage:not(.bloom-interactive-page)::after { |
| 48 | +:is([class*="Ebook"], [class*="Device"]).numberedPage:not( |
| 49 | + .bloom-interactive-page |
| 50 | + )::after { |
40 | 51 | --pageNumber-bottom: var(--page-margin-bottom); |
41 | 52 | --pageNumber-top: unset; |
42 | 53 | --pageNumber-font-size: 11pt; |
|
54 | 65 |
|
55 | 66 | /* Rules for rounding the corner of images */ |
56 | 67 | /* Picture on left */ |
57 | | -.Ebook7x5Landscape.numberedPage |
58 | | - .marginBox |
59 | | - > .vertical-percent |
60 | | - > .position-left |
61 | | - > .split-pane-component-inner |
62 | | - > .bloom-canvas, |
63 | | -.Device16x9Landscape.numberedPage |
| 68 | +:is(.Ebook7x5Landscape, .Device16x9Landscape).numberedPage |
64 | 69 | .marginBox |
65 | 70 | > .vertical-percent |
66 | 71 | > .position-left |
|
70 | 75 | var(--marginBox-border-radius); /* left corners */ |
71 | 76 | } |
72 | 77 | /* Picture on right */ |
73 | | -.Ebook7x5Landscape.numberedPage |
74 | | - .marginBox |
75 | | - > .vertical-percent |
76 | | - > .position-right |
77 | | - > .split-pane-component-inner |
78 | | - > .bloom-canvas, |
79 | | -.Device16x9Landscape.numberedPage |
| 78 | +:is(.Ebook7x5Landscape, .Device16x9Landscape).numberedPage |
80 | 79 | .marginBox |
81 | 80 | > .vertical-percent |
82 | 81 | > .position-right |
|
86 | 85 | var(--marginBox-border-radius) 0px; /* right corners */ |
87 | 86 | } |
88 | 87 | /* Picture on top */ |
89 | | -.Ebook2x3Portrait.numberedPage |
90 | | - .marginBox |
91 | | - > .horizontal-percent |
92 | | - > .position-top |
93 | | - > .split-pane-component-inner |
94 | | - > .bloom-canvas, |
95 | | -.Device16x9Portrait.numberedPage |
| 88 | +:is(.Ebook2x3Portrait, .Device16x9Portrait).numberedPage |
96 | 89 | .marginBox |
97 | 90 | > .horizontal-percent |
98 | 91 | > .position-top |
|
102 | 95 | var(--marginBox-border-radius) 0px 0px; /* top corners */ |
103 | 96 | } |
104 | 97 | /* Picture on bottom */ |
105 | | -.Ebook2x3Portrait.numberedPage |
106 | | - .marginBox |
107 | | - > .horizontal-percent |
108 | | - > .position-bottom |
109 | | - > .split-pane-component-inner |
110 | | - > .bloom-canvas, |
111 | | -.Device16x9Portrait.numberedPage |
| 98 | +:is(.Ebook2x3Portrait, .Device16x9Portrait).numberedPage |
112 | 99 | .marginBox |
113 | 100 | > .horizontal-percent |
114 | 101 | > .position-bottom |
|
118 | 105 | var(--marginBox-border-radius); /* bottom corners */ |
119 | 106 | } |
120 | 107 | /* Picture only */ |
121 | | -[class*="Ebook"].numberedPage |
122 | | - .marginBox |
123 | | - > .split-pane-component-inner |
124 | | - > .bloom-canvas, |
125 | | -[class*="Device"].numberedPage |
| 108 | +:is([class*="Ebook"], [class*="Device"]).numberedPage |
126 | 109 | .marginBox |
127 | 110 | > .split-pane-component-inner |
128 | 111 | > .bloom-canvas { |
|
131 | 114 |
|
132 | 115 | /* End Rules for rounding the corner of images */ |
133 | 116 |
|
134 | | -.Ebook7x5Landscape.numberedPage.pictureOnRight.pictureOnRight::after, |
135 | | -.Device16x9Landscape.numberedPage.pictureOnRight.pictureOnRight::after { |
| 117 | +:is( |
| 118 | + .Ebook7x5Landscape, |
| 119 | + .Device16x9Landscape |
| 120 | + ).numberedPage.pictureOnRight.pictureOnRight::after { |
136 | 121 | --pageNumber-right-margin: var(--page-margin-right); |
137 | 122 | --pageNumber-left-margin: deliberately-invalid; /* prevents left being set at all. unset does not work. Prevent centering for this layout */ |
138 | 123 | --pageNumber-always-left-margin: deliberately-invalid; /* prevents left being set at all. unset does not work. Prevent centering for this layout */ |
|
0 commit comments