]> git.plutz.net Git - serve0/blob - style.css
common screen scaling for tag boxes and thumbnails
[serve0] / style.css
1 body {
2   color: #EEE;
3   background-color: #000;
4   padding-bottom: 2.5em;
5 }
6
7 /* ====== TOP CONTROL BAR ====== */
8
9 #navigation {
10   text-align: center;
11   margin-bottom: 1em; padding: 0 2em;
12   background-color: #333;
13   box-shadow: .125em .125em .25em #000;
14 }
15 #navigation > a {
16   position: absolute; bottom: .25em;
17   padding: 0 .125em;
18   font-size: 1.5em;
19   text-decoration: none;
20 }
21 #navigation > a[href="#bookmarks"] { left: 0; }
22 #navigation > a[href="#prefs"] { right: 0; }
23
24 #bookmarks, #advsearch, #prefs, #multitag {
25   -display: none;
26   height: 0;
27   overflow: hidden;
28 }
29
30 #editing {
31   position: fixed;
32   bottom: 0; width: 100%;
33   padding: 0 .5em;
34   background-color: #333;
35 }
36
37 :target a[href="#"] {
38   position: absolute;
39   top: 0; right: 0;
40   font-size: 1.5em;
41   font-weight: bold;
42   text-decoration: none;
43   padding: 0 .25em;
44   z-index: 1;
45 }
46
47 /* ====== MAIN LIST VIEW ====== */
48
49 .itemlist { text-align: center; }
50 .itemlist > * { text-align: left; }
51 .itemlist .list {
52   display: inline-block;
53   vertical-align: top;
54   width: 99%;
55   -padding: 0 .25em;
56   margin: 0 .5%;
57   margin-bottom: 1em;
58 }
59
60 .itemlist .list img {
61   width: 100%; height: 11em;
62   background-color: #111;
63   object-fit: contain;
64 }
65 .itemlist .list label {
66   display: block;
67   font-weight: bolder;
68   word-break: break-word;
69 }
70 .itemlist .list .time,
71 .itemlist .list .dim {
72   position: absolute; top: 9.75em;
73   background-color: rgba(0,0,0,.5);
74   padding: .125em .25em;
75 }
76 .itemlist .list .time { right: 0; }
77 .itemlist .list .dim { left: 0; }
78 .itemlist .list input[type=checkbox] { display: none; }
79 .itemlist .list .tag,
80 .itemlist .list input[type=checkbox] + label {
81   display: inline-block;
82   background-color: #333;
83   margin-top: .125em;
84   margin-left: 0;
85   padding: 0 .25em;
86   border-radius: 1pt;
87 }
88 .itemlist .list input[type=checkbox]:checked + label {
89   background-color: #383;
90 }
91
92
93 /* ====== PAGINATION LIST ====== */
94
95 .pagination {
96   display: block;
97   font-size: 1.25em;
98   max-width: 98%;
99   margin: 0 auto;
100   padding: .25em 0;
101   background-color: #333;
102   border-radius: 2pt;
103 }
104 .pagination a {
105   display: inline-block;
106   padding: 0 .5em;
107   margin: 0 .5em;
108   border-radius: 2pt;
109 }
110 .pagination a.current {
111   background-color: #BBB;
112 }
113
114 /* ====== BOOKMARK PANEL ====== */
115
116 #bookmarks:target,
117 #prefs:target {
118   display: block; position: fixed;
119   top: 50%; left: 50%;
120   transform: translate( -50%, -50% );
121   width: 40em; max-width: 90%;
122   height: 30em; max-height: 90vh;
123   background-color: #333;
124   padding: 0 .5em;
125   z-index: 1;
126   box-shadow: .25em .25em .5em #000;
127   overflow-y: auto;
128 }
129
130 #bookmarks label {
131   display: block;
132   font-weight: bold;
133   font-size: 1.125em;
134   margin-left: 0;
135   margin-top: .75em;
136   word-break: break-word;
137 }
138
139 /* ====== ADVSEARCH / FILTER PANEL ====== */
140
141 #advsearch:target {
142   display: block; position: fixed;
143   top: 0; width: 100%;
144   height: 30em; max-height: 90vh;
145   background-color: #333;
146   padding: 0 .5em;
147   z-index: 1;
148   box-shadow: .25em .25em .5em #000;
149   overflow-y: auto;
150 }
151
152 -#advsearch { text-align: center; }
153 -#advsearch > * { text-align: left; }
154
155 #advsearch .help {
156   width: 95%;
157   margin: 1em auto; padding: 0 .5em;
158   background-color: #444;
159   white-space: pre-line;
160 }
161
162 #advsearch input.and + label {
163   display: inline-block;
164   vertical-align: top;
165   font-weight: bold;
166 }
167 #advsearch fieldset.select {
168   display: inline-block;
169   width: 99%;
170   margin: 0 .5%; margin-bottom: .75em; padding: 0 .375em;
171   box-shadow: .125em .125em .25em #000;
172 }
173
174 #advsearch fieldset.select > label.head {
175   display: none;
176   width: 40%;
177   text-align: right;
178 }
179 #advsearch fieldset.select > input.cat { display: none; }
180 #advsearch fieldset.select > input.cat + label + .catselect { display: none; }
181 #advsearch fieldset.select > input.cat + label {
182   display: block;
183   width: 40%;
184   margin: 0; padding: 0 .5em;
185   text-align: right;
186 }
187 #advsearch fieldset.select > input.cat:checked + label { background-color: #444; }
188 #advsearch fieldset.select > input.cat:checked + label + .catselect {
189   display: block; position: absolute;
190   top: 1.5em; bottom: 0; right: 0;
191   width: 60%;
192   padding: 0 .25em;
193   background-color: #444;
194   overflow-y: auto;
195 }
196 #advsearch fieldset.select > input.cat + label + .catselect > * {
197   display: block;
198   white-space: pre;
199 }
200
201 #advsearch input.and { display: none; }
202 #advsearch input.and + label { display: none; }
203 #advsearch input.and + label + fieldset { display: none; }
204 #advsearch input.and:checked + label + fieldset,
205 #advsearch input.and:first-of-type + label + fieldset { display: inline-block; }
206 #advsearch input.and:checked + label + fieldset + input + label,
207 #advsearch input.and:first-of-type + label + fieldset + input + label { display: inline-block; }
208 #advsearch input.and:checked + label + fieldset + input:checked + label { display: none; }
209 #advsearch input.and:first-of-type + label + fieldset + input:checked + label { display: none; }
210
211
212 /* ====== MULTITAG DIALOG ====== */
213
214 #multitag:target {
215   display: block; position: fixed;
216   bottom: 0; left: 0; width: 100%;
217   height: 30em; max-height: 90vh;
218   background-color: #333;
219   padding: 0 .5em;
220   z-index: 1;
221   box-shadow: .25em .25em .5em #000;
222   overflow-y: auto;
223 }
224
225 -#multitag { text-align: center; }
226 -#multitag > * { text-align: left; }
227
228 #multitag fieldset {
229   display: inline-block;
230   width: 99%;
231   margin: 0 .5%; margin-top: 1em;
232 }
233
234 #multitag fieldset select {
235   width: 100%; height: 10em;
236 }
237 #multitag fieldset .tagselect {
238   height: 10em;
239   background-color: #444;
240   overflow-y: auto;
241 }
242 #multitag fieldset .tagselect > label {
243   display: block;
244   white-space: pre;
245 }
246
247
248 /* ====== VIEW PAGE ====== */
249
250 body#view video {
251   display: block;
252   max-height: 80vh;
253   margin: 0 auto;
254 }
255
256 body#view .tag {
257   display: inline-block;
258   background-color: #333;
259   margin-top: .125em;
260   margin-left: 0;
261   padding: 0 .25em;
262   border-radius: 1pt;
263 }
264
265
266 /* ====== SCALE BLOCK ELEMENTS ====== */
267
268 @media(min-width:  20em) { .itemlist .list, #advsearch fieldset.select, #multitag fieldset { max-width: 49%; } }
269 @media(min-width:  40em) { .itemlist .list, #advsearch fieldset.select, #multitag fieldset { max-width: 32%; } }
270 @media(min-width:  60em) { .itemlist .list, #advsearch fieldset.select, #multitag fieldset { max-width: 24%; } }
271 @media(min-width:  80em) { .itemlist .list, #advsearch fieldset.select, #multitag fieldset { max-width: 19%; } }
272 @media(min-width: 100em) { .itemlist .list, #advsearch fieldset.select, #multitag fieldset { max-width: 19em; } }