Berichte: Tabelle mittig statt links ausgerichtet
Linksbündig wirkte die schmale Tabelle verloren neben dem zentrierten Berichtskopf. Sie steht jetzt mittig unter Überschrift und Zeitraumzeile; die Zahlenspalten bleiben in sich rechtsbündig. Der E2E-Test prüft, dass links und rechts gleich viel Luft bleibt. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
parent
43cd73afb7
commit
6ca247a40d
3 changed files with 17 additions and 10 deletions
10
Changes.md
10
Changes.md
|
|
@ -5,8 +5,8 @@
|
||||||
Ein Bericht mit zwei oder vier Spalten wurde bisher über die gesamte Fensterbreite gezogen –
|
Ein Bericht mit zwei oder vier Spalten wurde bisher über die gesamte Fensterbreite gezogen –
|
||||||
zwischen Bezeichnung und Betrag klaffte ein leeres Feld, und das Auge musste die Zeile
|
zwischen Bezeichnung und Betrag klaffte ein leeres Feld, und das Auge musste die Zeile
|
||||||
zweimal überqueren. Die **Berichtstabellen nehmen jetzt nur den Platz, den ihre Spalten
|
zweimal überqueren. Die **Berichtstabellen nehmen jetzt nur den Platz, den ihre Spalten
|
||||||
brauchen** (`width: auto`) und stehen links; erst wenn der Inhalt mehr verlangt, wachsen sie
|
brauchen** (`width: auto`) und stehen dabei mittig unter der Überschrift; erst wenn der
|
||||||
bis zur vollen Breite. Im Scrollrahmen `.breittabelle` (zwölf Monatsspalten) bleibt es beim
|
Inhalt mehr verlangt, wachsen sie bis zur vollen Breite. Im Scrollrahmen `.breittabelle` (zwölf Monatsspalten) bleibt es beim
|
||||||
bisherigen Verhalten: Die Tabelle darf hinausragen und waagerecht scrollen, statt umzubrechen.
|
bisherigen Verhalten: Die Tabelle darf hinausragen und waagerecht scrollen, statt umzubrechen.
|
||||||
|
|
||||||
Dabei fiel auf, dass die Zahlenspalten **gar nicht rechtsbündig** standen: `.rechts` und
|
Dabei fiel auf, dass die Zahlenspalten **gar nicht rechtsbündig** standen: `.rechts` und
|
||||||
|
|
@ -17,9 +17,9 @@ Ausrichtung jetzt ausdrücklich (`table.liste.bericht td.rechts`), sodass die le
|
||||||
die Betragsspalte – ihre Zahlen rechtsbündig an ihrer eigenen Kante ausrichtet. Die übrigen
|
die Betragsspalte – ihre Zahlen rechtsbündig an ihrer eigenen Kante ausrichtet. Die übrigen
|
||||||
Listen (Kontenübersicht, Wertpapiere) sind unverändert geblieben.
|
Listen (Kontenübersicht, Wertpapiere) sind unverändert geblieben.
|
||||||
|
|
||||||
Der neue E2E-Test misst beides: dass der Summenbericht deutlich schmaler bleibt als sein
|
Der neue E2E-Test misst alles drei: dass der Summenbericht deutlich schmaler bleibt als sein
|
||||||
Rahmen, dass die letzte Spalte `text-align: right` hat und dass die Monatsansicht weiterhin
|
Rahmen und links wie rechts gleich viel Luft behält, dass die letzte Spalte
|
||||||
breiter wird.
|
`text-align: right` hat und dass die Monatsansicht weiterhin breiter wird.
|
||||||
|
|
||||||
Nachgezogen: Der E2E-Test der eingeklappten Seitenleiste erwartete `toBeHidden()` für die
|
Nachgezogen: Der E2E-Test der eingeklappten Seitenleiste erwartete `toBeHidden()` für die
|
||||||
Beschriftungen. Die sind aber mit Absicht nur aus dem Bild geschoben (`clip-path`, 1×1 Pixel)
|
Beschriftungen. Die sind aber mit Absicht nur aus dem Bild geschoben (`clip-path`, 1×1 Pixel)
|
||||||
|
|
|
||||||
|
|
@ -1739,11 +1739,12 @@ table.bericht td { padding: .28rem .7rem; }
|
||||||
|
|
||||||
/* Ein Bericht mit wenigen Spalten soll nicht über die ganze Breite gezogen
|
/* Ein Bericht mit wenigen Spalten soll nicht über die ganze Breite gezogen
|
||||||
werden: Die Tabelle nimmt nur den Platz, den ihre Spalten brauchen, und
|
werden: Die Tabelle nimmt nur den Platz, den ihre Spalten brauchen, und
|
||||||
steht links. Die Zahlenspalten bleiben in sich rechtsbündig (.rechts), die
|
steht dabei mittig unter der Überschrift. Die Zahlenspalten bleiben in sich
|
||||||
letzte schließt damit bündig mit dem Tabellenrand ab. */
|
rechtsbündig (.rechts), die letzte schließt bündig mit dem Tabellenrand ab. */
|
||||||
table.liste.bericht {
|
table.liste.bericht {
|
||||||
width: auto;
|
width: auto;
|
||||||
max-width: 100%;
|
max-width: 100%;
|
||||||
|
margin-inline: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Im Scrollrahmen darf die Tabelle über die sichtbare Breite hinausgehen –
|
/* Im Scrollrahmen darf die Tabelle über die sichtbare Breite hinausgehen –
|
||||||
|
|
|
||||||
|
|
@ -153,9 +153,15 @@ test.describe('Auswertungen', () => {
|
||||||
const tabelle = page.locator('table.bericht')
|
const tabelle = page.locator('table.bericht')
|
||||||
const rahmen = page.locator('.breittabelle')
|
const rahmen = page.locator('.breittabelle')
|
||||||
|
|
||||||
const tabelleBreit = (await tabelle.boundingBox()).width
|
const tabelleKasten = await tabelle.boundingBox()
|
||||||
const rahmenBreit = (await rahmen.boundingBox()).width
|
const rahmenKasten = await rahmen.boundingBox()
|
||||||
expect(tabelleBreit).toBeLessThan(rahmenBreit * 0.9)
|
const tabelleBreit = tabelleKasten.width
|
||||||
|
expect(tabelleBreit).toBeLessThan(rahmenKasten.width * 0.9)
|
||||||
|
|
||||||
|
// … und steht dabei mittig: links und rechts bleibt gleich viel Luft.
|
||||||
|
const links = tabelleKasten.x - rahmenKasten.x
|
||||||
|
const rechts = (rahmenKasten.x + rahmenKasten.width) - (tabelleKasten.x + tabelleBreit)
|
||||||
|
expect(Math.abs(links - rechts)).toBeLessThanOrEqual(1)
|
||||||
|
|
||||||
// Letzte Spalte: Zahlen rechtsbündig in ihrer eigenen Spalte.
|
// Letzte Spalte: Zahlen rechtsbündig in ihrer eigenen Spalte.
|
||||||
// Die erste Zeile eines Abschnitts ist seine Überschrift (th) – deshalb
|
// Die erste Zeile eines Abschnitts ist seine Überschrift (th) – deshalb
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue