Der schwarze Bildschirm: der Dialog stand ausserhalb des Fensters
Patrick ueber den Support: „Sophie kann Abschnitt 3 und 4 nicht
bestaetigen, beim druecken kommt ein schwarzer Bildschirm."
DER DIALOG WAR DIE GANZE ZEIT DA -- nur nicht im Bild. Nachgebaut auf
einer KOPIE der echten Datenbank, mit einem echten Browser, und dann
gemessen statt vermutet:
position absolute statt fixed
oben im Fenster -143 px also oberhalb des Sichtbaren
`module.css` setzte `.dialog { position: relative }`. Damit war die
Zentrierung des Browsers ueberschrieben: Ein Dialog aus `showModal()`
gehoert mit `position: fixed` in die Mitte des SICHTBAREN FENSTERS,
mit `relative` landet er im Dokumentfluss nahe dem SEITENANFANG. Wer
nach unten gescrollt hatte, sah nur noch den abdunkelnden Schleier --
einen schwarzen Bildschirm.
WARUM AUSGERECHNET „ABSCHNITT 3 UND 4"
Gar nicht wegen dieser beiden. Sophie hatte 1 und 2 schon bestaetigt,
dort gibt es keinen Knopf mehr -- 3 und 4 waren die einzigen, die sie
ueberhaupt noch druecken konnte, und sie stehen am weitesten unten.
Der Fehler hing nie an den Abschnitten, sondern an der Scrollhoehe.
Haette ich die Meldung woertlich genommen und in den Unterweisungen
gesucht, haette ich an der falschen Stelle gegraben.
ES BETRAF JEDEN DIALOG IM HAUS
22 Aufrufe von `showModal()` in 10 Dateien -- vom Loeschen einer Datei
ueber das Bearbeiten einer Aufgabe bis zum Eintragen eines
Monatsziels. Auf kurzen Seiten fiel es nie auf, weil dort niemand
scrollt. Keine einzige Pruefung im Haus hatte je einen Dialog
geoeffnet, NACHDEM sie gescrollt hat.
`relative` stand dort fuer die beiden Pseudo-Elemente (Leuchtschiene
und Lichtsaum) -- die brauchen einen positionierten Vorfahren, und
`fixed` ist ebenfalls einer. `inset: 0` und `margin: auto` schreiben
die Zentrierung jetzt ausdruecklich hin, statt sich auf eine Vorgabe
zu verlassen, die diese Datei selbst ueberschreibt.
WAS ICH FAST KAPUTT GEMACHT HAETTE
Mein erster Entwurf setzte zusaetzlich `max-height` und
`overflow: auto` auf den Dialog. Das waere ein Rueckschritt gewesen:
Das Rollen ist eine Ebene tiefer laengst geloest (`.dialog > form`),
gemessen am 25.09.2026 ueber vier Bildschirmgroessen, nachdem Miss
gemeldet hatte, dass sie aus einem Fenster nicht mehr herauskam. Dort
haengen auch die festen Kopf- und Fusszeilen -- und `position: sticky`
gilt immer zum naechsten rollenden Vorfahren. Ein zweiter Rollbereich
darueber haette genau die wieder geloest. Wieder entfernt;
`mess-dialog-ausgang` meldet unveraendert auf allen vier Groessen
„Kommt man heraus? JA".
NEU: pruef-dialog-sichtbar.mjs (18 Pruefungen, 0 Fehler)
Drei Ebenen, und die unterste allein waere zu wenig:
* Im Quelltext: keine Regel darf `.dialog` wieder aus dem Fenster
nehmen -- in ALLEN Stilvorlagen, nicht nur in module.css.
* Am echten Bildschirm: zwei verschiedene Dialoge auf zwei
verschiedenen Seiten, je auf Computer und Handy, jedes Mal ganz
nach unten gescrollt (663 bis 1216 px).
* Die Gegenprobe: Ein aus dem Fenster geschobener Dialog MUSS
auffallen. Ohne sie waere „er steht im Bild" womoeglich eine
Zeile, die immer wahr ist.
DREI MEINER EIGENEN MESSUNGEN WAREN ZUERST FALSCH, nicht der Code:
Die Textsuche fand Kommentare und `.dialog > *` (die Kinder DUERFEN
relativ sein); die Schulungstabellen entstehen erst beim ersten
Zugriff; und die Auswahl fuer den zweiten Dialog war seit dem
Schnell-Eintrag veraltet -- der erste Knopf oeffnet dort gar keinen
Dialog mehr. Alle drei berichtigt, bevor sie als Befund durchgingen.
NICHT VON MIR, aber beim Nachmessen aufgefallen: pruef-css-klassen
meldet 44 statt 42 Schriftgroessen unter 11,5 px (uebersicht.css,
wissen.css). Meine Aenderung fasst keine einzige Schriftgroesse an --
module.css hat vorher wie nachher denselben Wert. Der Befund ist
aelter und gehoert nicht hierher.
Co-Authored-By: Claude Opus 5 <[email protected]>
This commit is contained in:
+16
-16
@@ -12,20 +12,20 @@
|
||||
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
|
||||
eine Flaeche sind statt zweier. -->
|
||||
<meta name="theme-color" content="#06090f" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610051234" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610051234" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202610051234" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202610051234" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610051234" />
|
||||
<link rel="stylesheet" href="assets/css/scouting.css?v=202610051234" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202610051234" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610051932" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610051932" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202610051932" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202610051932" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610051932" />
|
||||
<link rel="stylesheet" href="assets/css/scouting.css?v=202610051932" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202610051932" />
|
||||
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
|
||||
Auf der Agenturadresse ist sie leer -- das Haus hier IST der
|
||||
Grundzustand. Auf der Adresse von Team Dogi biegt der Server
|
||||
genau diesen Dateinamen auf crew-haus.css um, und die Seite
|
||||
kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
|
||||
ohne Umfaerben im Browser, ohne Flackern. -->
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202610051234" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202610051932" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -173,14 +173,14 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script src="assets/js/meldung.js?v=202610051234" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202610051234" defer></script>
|
||||
<script src="assets/js/meldung.js?v=202610051932" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202610051932" defer></script>
|
||||
|
||||
<script src="assets/js/wahl.js?v=202610051234" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202610051234" defer></script>
|
||||
<script src="assets/js/installieren.js?v=202610051234" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202610051234" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202610051234" defer></script>
|
||||
<script src="assets/js/scouting.js?v=202610051234" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202610051932" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202610051932" defer></script>
|
||||
<script src="assets/js/installieren.js?v=202610051932" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202610051932" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202610051932" defer></script>
|
||||
<script src="assets/js/scouting.js?v=202610051932" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
Reference in New Issue
Block a user