diff options
Diffstat (limited to 'src/public/styles.css')
-rw-r--r-- | src/public/styles.css | 225 |
1 files changed, 210 insertions, 15 deletions
diff --git a/src/public/styles.css b/src/public/styles.css index fcb0752..d9f6a40 100644 --- a/src/public/styles.css +++ b/src/public/styles.css | |||
@@ -47,6 +47,30 @@ body { | |||
47 | color: var(--text-color); | 47 | color: var(--text-color); |
48 | } | 48 | } |
49 | 49 | ||
50 | body:has(details.card[open]) { | ||
51 | overflow: hidden; | ||
52 | } | ||
53 | |||
54 | body.media-maximized { | ||
55 | /* Fix for Safari User Agent stylesheet */ | ||
56 | margin: 0; | ||
57 | } | ||
58 | |||
59 | body.media-maximized.zoom, | ||
60 | div.media-maximized.container.zoom { | ||
61 | overflow: auto; | ||
62 | } | ||
63 | |||
64 | img.media-maximized { | ||
65 | cursor: zoom-in; | ||
66 | } | ||
67 | |||
68 | img.media-maximized.zoom { | ||
69 | max-width: unset; | ||
70 | max-height: unset; | ||
71 | cursor: zoom-out; | ||
72 | } | ||
73 | |||
50 | main { | 74 | main { |
51 | display: flex; | 75 | display: flex; |
52 | flex-direction: column; | 76 | flex-direction: column; |
@@ -58,6 +82,7 @@ main { | |||
58 | .info-container a, | 82 | .info-container a, |
59 | .comment-info-container a, | 83 | .comment-info-container a, |
60 | .sort-opts a, | 84 | .sort-opts a, |
85 | .view-opts a, | ||
61 | .more a | 86 | .more a |
62 | { | 87 | { |
63 | text-decoration: none; | 88 | text-decoration: none; |
@@ -92,21 +117,28 @@ a:visited { | |||
92 | align-items: center; | 117 | align-items: center; |
93 | } | 118 | } |
94 | 119 | ||
95 | .sorting { | 120 | .sorting, |
121 | .viewing { | ||
96 | margin-top: 20px; | 122 | margin-top: 20px; |
97 | } | 123 | } |
98 | 124 | ||
99 | .sort-opts { | 125 | .sort-opts, |
126 | .view-opts { | ||
100 | display: grid; | 127 | display: grid; |
101 | margin: 10px; | 128 | margin: 10px; |
102 | } | 129 | } |
103 | 130 | ||
104 | .sort-opts { | 131 | .sort-opts, |
132 | .view-opts { | ||
105 | grid-template-columns: repeat(2, 1fr); | 133 | grid-template-columns: repeat(2, 1fr); |
106 | grid-template-rows: repeat(5, 1fr); | 134 | grid-template-rows: repeat(5, 1fr); |
107 | grid-auto-flow: column; | 135 | grid-auto-flow: column; |
108 | } | 136 | } |
109 | 137 | ||
138 | .view-opts { | ||
139 | grid-template-rows: repeat(2, 1fr); | ||
140 | } | ||
141 | |||
110 | .footer { | 142 | .footer { |
111 | display: flex; | 143 | display: flex; |
112 | flex-direction: row; | 144 | flex-direction: row; |
@@ -135,6 +167,91 @@ nav { | |||
135 | font-size: 0.9rem; | 167 | font-size: 0.9rem; |
136 | } | 168 | } |
137 | 169 | ||
170 | .post-container.card { | ||
171 | border: 1px solid var(--bg-color-muted); | ||
172 | border-radius: 8px; | ||
173 | display: block; | ||
174 | } | ||
175 | |||
176 | .post-text.card { | ||
177 | padding: 0.9rem; | ||
178 | padding-top: 0.3rem; | ||
179 | } | ||
180 | |||
181 | .self-text-overflow.card { | ||
182 | /* For spoiler positioning */ | ||
183 | position: relative; | ||
184 | padding-top: 0.3rem; | ||
185 | max-height: 10vh; | ||
186 | overflow: hidden; | ||
187 | overflow-wrap: break-word; | ||
188 | display: block; | ||
189 | } | ||
190 | |||
191 | .self-text.card { | ||
192 | overflow: hidden; | ||
193 | display: -webkit-box; | ||
194 | /* Safari on iOS <= 17 */ | ||
195 | -webkit-box-orient: vertical; | ||
196 | -webkit-line-clamp: 3; | ||
197 | line-clamp: 3; | ||
198 | text-overflow: ellipsis; | ||
199 | } | ||
200 | |||
201 | .media-preview.card { | ||
202 | position: relative; | ||
203 | padding: 0.3rem; | ||
204 | padding-bottom: 0.3rem; | ||
205 | } | ||
206 | |||
207 | .media-preview.card > img { | ||
208 | cursor: pointer; | ||
209 | } | ||
210 | |||
211 | .gallery.card { | ||
212 | align-items: center; | ||
213 | scroll-snap-type: both mandatory; | ||
214 | } | ||
215 | |||
216 | .gallery-item.card { | ||
217 | max-width: 100%; | ||
218 | width: 100%; | ||
219 | scroll-snap-align: center; | ||
220 | } | ||
221 | |||
222 | .gallery-item-idx.card { | ||
223 | text-align: center; | ||
224 | } | ||
225 | |||
226 | .spoiler { | ||
227 | background-color: rbga(var(--bg-color-muted), 0.2); | ||
228 | /* Safari on iOS <= 17 */ | ||
229 | -webkit-backdrop-filter: blur(3rem); | ||
230 | backdrop-filter: blur(3rem); | ||
231 | border-radius: 4px; | ||
232 | |||
233 | position: absolute; | ||
234 | top: 0; | ||
235 | left: 0; | ||
236 | |||
237 | box-sizing: border-box; | ||
238 | display: flex; | ||
239 | height: 100%; | ||
240 | width: 100%; | ||
241 | |||
242 | justify-content: center; | ||
243 | align-items: center; | ||
244 | |||
245 | cursor: pointer; | ||
246 | |||
247 | z-index: 10; | ||
248 | } | ||
249 | |||
250 | .gallery-item-idx.card, | ||
251 | .spoiler > h2 { | ||
252 | text-shadow: 0.1rem 0.1rem 1rem var(--bg-color-muted); | ||
253 | } | ||
254 | |||
138 | .comments-container { | 255 | .comments-container { |
139 | font-size: 0.9rem; | 256 | font-size: 0.9rem; |
140 | } | 257 | } |
@@ -179,21 +296,44 @@ summary::before { | |||
179 | height: 4rem; | 296 | height: 4rem; |
180 | } | 297 | } |
181 | 298 | ||
299 | .media-preview.card { | ||
300 | padding: unset; | ||
301 | } | ||
302 | |||
303 | .media-preview.card img, | ||
304 | .media-preview.card video { | ||
305 | border-radius: 6px; | ||
306 | |||
307 | max-height: 40vh; | ||
308 | max-width: 95%; | ||
309 | |||
310 | display: block; | ||
311 | width: unset; | ||
312 | height: unset; | ||
313 | margin-left: auto; | ||
314 | margin-right: auto; | ||
315 | margin-bottom: 0.5rem; | ||
316 | |||
317 | object-fit: fill; | ||
318 | } | ||
319 | |||
320 | .media-preview.card a { | ||
321 | font-size: 1.5rem; | ||
322 | padding: unset; | ||
323 | padding-left: 1rem; | ||
324 | } | ||
325 | |||
326 | .media-preview.card a:has(img) { | ||
327 | font-size: 0rem; | ||
328 | padding: unset; | ||
329 | } | ||
330 | |||
182 | .media-preview a { | 331 | .media-preview a { |
183 | font-size: 2rem; | 332 | font-size: 2rem; |
184 | text-decoration: none; | 333 | text-decoration: none; |
185 | padding: 1rem; | 334 | padding: 1rem; |
186 | } | 335 | } |
187 | 336 | ||
188 | .media-maximized-container { | ||
189 | display: flex; | ||
190 | justify-content: center; | ||
191 | align-items: center; | ||
192 | width: 100vw; | ||
193 | height: 100vh; | ||
194 | overflow: hidden; | ||
195 | } | ||
196 | |||
197 | .media-maximized { | 337 | .media-maximized { |
198 | max-width: 100vw; | 338 | max-width: 100vw; |
199 | max-height: 100vh; | 339 | max-height: 100vh; |
@@ -204,6 +344,15 @@ summary::before { | |||
204 | object-fit: contain; | 344 | object-fit: contain; |
205 | } | 345 | } |
206 | 346 | ||
347 | .media-maximized.container { | ||
348 | display: flex; | ||
349 | justify-content: center; | ||
350 | align-items: center; | ||
351 | width: 100vw; | ||
352 | height: 100vh; | ||
353 | overflow: hidden; | ||
354 | } | ||
355 | |||
207 | .post-author { | 356 | .post-author { |
208 | display: none | 357 | display: none |
209 | } | 358 | } |
@@ -233,6 +382,20 @@ form { | |||
233 | width: 5rem; | 382 | width: 5rem; |
234 | height: 5rem; | 383 | height: 5rem; |
235 | } | 384 | } |
385 | .media-preview.card img, | ||
386 | .media-preview.card video | ||
387 | { | ||
388 | max-height: 50vh; | ||
389 | } | ||
390 | .media-preview.card a { | ||
391 | font-size: 1rem; | ||
392 | margin: 0.7rem; | ||
393 | padding: initial; | ||
394 | } | ||
395 | .self-text.card { | ||
396 | -webkit-line-clamp: 4; | ||
397 | line-clamp: 4; | ||
398 | } | ||
236 | .post-author { | 399 | .post-author { |
237 | display: inline | 400 | display: inline |
238 | } | 401 | } |
@@ -242,7 +405,8 @@ form { | |||
242 | form { | 405 | form { |
243 | width: 40%; | 406 | width: 40%; |
244 | } | 407 | } |
245 | .sort-opts { | 408 | .sort-opts, |
409 | .view-opts { | ||
246 | grid-template-columns: repeat(9, 1fr); | 410 | grid-template-columns: repeat(9, 1fr); |
247 | grid-template-rows: repeat(1, 1fr); | 411 | grid-template-rows: repeat(1, 1fr); |
248 | grid-auto-flow: row; | 412 | grid-auto-flow: row; |
@@ -260,10 +424,24 @@ form { | |||
260 | width: 5rem; | 424 | width: 5rem; |
261 | height: 5rem; | 425 | height: 5rem; |
262 | } | 426 | } |
427 | .media-preview.card img, | ||
428 | .media-preview.card video | ||
429 | { | ||
430 | max-height: 30vh; | ||
431 | } | ||
263 | .media-preview a { | 432 | .media-preview a { |
264 | font-size: 2rem; | 433 | font-size: 2rem; |
265 | padding: 2rem; | 434 | padding: 2rem; |
266 | } | 435 | } |
436 | .media-preview.card a { | ||
437 | font-size: 1rem; | ||
438 | margin: 0.5rem; | ||
439 | padding: initial; | ||
440 | } | ||
441 | .self-text.card { | ||
442 | -webkit-line-clamp: 6; | ||
443 | line-clamp: 6; | ||
444 | } | ||
267 | .post-author { | 445 | .post-author { |
268 | display: inline | 446 | display: inline |
269 | } | 447 | } |
@@ -273,7 +451,8 @@ form { | |||
273 | form { | 451 | form { |
274 | width: 20%; | 452 | width: 20%; |
275 | } | 453 | } |
276 | .sort-opts { | 454 | .sort-opts, |
455 | .view-opts { | ||
277 | grid-template-columns: repeat(9, 1fr); | 456 | grid-template-columns: repeat(9, 1fr); |
278 | grid-template-rows: repeat(1, 1fr); | 457 | grid-template-rows: repeat(1, 1fr); |
279 | grid-auto-flow: row; | 458 | grid-auto-flow: row; |
@@ -285,7 +464,13 @@ form { | |||
285 | flex: 1 1 40%; | 464 | flex: 1 1 40%; |
286 | width: 40%; | 465 | width: 40%; |
287 | } | 466 | } |
288 | .sort-opts { | 467 | .media-preview.card img, |
468 | .media-preview.card video | ||
469 | { | ||
470 | max-height: 20vh; | ||
471 | } | ||
472 | .sort-opts, | ||
473 | .view-opts { | ||
289 | grid-template-columns: repeat(9, 1fr); | 474 | grid-template-columns: repeat(9, 1fr); |
290 | grid-template-rows: repeat(1, 1fr); | 475 | grid-template-rows: repeat(1, 1fr); |
291 | grid-auto-flow: row; | 476 | grid-auto-flow: row; |
@@ -353,6 +538,11 @@ form { | |||
353 | text-decoration: none; | 538 | text-decoration: none; |
354 | } | 539 | } |
355 | 540 | ||
541 | .title-container.card > a { | ||
542 | font-size: 1.125rem; | ||
543 | font-weight: bold; | ||
544 | } | ||
545 | |||
356 | .title-container > a:hover { | 546 | .title-container > a:hover { |
357 | text-decoration: underline; | 547 | text-decoration: underline; |
358 | } | 548 | } |
@@ -363,6 +553,7 @@ form { | |||
363 | 553 | ||
364 | .header a, | 554 | .header a, |
365 | .sort-opts a, | 555 | .sort-opts a, |
556 | .view-opts a, | ||
366 | .sub-title a { | 557 | .sub-title a { |
367 | color: var(--text-color); | 558 | color: var(--text-color); |
368 | } | 559 | } |
@@ -630,3 +821,7 @@ select { | |||
630 | border-radius: 2px; | 821 | border-radius: 2px; |
631 | border: 4px solid var(--sticky-color); | 822 | border: 4px solid var(--sticky-color); |
632 | } | 823 | } |
824 | |||
825 | .inline { | ||
826 | max-width: 100%; | ||
827 | } | ||