Bootstrap lokal einbetten und Stil der AG anlegen (#27)
- werkzeuge/bootstrap/: Bootstrap 5.3.8 (CSS, JS-Bundle) und Bootstrap Icons 1.13.1 (CSS, woff2/woff) byte-gleich aus den npm-Paketen, Integrität geprüft; README mit Version, Quelle, Integrität, Lizenz und Aktualisierung; Lizenzen (MIT) daneben; .gitattributes: binary, die README bleibt Text mit Diff. - werkzeuge/stil/ag_prozesse.css: eigene kleine Stilschicht (ag-*): Seite in voller Höhe, dunkle Navigationsleiste, hellgrauer Hintergrund, Karten mit farbigem Rand, Tabellenziffern, Druck. Vorbild VLN_SN/EA-Bilanz, nichts übernommen. - Vorschau: Kopfzeile als dunkle Navigationsleiste mit Icon-Knöpfen; JavaScript, IDs und Zeichenfläche (Wasserzeichen) unverändert. - scripts/vorschau.py bettet Bootstrap, Icons und Stil ein und setzt die Icon-Schrift als data:-URI ein (_schriften_einbetten); ein nicht einbettbarer Schriftverweis bricht laut ab. - Tests: drei neue in test_vorschau.py; der Aufbau von test_bibliothek_mit_script_ende_wird_abgelehnt kopiert jetzt ganz werkzeuge/ (Erwartung unverändert). - AGENTS.md: eingebettete Fremdbibliotheken sind bpmn-js und Bootstrap. - Tests: python -m pytest -q -> 256 bestanden, 1 übersprungen. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
/* Gemeinsamer Stil der HTML-Seiten der AG Prozesse, aufbauend auf Bootstrap 5 (werkzeuge/bootstrap/).
|
||||
Anmutung wie die Anwendungen in VLN_SN (Vorbild EA-Bilanz, siehe docs/wissen/vln_sn.md) – eigene Regeln,
|
||||
nichts übernommen. Klassen beginnen mit "ag-", damit sie sich nicht mit Bootstrap überschneiden. */
|
||||
|
||||
:root {
|
||||
--ag-akzent: var(--bs-primary, #0d6efd);
|
||||
--ag-schrift: .9rem;
|
||||
}
|
||||
|
||||
/* Seite in voller Höhe: dunkle Navigationsleiste oben, Arbeitsbereich darunter */
|
||||
html.ag-seite, html.ag-seite body { height: 100%; }
|
||||
.ag-app {
|
||||
display: flex; flex-direction: column; height: 100vh; overflow: hidden;
|
||||
font-size: var(--ag-schrift);
|
||||
background: var(--bs-tertiary-bg, #f4f5f7);
|
||||
}
|
||||
.ag-nav { flex: 0 0 auto; }
|
||||
.ag-nav .navbar-brand { font-size: 1rem; }
|
||||
.ag-nav .btn-group { flex-wrap: nowrap; }
|
||||
.ag-inhalt { flex: 1 1 auto; min-height: 0; position: relative; background: var(--bs-body-bg, #fff); }
|
||||
|
||||
/* Karten mit farbigem linken Rand je Kategorie */
|
||||
.ag-karte { border-left: 4px solid var(--ag-akzent); }
|
||||
.ag-karte-erfolg { border-left-color: var(--bs-success, #198754); }
|
||||
.ag-karte-warnung { border-left-color: var(--bs-warning, #ffc107); }
|
||||
.ag-karte-fehler { border-left-color: var(--bs-danger, #dc3545); }
|
||||
|
||||
/* Zahlen in Tabellenziffern, rechtsbündig */
|
||||
.ag-zahl { font-variant-numeric: tabular-nums; text-align: right; }
|
||||
|
||||
@media print {
|
||||
.ag-nav { display: none !important; }
|
||||
.ag-app { height: auto; overflow: visible; background: #fff; }
|
||||
}
|
||||
Reference in New Issue
Block a user