Files
dogfather-universe/workspace/willkommen.html
T
DogFatherGit 7351820c55 Der Waechter gegen Namensstreit gilt jetzt fuer das ganze Haus
Er wurde gestern fuer `reaktion.css` gebaut, nachdem `.stufen` dort
zweimal stand und die Stufenleiter der Spenden dadurch das Aussehen
der Chat-Leiste bekam -- drei Stufen nebeneinander, 572 Pixel in
einer 327 Pixel schmalen Spalte, mit der waagerechten Rollleiste auf
Filipes Bildschirmfoto.

Eine Wache, die nur eine Datei ansieht, findet genau die Fehler
dieser einen Datei. Auf alle 36 Stilvorlagen angewandt fand sie
GENAU EINE weitere Stelle.

DER FUND: `.wahl2__eintrag` in gate.css

    Zeile 1584  display: block   (mit text-overflow: ellipsis)
    Zeile 2634  display: flex    (fuer Personenbilder, 08.09.2026)

Kein Streit zweier Bauteile, sondern eine spaetere Erweiterung --
und trotzdem ein echter Fehler: `text-overflow: ellipsis` wirkt bei
`display: flex` NICHT auf ein anonymes Flex-Kind. Der Knopf
„… eintragen" in jeder Auswahl des Hauses hat langen Text seither
HART abgeschnitten statt mit „…" gekuerzt.

GEMESSEN -- und nur im Bild zu sehen: `scrollWidth` ist in beiden
Faellen gleich (364 px bei 200 px Breite). Die Zahlen sagten
„kein Unterschied", das Bildschirmfoto zeigte einen. Ein Beleg mehr
dafuer, dass zwei gleiche Zahlen nicht dasselbe Ergebnis bedeuten.

REPARIERT
  - Der eigene Eintrag bekommt einen `.wahl2__name`-Span, wie jeder
    andere Eintrag auch. Damit kuerzt er wieder mit „…".
  - Die zwei Grundregeln sind eine. Wer die erste las, glaubte an
    `display: block` -- 1050 Zeilen weiter stand das Gegenteil.

DIE WACHE
  923 Grundregeln in 36 Stilvorlagen, keine Klasse zweimal
  verschieden gebaut. Gezaehlt wird nur, was sich widersprechen
  kann: nicht dieselbe Klasse in einem Zusammenhang (`.saal .pult`),
  nicht eine Variante in einer Medienabfrage, nicht
  „erst versteckt, dann gezeigt". Sechs Gegenproben, darunter der
  echte Fall vom 28.09. und eine Klasse im Kommentar.

GEPRUEFT: css-klassen, freie-namen, suchfeld, tippziele alle EXIT 0.
2026-09-29 13:45:02 +02:00

88 lines
4.0 KiB
HTML

<!doctype html>
<html lang="de">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" />
<title>Willkommen · Team Dogi</title>
<meta name="robots" content="noindex, nofollow" />
<!-- app.webmanifest, NICHT crew.webmanifest -- die Adresse biegt es um.
Der Server ersetzt den Pfad auf crew. an EINER Stelle
(crew-adresse.js). Wer hier das Crew-Manifest direkt nennt,
macht daraus eine zweite Stelle, die beim naechsten Umbau
vergessen wird. -->
<link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609291344" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609291344" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609291344" />
<link rel="stylesheet" href="assets/css/start.css?v=202609291344" />
<link rel="stylesheet" href="assets/css/willkommen.css?v=202609291344" />
<link rel="stylesheet" href="assets/css/module.css?v=202609291344" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609291344" />
</head>
<!-- KOERPERKLASSE "start", NICHT "gate" (berichtigt 21.09.2026).
`body.gate` ist die Anmeldewand: `display:flex; align-items:center`,
gedacht fuer EINE zentrierte Karte. Damit standen Kopfleiste und
Inhalt NEBENEINANDER -- am Handy blieben dem Text 260 von 390
Pixeln, am Rechner klebte alles am rechten Rand. Gesehen hat das
kein gruener Haken, sondern das Bildschirmfoto. -->
<body class="start" data-ton="34" data-buehne="lounge">
<div class="schleier" aria-hidden="true"></div>
<header class="kopfleiste">
<button type="button" class="zurueck-knopf" id="zurueck">
<svg viewBox="0 0 24 24" aria-hidden="true"><path d="M15 5l-7 7 7 7"/></svg>
<span class="zurueck-knopf__text">Übersicht</span>
</button>
<p class="marke"><span class="marke__text"><a class="zurueck" href="start.html">Team&nbsp;Dogi</a> · Willkommen</span></p>
<div class="kopfleiste__rechts">
<span class="wer" id="wer">…</span>
<button type="button" class="abmelden" id="abmelden">Abmelden</button>
</div>
</header>
<main class="inhalt" id="haupt" aria-busy="true">
<!-- DIE BEGRÜSSUNG.
Der Name steht NICHT im HTML, sondern kommt vom Server -- eine
Seite, die jeder herunterlädt, soll keinen fremden Namen
enthalten. Bis er da ist, steht hier ein Satz, der auch ohne
Namen stimmt: "Willkommen!" ist nie falsch. -->
<section class="w-gruss">
<h1 class="w-gruss__titel" id="gruss">Willkommen!</h1>
<p class="w-gruss__rolle" id="rollentext" hidden></p>
<p class="w-gruss__was" id="einleitung-was"></p>
<p class="w-gruss__dazu" id="einleitung-dazu"></p>
</section>
<!-- Die Hinweise, die zur Rolle gehören und zu keiner Kachel. -->
<section class="w-hinweise" id="hinweise" hidden></section>
<!-- DIE KACHELN, ERKLÄRT. Sie werden aus derselben Liste gebaut wie
die Startseite -- deshalb steht hier nur der leere Behälter. -->
<section class="w-bereiche">
<h2 class="w-bereiche__titel">Was es hier gibt</h2>
<p class="w-bereiche__satz" id="bereiche-satz">
Jede Kachel, die für dich freigeschaltet ist — und wofür sie da ist.
Tipp eine an, um hinzugehen.
</p>
<div id="gruppen"></div>
</section>
<p class="w-laedt" id="laedt">Einen Moment …</p>
<p class="fehler" id="fehler" hidden></p>
</main>
<script src="assets/js/meldung.js?v=202609291344" defer></script>
<script src="assets/js/bereiche.js?v=202609291344" defer></script>
<script src="assets/js/wahl.js?v=202609291344" defer></script>
<script src="assets/js/nachfrage.js?v=202609291344" defer></script>
<script src="assets/js/installieren.js?v=202609291344" defer></script>
<script src="assets/js/kopf.js?v=202609291344" defer></script>
<script src="assets/js/glocke.js?v=202609291344" defer></script>
<script src="assets/js/willkommen.js?v=202609291344" defer></script>
</body>
</html>