16.5 css für Tabellen

Rahmen (Border)

CSS-SelektorEigenschaftErklärungBeispiel
table, th, tdborderDefiniert einen Rahmen.border: 2px solid black;
tableborder-collapseSteuert, wie benachbarte Zellenrahmen dargestellt werden.border-collapse: collapse; (Wichtig für saubere Rahmen!)
tableborder-spacingDefiniert den Abstand zwischen den Zellrahmen (nur bei border-collapse: separate;).border-spacing: 10px;

Hintergrundfarbe

CSS-SelektorEigenschaftErklärungBeispiel
table, th, tdbackground-colorLegt die Hintergrundfarbe fest.background-color: #f2f2f2;
th, tdpaddingDefiniert den inneren Abstand zwischen dem Zelleninhalt und dem Zellenrahmen.padding: 8px 15px;

Textformatierung

CSS-SelektorEigenschaftErklärungBeispiel
table, th, tdfont-familyDefiniert die Schriftart.font-family: Arial, sans-serif;
th, tdfont-sizeDefiniert die Schriftgröße.font-size: 14px;
th, tdcolorLegt die Textfarbe fest.color: #333;
th, tdtext-alignDefiniert die horizontale Ausrichtung des Textes (links, zentriert, rechts).text-align: left;
thfont-weightDefiniert die Dicke des Textes (z.B. für Spaltenüberschriften).font-weight: bold;

Größe und Layout der Tabelle

CSS-SelektorEigenschaftErklärungBeispiel
tablewidthDefiniert die Gesamtbreite der Tabelle (in Pixeln oder Prozent).width: 80%; oder width: 600px;
tableheightDefiniert die Gesamthöhe der Tabelle.height: 300px;
th, tdwidthDefiniert die Breite einer einzelnen Spalte.width: 150px;

Erweiterte Styling-Ideen

tr:nth-child(even) {
  background-color: #e8e8e8; /* Helleres Grau für jede zweite Zeile */
}
tr:hover {
  background-color: #c9e6ff; /* Hellblau beim Überfahren */
  cursor: pointer; /* Zeigt, dass die Zeile interaktiv ist */
}

Spezielles Styling für Kopfzeilen (<th>)

th {
  background-color: #4CAF50; /* Dunkle, auffällige Farbe */
  color: white; /* Weißer Text */
  text-transform: uppercase; /* Text in Großbuchstaben */
  padding: 10px; 
}

Tabelle zentrieren

table {
  width: 600px;
  margin-left: auto; /* Automatischer linker Rand */
  margin-right: auto; /* Automatischer rechter Rand */
  /* Kurzform: margin: 0 auto; */
}

Beispiel: Modernes CSS-Styling für Tabellen

/* 1. Allgemeine Tabellen-Einstellungen */
.modern-table {
  width: 80%; /* Die Tabelle nimmt 80% der verfügbaren Breite ein */
  margin: 25px auto; /* Zentriert die Tabelle horizontal auf der Seite */
  border-collapse: collapse; /* Zwingt die Rahmen dazu, sich zu überlappen und eine einzelne Linie zu bilden */
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* Fügt einen leichten Schatten hinzu (guter visueller Effekt) */
  font-family: Arial, sans-serif;
}

/* 2. Styling der Kopfzeile (<th>) */
.modern-table th {
  background-color: #007bff; /* Dunkelblau als Hintergrund */
  color: white; /* Weißer Text für guten Kontrast */
  padding: 12px 15px; /* Innenabstand oben/unten (12px) und links/rechts (15px) */
  text-align: left; /* Text linksbündig ausrichten */
  border-bottom: 3px solid #0056b3; /* Dunklere Linie unter dem Header */
}

/* 3. Styling der Datenzellen (<td>) */
.modern-table td {
  padding: 10px 15px;
  border-bottom: 1px solid #ddd; /* Eine sehr helle Linie zwischen den Zeilen */
  text-align: left;
}

/* 4. Zebra-Muster für bessere Lesbarkeit */
.modern-table tr:nth-child(even) {
  background-color: #f8f8f8; /* Hellgrau für gerade Zeilen */
}

/* 5. Interaktiver Hover-Effekt */
.modern-table tr:hover {
  background-color: #e2f0ff; /* Helles Blau beim Überfahren */
  cursor: pointer; /* Ändert den Mauszeiger, um Interaktivität anzuzeigen */
}

/* 6. Entfernen der unteren Linie bei der letzten Zeile */
.modern-table tr:last-child td {
  border-bottom: none;
}

Anwendung im HTML

<!DOCTYPE html>
<html>
<head>
    <title>Meine gestylte Tabelle</title>
    <link rel="stylesheet" href="tabellen.css">
</head>
<body>

    <table class="modern-table">
        <thead>
            <tr>
                <th>Produkt</th>
                <th>Preis (€)</th>
                <th>Verfügbar</th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td>Laptop Modell A</td>
                <td>999</td>
                <td>Ja</td>
            </tr>
            <tr>
                <td>Monitor 27 Zoll</td>
                <td>249</td>
                <td>Nein</td>
            </tr>
            <tr>
                <td>Maus kabellos</td>
                <td>35</td>
                <td>Ja</td>
            </tr>
        </tbody>
    </table>

</body>
</html>

Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert