Die Höhe des Aufmachers ist jetzt einstellbar

Vier Stufen unter Einstellungen → Verwaltung → Übersicht: niedrig, mittel,
hoch, sehr hoch. Mittel ist, was gestern fest verdrahtet war.

**Keine Pixelzahl.** Eine einzustellen hiesse, sie an jedem Bildschirm neu
einzustellen — der Aufmacher misst sich an der Fensterhöhe, nicht an einer
festen Grösse. Gemessen bei 800 Bildpunkten Fensterhöhe: 496, 576, 656,
736. Oben ist Schluss, bevor von der ersten Plakatreihe nichts mehr übrig
bleibt; sie soll zeigen, dass unten noch etwas kommt. Am Telefon bleibt es
flacher, dort wäre auch das weg.

**Sie reist mit der Systemauskunft mit**, nicht in einer eigenen Abfrage.
Die holt der Client ohnehin als Erstes, noch vor der Anmeldung; käme die
Höhe später, stünde der Aufmacher einen Augenblick in der Vorgabe und
spränge dann — genau das, was eine einstellbare Höhe vermeiden soll.
Gesetzt wird sie als Marke am `<html>`, das Regelwerk hängt vier Werte
daran.

Serverweit und nur für Admins, dieselbe Linie wie bei den
Wiedergaberegeln: eine Entscheidung des Gastgebers, nicht des Gastes.
Unbekanntes in der Spalte wird zur Vorgabe statt zu einem Fehler — eine
Startseite, die an einem alten Eintrag scheitert, wäre die schlechtere
Antwort.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Scarriffle
2026-10-07 18:32:10 +02:00
co-authored by Claude Opus 5
parent a7a4419626
commit cdea8e3b0a
6 changed files with 158 additions and 4 deletions
+46 -1
View File
@@ -498,6 +498,33 @@ svg { width: 20px; height: 20px; display: block; flex: none; }
.strip::-webkit-scrollbar { display: none; }
.strip > * { scroll-snap-align: start; }
/* **Ein Text, der beim Überfahren einen anderen zeigt.**
*
* Für die Auflösung: in Ruhe steht „Full HD" da, beim Überfahren „1080p ·
* 1920 × 800". Ein Tooltip täte dasselbe, aber verzögert, über der
* Nachbarzeile und am Finger gar nicht.
*
* **Beide liegen übereinander, nicht nacheinander.** Das Feld ist so breit
* wie der breitere der beiden — sonst rückte beim Überfahren die halbe
* Tabelle. Gerastert statt absolut positioniert, damit die Zeilenhöhe von
* selbst stimmt. */
.wechseltext { display: inline-grid; }
.wechseltext > span { grid-area: 1 / 1; transition: opacity .15s ease; }
.wechseltext > .genau { opacity: 0; color: var(--text-dim); }
@media (hover: hover) {
.wechseltext:hover > span { opacity: 0; }
.wechseltext:hover > .genau { opacity: 1; }
}
/* Ohne Zeiger lässt sich nichts überfahren — dort steht das Genaue
dauerhaft daneben, statt unerreichbar zu sein. */
@media (hover: none) {
.wechseltext { display: inline; }
.wechseltext > .genau { opacity: 1; }
.wechseltext > .genau::before { content: ' · '; }
}
/* ---------- Detailseite ---------- */
.detail { position: relative; }
@@ -1137,9 +1164,24 @@ body:has(.pl.pl-klein) .auswahlleiste { bottom: 92px; }
* Breite ist der grösste Einzelunterschied im Eindruck — und ein Layout-,
* kein Farbproblem. */
/* **Vier Stufen, serverweit eingestellt.**
*
* Eine Pixelzahl einzustellen hiesse, sie für jeden Bildschirm neu
* einzustellen — der Aufmacher misst sich an der Fensterhöhe. Vier Wörter
* sind das, was man dazu zu sagen hat, und `main.ts` setzt sie als Marke am
* `<html>`, sobald die Systemauskunft da ist.
*
* Die Mitte ist, was vorher fest verdrahtet war. Oben ist Schluss, bevor die
* erste Plakatreihe ganz unter den Falz rutscht: sie soll zeigen, dass unten
* noch etwas kommt. */
:root { --hero-hoehe: min(72vh, 640px); }
html[data-aufmacher="niedrig"] { --hero-hoehe: min(62vh, 560px); }
html[data-aufmacher="hoch"] { --hero-hoehe: min(82vh, 720px); }
html[data-aufmacher="sehrhoch"] { --hero-hoehe: min(92vh, 800px); }
.hero {
position: relative;
height: min(72vh, 640px);
height: var(--hero-hoehe);
/* Randlos: der Inhaltsbereich hat seitlich Polster, das Bild soll es
nicht haben. Negative Ränder statt eines eigenen Containers. */
margin: calc(var(--s-page) * -1) calc(var(--s-page) * -1) var(--s-section);
@@ -1334,6 +1376,9 @@ body:has(.pl.pl-klein) .auswahlleiste { bottom: 92px; }
@media (max-width: 860px) {
.hero {
/* Am Telefon eine Stufe tiefer als gewählt: dort ist der Aufmacher im
Verhältnis zum Bildschirm ohnehin höher, und über 60 vh bleibt von der
ersten Reihe nichts mehr übrig. */
height: min(52vh, 420px);
margin: calc(var(--s-loose) * -1) calc(var(--s-loose) * -1) var(--s-section);
}