<col>: Das Tabellen-Spaltenelement
Baseline Widely available *
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
* Some parts of this feature may have varying levels of support.
Das <col>
-HTML-Element definiert eine oder mehrere Spalten in einer Spaltengruppe, die durch ihr Eltern-<colgroup>
-Element repräsentiert wird. Das <col>
-Element ist nur als Kind von einem <colgroup>
-Element gültig, das kein span
-Attribut definiert hat.
Probieren Sie es aus
<table>
<caption>
Superheros and sidekicks
</caption>
<colgroup>
<col />
<col span="2" class="batman" />
<col span="2" class="flash" />
</colgroup>
<tr>
<td></td>
<th scope="col">Batman</th>
<th scope="col">Robin</th>
<th scope="col">The Flash</th>
<th scope="col">Kid Flash</th>
</tr>
<tr>
<th scope="row">Skill</th>
<td>Smarts, strong</td>
<td>Dex, acrobat</td>
<td>Super speed</td>
<td>Super speed</td>
</tr>
</table>
.batman {
background-color: #d7d9f2;
}
.flash {
background-color: #ffe8d4;
}
table {
border-collapse: collapse;
border: 2px solid rgb(140 140 140);
font-family: sans-serif;
font-size: 0.8rem;
letter-spacing: 1px;
}
caption {
caption-side: bottom;
padding: 10px;
}
th,
td {
border: 1px solid rgb(160 160 160);
padding: 8px 6px;
}
td {
text-align: center;
}
Attribute
Dieses Element beinhaltet die globalen Attribute.
span
-
Gibt die Anzahl aufeinanderfolgender Spalten an, die das
<col>
-Element überspannt. Der Wert muss eine positive ganze Zahl größer als null sein. Wenn nicht vorhanden, beträgt der Standardwert1
.
Veraltete Attribute
Die folgenden Attribute sind veraltet und sollten nicht verwendet werden. Sie sind unten zur Referenz bei der Aktualisierung vorhandenen Codes und nur aus historischen Gründen dokumentiert.
align
Veraltet-
Bestimmt die horizontale Ausrichtung jeder Spaltenzelle. Die möglichen enumerierten Werte sind
left
,center
,right
,justify
undchar
. Wenn unterstützt, richtet derchar
-Wert den Textinhalt am Zeichen aus, das imchar
-Attribut festgelegt ist, und an der imcharoff
-Attribut definierten Versatz. Beachten Sie, dass dieses Attribut die im<colgroup>
-Elternelement festgelegte [align
]-Spezifizierung überschreibt. Verwenden Sie stattdessen dietext-align
CSS-Eigenschaft auf den<td>
- und<th>
-Elementen, da dieses Attribut veraltet ist.Hinweis: Das Setzen von
text-align
auf dem<col>
-Element hat keine Wirkung, da<col>
keine Nachkommen hat und daher keine Elemente von ihm erben.Wenn die Tabelle kein
colspan
-Attribut verwendet, verwenden Sie dentd:nth-of-type(an+b)
CSS-Selektor. Setzen Siea
auf null undb
auf die Position der Spalte in der Tabelle, z.B.td:nth-of-type(2) { text-align: right; }
, um die Zellen der zweiten Spalte rechts auszurichten.Wenn die Tabelle ein
colspan
-Attribut verwendet, kann der Effekt durch die Kombination geeigneter CSS-Attribut-Selektoren wie[colspan=n]
erzielt werden, obwohl dies nicht trivial ist. bgcolor
Veraltet-
Definiert die Hintergrundfarbe jeder Spaltenzelle. Der Wert ist eine HTML-Farbe; entweder ein 6-stelliger hexadezimaler RGB-Code, der mit einem
#
beginnt, oder ein Farb-Schlüsselwort. Andere CSS<color>
Werte werden nicht unterstützt. Verwenden Sie stattdessen diebackground-color
CSS-Eigenschaft, da dieses Attribut veraltet ist. char
Veraltet-
Hat keine Wirkung. Es war ursprünglich vorgesehen, die Ausrichtung des Inhalts auf ein Zeichen jeder Spaltenzelle zu spezifizieren. Typische Werte hierfür sind ein Punkt (
.
), wenn versucht wird, Zahlen oder Geldbeträge auszurichten. Wennalign
nicht aufchar
gesetzt ist, wird dieses Attribut ignoriert, obwohl es weiterhin die im<colgroup>
-Elternelement festgelegte [char
]-Spezifizierung überschreibt. charoff
Veraltet-
Hat keine Wirkung. Es war ursprünglich vorgesehen, die Anzahl der Zeichen anzugeben, um die der Inhalt der Spaltenzelle vom im
char
-Attribut angegebenen Ausrichtungszeichen versetzt werden sollte. valign
Veraltet-
Bestimmt die vertikale Ausrichtung jeder Spaltenzelle. Die möglichen enumerierten Werte sind
baseline
,bottom
,middle
undtop
. Beachten Sie, dass dieses Attribut die im<colgroup>
-Elternelement festgelegte [valign
]-Spezifizierung überschreibt. Verwenden Sie stattdessen dievertical-align
CSS-Eigenschaft auf den<td>
- und<th>
-Elementen, da dieses Attribut veraltet ist.Hinweis: Das Setzen von
vertical-align
auf dem<col>
-Element hat keine Wirkung, da<col>
keine Nachkommen hat und daher keine Elemente von ihm erben.Wenn die Tabelle kein
colspan
-Attribut verwendet, verwenden Sie dentd:nth-of-type(an+b)
CSS-Selektor. Setzen Siea
auf null undb
auf die Position der Spalte in der Tabelle, z.B.td:nth-of-type(2) { vertical-align: middle; }
, um die Zellen der zweiten Spalte vertikal zu zentrieren.Wenn die Tabelle ein
colspan
-Attribut verwendet, kann der Effekt durch die Kombination geeigneter CSS-Attribut-Selektoren wie[colspan=n]
erzielt werden, obwohl dies nicht trivial ist. width
Veraltet-
Gibt eine Standardbreite für jede Spalte an. Zusätzlich zu den Standardwerten für Pixel und Prozentsätze kann dieses Attribut die spezielle Form
0*
annehmen, was bedeutet, dass die Breite jeder überspannten Spalte die minimal notwendige Breite ist, um den Inhalt der Spalte zu halten. Relative Breiten wie5*
können ebenfalls verwendet werden. Beachten Sie, dass dieses Attribut die im<colgroup>
-Elternelement festgelegte [width
]-Spezifizierung überschreibt. Verwenden Sie stattdessen diewidth
CSS-Eigenschaft, da dieses Attribut veraltet ist.
Verwendungshinweise
- Das
<col>
-Element wird innerhalb eines<colgroup>
-Elements verwendet, das keinspan
-Attribut besitzt. - Die
<col>
-Elemente gruppieren Spalten strukturell nicht zusammen. Dies ist die Aufgabe des<colgroup>
-Elements. - Nur eine begrenzte Anzahl von CSS-Eigenschaften beeinflusst
<col>
:background
: Die verschiedenenbackground
-Eigenschaften setzen den Hintergrund für Zellen innerhalb der Spalte. Da die Hintergrundfarbe der Spalte über dem Tisch und den Spaltengruppen (<colgroup>
) gemalt wird, aber hinter Hintergrundfarben, die auf Zeilengruppen (<thead>
,<tbody>
und<tfoot>
), die Zeilen (<tr>
) und die einzelnen Zellen (<th>
und<td>
) angewendet werden, werden Hintergründe, die auf Tabellenspalten angewendet werden, nur sichtbar, wenn jede darüber gemalte Ebene einen transparenten Hintergrund hat.border
: Die verschiedenenborder
-Eigenschaften gelten, aber nur, wenn das<table>
border-collapse: collapse
gesetzt hat.visibility
: Der Wertcollapse
für eine Spalte führt dazu, dass alle Zellen dieser Spalte nicht gerendert werden und Zellen, die in andere Spalten hineinreichen, abgeschnitten werden. Der Raum, den diese Spalten eingenommen hätten, wird entfernt. Die Größe anderer Spalten wird jedoch weiterhin berechnet, als wären die Zellen in den zusammengebrochenen Spalten vorhanden. Andere Werte fürvisibility
haben keine Wirkung.width
: Diewidth
-Eigenschaft definiert eine Mindestbreite für die Spalte, als obmin-width
gesetzt wäre.
Beispiel
Siehe <table>
für ein vollständiges Tabellenbeispiel, das gängige Standards und bewährte Praktiken vorstellt.
Dieses Beispiel zeigt eine achtspaltige Tabelle, die in drei <col>
-Elemente unterteilt ist.
HTML
Ein <colgroup>
-Element bietet Strukturen für eine grundlegende Tabelle, indem es eine einzige implizite Spaltengruppe erstellt. Drei <col>
-Elemente sind innerhalb des <colgroup>
eingeschlossen, wodurch drei stilisierbare Spalten entstehen. Das span
-Attribut gibt an, wie viele Tabellenspalten jedes <col>
überschreiten soll (standardmäßig 1
, wenn es weggelassen wird), was es ermöglicht, Attribute über die Spalten in jedem <col>
hinweg gemeinsam zu nutzen.
<table>
<caption>
Personal weekly activities
</caption>
<colgroup>
<col />
<col span="5" class="weekdays" />
<col span="2" class="weekend" />
</colgroup>
<tr>
<th>Period</th>
<th>Mon</th>
<th>Tue</th>
<th>Wed</th>
<th>Thu</th>
<th>Fri</th>
<th>Sat</th>
<th>Sun</th>
</tr>
<tr>
<th>a.m.</th>
<td>Clean room</td>
<td>Football training</td>
<td>Dance Course</td>
<td>History Class</td>
<td>Buy drinks</td>
<td>Study hour</td>
<td>Free time</td>
</tr>
<tr>
<th>p.m.</th>
<td>Yoga</td>
<td>Chess Club</td>
<td>Meet friends</td>
<td>Gymnastics</td>
<td>Birthday party</td>
<td>Fishing trip</td>
<td>Free time</td>
</tr>
</table>
CSS
Wir verwenden CSS anstelle von veralteten HTML-Attributen, um eine Hintergrundfarbe für die Spalten bereitzustellen und den Zelleninhalt auszurichten:
table {
border-collapse: collapse;
border: 2px solid rgb(140 140 140);
}
caption {
caption-side: bottom;
padding: 10px;
}
th,
td {
border: 1px solid rgb(160 160 160);
padding: 8px 6px;
text-align: center;
}
.weekdays {
background-color: #d7d9f2;
}
.weekend {
background-color: #ffe8d4;
}
Ergebnis
Technische Zusammenfassung
Inhaltskategorien | Keine. |
---|---|
Erlaubter Inhalt | Keiner; es ist ein leeres Element. |
Tag-Auslassung | Muss ein Start-Tag haben und darf keinen End-Tag haben. |
Zulässige Eltern |
Nur <colgroup> , obwohl es implizit definiert werden kann, da sein Start-Tag nicht obligatorisch ist. Das
<colgroup> darf kein
span -Attribut haben.
|
Implizite ARIA-Rolle | Keine entsprechende Rolle |
Erlaubte ARIA-Rollen | Keine role erlaubt |
DOM-Schnittstelle | [`HTMLTableColElement`](/de/docs/Web/API/HTMLTableColElement) |
Spezifikationen
Specification |
---|
HTML # the-col-element |
Browser-Kompatibilität
Siehe auch
<caption>
,<colgroup>
,<table>
,<tbody>
,<td>
,<tfoot>
,<th>
,<thead>
,<tr>
: Andere tabellenbezogene Elementebackground-color
: CSS-Eigenschaft, um die Hintergrundfarbe jeder Spaltenzelle festzulegenborder
: CSS-Eigenschaft, um Grenzen der Spaltenzellen zu steuerntext-align
: CSS-Eigenschaft zur horizontalen Ausrichtung des Inhalts jeder Spaltenzellevertical-align
: CSS-Eigenschaft zur vertikalen Ausrichtung des Inhalts jeder Spaltenzellevisibility
: CSS-Eigenschaft, um Zellen einer Spalte zu verbergenwidth
: CSS-Eigenschaft, um die Standardbreite jeder Spalte zu steuern:nth-of-type
,:first-of-type
,:last-of-type
: CSS-Pseudoklassen, um die gewünschten Spaltenzellen auszuwählen