Die aktuell gebuchte Tarifzeile trug class="hint-box success" auf dem <tr>.
.hint-box macht aus dem Element einen Flex-Container - auf einer Tabellenzeile
loest das die Spaltenaufteilung auf. Mit dem Grundstil aus main.css lagen die
Zellen noch nebeneinander und das fiel kaum auf; durch das in d18c55e
ergaenzte flex-direction: column standen sie dann untereinander.
Behoben an der Ursache statt am CSS: Die Zeile bekommt eine eigene Klasse
.tarif-aktuell und bleibt eine normale Tabellenzeile, die Hervorhebung laeuft
ueber Hintergrund und einen Akzentstreifen an der ersten Zelle. Zusaetzlich
ist die flex-direction-Regel jetzt auf div.hint-box eingegrenzt, damit die
Klasse auf einem Tabellenelement nicht erneut die Spalten zerstoeren kann.
Geprueft: http-smoke 34/0, role-matrix 55/0, settings-flow 15/0.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
147 lines
4.5 KiB
CSS
147 lines
4.5 KiB
CSS
/*
|
|
* Anpassungen der Kaffeeliste gegenueber dem HTML5-UP-Template (main.css).
|
|
* Bewusst eine eigene Datei, damit main.css unveraendert bleibt und bei einem
|
|
* Template-Update nicht mit eigenen Aenderungen kollidiert. Wird in header.php
|
|
* NACH main.css geladen.
|
|
*/
|
|
|
|
/* ---------------------------------------------------------------------------
|
|
* Formular-Abstaende
|
|
*
|
|
* Im Template hat das Label 1em Abstand nach unten, das Eingabefeld aber gar
|
|
* keinen. In einem Formular mit mehreren Feldern klebte das naechste Label
|
|
* dadurch direkt am Feld darueber und wirkte, als gehoere es zu diesem statt
|
|
* zum eigenen Feld. Jetzt gilt: Label eng am eigenen Feld, deutlicher Abstand
|
|
* zur naechsten Gruppe.
|
|
* ------------------------------------------------------------------------ */
|
|
label {
|
|
margin-bottom: 0.5em;
|
|
}
|
|
|
|
input[type="text"],
|
|
input[type="password"],
|
|
input[type="email"],
|
|
input[type="tel"],
|
|
input[type="search"],
|
|
input[type="url"],
|
|
input[type="number"],
|
|
input[type="date"],
|
|
input[type="datetime-local"],
|
|
input[type="file"],
|
|
select,
|
|
textarea {
|
|
margin-bottom: 1.5em;
|
|
}
|
|
|
|
/* Achtung: hier bewusst KEIN ".row > * > :last-child { margin-bottom: 0 }".
|
|
In einer Grid-Spalte ist das Eingabefeld das letzte Kind - genau dessen
|
|
unterer Abstand erzeugt die Trennung zur naechsten Formularzeile. */
|
|
|
|
/* In Tabellen und nebeneinanderliegenden Bedienelementen wuerde der
|
|
zusaetzliche Abstand die Zeilen auseinanderziehen. */
|
|
td label,
|
|
td input,
|
|
td select,
|
|
td textarea,
|
|
.form-inline label,
|
|
.form-inline input,
|
|
.form-inline select {
|
|
margin-bottom: 0;
|
|
}
|
|
|
|
/* ---------------------------------------------------------------------------
|
|
* Zahlen-, Datums- und Dateifelder
|
|
*
|
|
* main.css stylt diese Typen nicht, sie erschienen deshalb als kleine native
|
|
* Kaestchen zwischen den sonst einheitlich gestalteten Feldern. Hier wird das
|
|
* Aussehen der Textfelder uebernommen.
|
|
* ------------------------------------------------------------------------ */
|
|
input[type="number"],
|
|
input[type="date"],
|
|
input[type="datetime-local"] {
|
|
background: #ffffff;
|
|
border: solid 1px rgba(210, 215, 217, 0.75);
|
|
border-radius: 0.375em;
|
|
color: inherit;
|
|
display: block;
|
|
height: 2.75em;
|
|
outline: 0;
|
|
padding: 0 1em;
|
|
text-decoration: none;
|
|
width: 100%;
|
|
}
|
|
|
|
input[type="number"]:focus,
|
|
input[type="date"]:focus {
|
|
border-color: #38761d;
|
|
box-shadow: 0 0 0 1px #38761d;
|
|
}
|
|
|
|
/* In Tabellen (Striche/Einzahlungen erfassen) bleiben die Zahlenfelder
|
|
kompakt, sonst sprengen sie die Spaltenbreite. */
|
|
td input[type="number"] {
|
|
width: 100%;
|
|
min-width: 5em;
|
|
}
|
|
|
|
input[type="file"] {
|
|
display: block;
|
|
width: 100%;
|
|
}
|
|
|
|
/* ---------------------------------------------------------------------------
|
|
* Checkbox-Zeilen
|
|
*
|
|
* Checkbox und zugehoeriges Label stehen nebeneinander; ohne Ausgleich sitzt
|
|
* die Beschriftung nicht auf einer Linie mit den Feldern der Nachbarspalte.
|
|
* ------------------------------------------------------------------------ */
|
|
input[type="checkbox"] + label,
|
|
input[type="radio"] + label {
|
|
margin-bottom: 1.5em;
|
|
}
|
|
|
|
/* ---------------------------------------------------------------------------
|
|
* Hinweisboxen
|
|
*
|
|
* main.css definiert den Grundstil und die Varianten .info/.warning/.success,
|
|
* aber keine .error-Variante - obwohl sie in der App am haeufigsten verwendet
|
|
* wird. Ohne sie erscheinen Fehlermeldungen ungefaerbt wie neutrale Hinweise.
|
|
* Farbgebung analog zu den vorhandenen Varianten.
|
|
* ------------------------------------------------------------------------ */
|
|
.hint-box.error {
|
|
background: #fdecea;
|
|
border-left: 5px solid #d32f2f;
|
|
color: #7f1d1d;
|
|
}
|
|
|
|
/* Der Grundstil ist ein Flex-Container; Absaetze darin sollen unten keinen
|
|
zusaetzlichen Abstand erzeugen. */
|
|
.hint-box > :last-child {
|
|
margin-bottom: 0;
|
|
}
|
|
|
|
/* Mehrere Absaetze/Listen in einer Box sollen untereinander stehen statt
|
|
nebeneinander (Flex-Grundstil).
|
|
Bewusst auf div eingegrenzt: .hint-box macht aus einem Element einen
|
|
Flex-Container. Auf einer Tabellenzeile zerstoert das die Spalten - fuer
|
|
hervorgehobene Zeilen gibt es .tarif-aktuell weiter unten. */
|
|
div.hint-box {
|
|
flex-direction: column;
|
|
}
|
|
|
|
/* ---------------------------------------------------------------------------
|
|
* Hervorgehobene Tabellenzeile (aktuell gebuchter Tarif)
|
|
*
|
|
* Muss eine normale Tabellenzeile bleiben, damit die Zellen unter ihren
|
|
* Spaltenueberschriften stehen.
|
|
* ------------------------------------------------------------------------ */
|
|
tr.tarif-aktuell > td {
|
|
background: #e8fbe8;
|
|
color: #1b5e20;
|
|
font-weight: 600;
|
|
}
|
|
|
|
tr.tarif-aktuell > td:first-child {
|
|
box-shadow: inset 5px 0 0 0 #4caf50;
|
|
}
|