HTML Tabelle zweifarbig?
Hallo allerseits,
wie kann ich in einer html Tabelle jeder Zelle die Farbe zuweisen z.B habe ich zwei Reihen, Rechts und Links, wie kann ich alle linken blau machen und alle rechten rot?
4 Antworten
Weise den td-Elementen einen CSS-Klassenselektor zu, in dem du die Farbe definierst.
Ein Beispiel:
HTML:
<table>
<thead>
<tr>
<th>Colum 1</th>
<th>Colum 2</th>
</tr>
</thead>
<tbody>
<tr>
<td class="columnOne">Some text</td>
<td class="columnTwo">Some other text</td>
</tr>
<tr>
<td class="columnOne">Some text</td>
<td class="columnTwo">Some other text</td>
</tr>
</tbody>
</table>
CSS:
.columnOne {
background-color: blue;
}
.columnTwo {
background-color: red;
}
Fiddle: https://jsfiddle.net/vzbpmugf/
Du kannst den entsprechenden Zellen entweder eine class geben um dieser mit css dann eine Farbe zuzuweisen.
<table>
<tr>
<td class="blau"></td>
<td class="rot"></td>
</tr>
<tr>
<td class="blau"></td>
<td class="rot"></td>
</tr>
</table>
css:
.blau {
background-color: blue;
}
.rot {
background-color: red;
}
Oder du kannst auch mit css Befehlen wie :first-child oder :nth-child() bestimmte Elemente inerhalb der Tabelle ansprechen um ihnen eine Farbe zuzuordnen.
https://www.w3schools.com/cssref/sel_firstchild.asp
https://www.w3schools.com/cssref/sel_nth-child.asp
Markup:
<table class="table example">
<thead>
<tr>
<th>First-Column</th>
<th>Last-Column</th>
</tr>
</thead>
<tbody>
<tr>
<td>Some data here...</td>
<td>...other data here!</td>
</tr>
<tr>
<td>Some data here...</td>
<td>...other data here!</td>
</tr>
</tbody>
</table>
CSS:
.table td {
/* define a default color */
background-color: blue;
}
.example td:nth-child(even) {
/* override the default color */
background-color: red;
}
Pseudo-Selektor nth-child:
https://developer.mozilla.org/de/docs/Web/CSS/:nth-child
LG medmonk
Entweder alles markieren, was gleichfarbig sein soll und die Hintergrundfarbe ändern oder von vornerein eine farbige Tabelle erstellen und dann dort die Daten eintragen.
Stimmt, damit geht es dann auch kürzer. Die class-Attribute kann man sich sparen.