Turn-Gruppenkarten: fr-Spuren begrenzen (Textumbruch bei 300px)
Bei sehr schmalen Breiten stand der Text über den Kartenrand hinaus. Gemessen bei
300px Viewport (clientWidth 289): Dokument 317px, also 28px Überlauf; die einzelne
Grid-Spur des Panels rechnete sich auf 267,7px aus, obwohl die Karte nur 193px
Inhaltsfläche hat.
Ursache: `grid-template-columns: 1.6fr 1fr` bzw. `1fr` — eine fr-Spur hat als
automatisches Minimum min-content und kann deshalb nicht schmaler werden als das
längste Wort darin. Bei deutschen Komposita ("sportartenübergreifende",
"Grundlagenausbildung") sprengt das die Karte. Jetzt minmax(0, …) in beiden
Spurdefinitionen von .group-tabs__panel, und dieselbe Korrektur bei
.group-list--stacked, wo das Muster latent drinsteckte.
Zwei Umwege, die ich mir hätte sparen können: min-width: 0 am Grid-KIND reicht
nicht, die SPUR muss das Schrumpfen erlauben. Und overflow-wrap: break-word
verkleinert die min-content-Breite nicht (nur `anywhere` täte das) — beides bleibt
trotzdem drin, zusammen mit hyphens: auto, weil die Seite lang="de" ist und der
Browser die Komposita dann sauber trennt statt hart umzubrechen.
Geprüft: alle sechs Turn-Seiten bei 300px, 320px und 390px ohne Überlauf. Desktop
unverändert zweispaltig (648,6 / 405,4 px, Verhältnis 1,6:1).
OFFEN und bewusst nicht mitgefixt: /turnen läuft bei 300px noch um 13px über, ab
320px nicht mehr. Es kommt aus dem Kontaktformular, nicht aus den Beitragskarten
oder Gruppenkarten — die min-content-Breite des Formulars in der Grid-Spur von
.container. .container global anzufassen ist mir für 13px auf einer Breite, die
kein Gerät hat, zu riskant (das schmalste verbreitete Display ist 320px).
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NzeVVgMCrzCDJAKeLEdKr7
This commit is contained in:
@@ -2787,7 +2787,16 @@
|
|||||||
/* Panel-Karte übernimmt das bestehende group-card--stacked-Layout */
|
/* Panel-Karte übernimmt das bestehende group-card--stacked-Layout */
|
||||||
.group-tabs__panel {
|
.group-tabs__panel {
|
||||||
display: grid;
|
display: grid;
|
||||||
grid-template-columns: 1.6fr 1fr;
|
/* minmax(0, …) statt nackter fr-Werte: eine fr-Spur hat als automatisches
|
||||||
|
Minimum min-content und kann deshalb nicht schmaler werden als das längste
|
||||||
|
Wort darin. Bei deutschen Komposita sprengte das auf schmalen Bildschirmen
|
||||||
|
die Karte: bei 300px rechnete sich die einzelne Spur auf 267,7px aus,
|
||||||
|
obwohl die Karte nur 193px Inhaltsfläche hat — das Dokument lief um 28px
|
||||||
|
über und der Text stand über den Rand hinaus (31.07.2026).
|
||||||
|
min-width: 0 am Grid-KIND allein reicht dafür nicht, die SPUR muss es
|
||||||
|
erlauben. Dieselbe Korrektur steht bei .group-list--stacked, wo dasselbe
|
||||||
|
Muster latent drinsteckte. */
|
||||||
|
grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
|
||||||
gap: var(--space-4xl);
|
gap: var(--space-4xl);
|
||||||
align-items: start;
|
align-items: start;
|
||||||
padding: var(--space-3xl) var(--space-3xl);
|
padding: var(--space-3xl) var(--space-3xl);
|
||||||
@@ -2803,7 +2812,7 @@
|
|||||||
|
|
||||||
@media (max-width: 768px) {
|
@media (max-width: 768px) {
|
||||||
.group-tabs__panel {
|
.group-tabs__panel {
|
||||||
grid-template-columns: 1fr;
|
grid-template-columns: minmax(0, 1fr);
|
||||||
gap: var(--space-xl);
|
gap: var(--space-xl);
|
||||||
padding: var(--space-l) var(--space-xl);
|
padding: var(--space-l) var(--space-xl);
|
||||||
}
|
}
|
||||||
@@ -2829,10 +2838,16 @@
|
|||||||
border-radius: var(--radius-card);
|
border-radius: var(--radius-card);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Gestapelt: Beschreibung links, Trainingszeiten-Panel rechts. */
|
/* Gestapelt: Beschreibung links, Trainingszeiten-Panel rechts.
|
||||||
|
minmax(0, …) statt nackter fr-Werte: eine fr-Spur hat als automatisches Minimum
|
||||||
|
min-content, kann also nicht schmaler werden als das längste Wort darin. Bei
|
||||||
|
deutschen Komposita („sportartenübergreifende", „Grundlagenausbildung") sprengte
|
||||||
|
das auf schmalen Bildschirmen die Karte — bei 300px war der Karteninhalt 268px
|
||||||
|
breit in 193px Fläche und das Dokument lief um 28px über (31.07.2026).
|
||||||
|
min-width: 0 am Grid-KIND allein reicht dafür nicht, die Spur muss es erlauben. */
|
||||||
.group-list--stacked .group-card {
|
.group-list--stacked .group-card {
|
||||||
display: grid;
|
display: grid;
|
||||||
grid-template-columns: 1.6fr 1fr;
|
grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
|
||||||
gap: var(--space-4xl);
|
gap: var(--space-4xl);
|
||||||
align-items: start;
|
align-items: start;
|
||||||
padding: var(--space-3xl) var(--space-3xl);
|
padding: var(--space-3xl) var(--space-3xl);
|
||||||
@@ -2840,7 +2855,7 @@
|
|||||||
|
|
||||||
@media (max-width: 768px) {
|
@media (max-width: 768px) {
|
||||||
.group-list--stacked .group-card {
|
.group-list--stacked .group-card {
|
||||||
grid-template-columns: 1fr;
|
grid-template-columns: minmax(0, 1fr);
|
||||||
gap: var(--space-xl);
|
gap: var(--space-xl);
|
||||||
padding: var(--space-l) var(--space-xl) var(--space-xl);
|
padding: var(--space-l) var(--space-xl) var(--space-xl);
|
||||||
}
|
}
|
||||||
@@ -2888,6 +2903,21 @@
|
|||||||
border-radius: 999px;
|
border-radius: 999px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Grid-Kind der Karte: OHNE min-width: 0 darf es nicht unter seine min-content-
|
||||||
|
Breite schrumpfen, und die bestimmt bei deutschen Komposita das längste Wort
|
||||||
|
(„sportartenübergreifende", „Grundlagenausbildung"). Bei 300px Bildschirm war der
|
||||||
|
Body dadurch 268px breit in einer Karte mit 193px Inhaltsfläche, das Dokument lief
|
||||||
|
um 28px über und der Text stand über den Rand hinaus (31.07.2026).
|
||||||
|
Dieselbe Falle wie bei .stadionzeitung-page .league-table.
|
||||||
|
hyphens: auto trennt die Komposita sauber statt sie hart umzubrechen — die Seite
|
||||||
|
ist als lang="de" ausgezeichnet, der Browser kennt also die Trennregeln.
|
||||||
|
overflow-wrap bleibt als Notausgang für Wörter ohne mögliche Trennstelle. */
|
||||||
|
.group-card__body {
|
||||||
|
min-width: 0;
|
||||||
|
hyphens: auto;
|
||||||
|
overflow-wrap: break-word;
|
||||||
|
}
|
||||||
|
|
||||||
/* Intro = Lead-Paragraph, deutlich abgesetzt vom Level-Chip */
|
/* Intro = Lead-Paragraph, deutlich abgesetzt vom Level-Chip */
|
||||||
.group-card__intro {
|
.group-card__intro {
|
||||||
margin: var(--space-m) 0 0;
|
margin: var(--space-m) 0 0;
|
||||||
|
|||||||
Reference in New Issue
Block a user