Naar de inhoud
Gratis naslagwerk over HTML
HTML leren en naslaan
Naslag / Tabellen

Het element <colgroup>

Het <colgroup>-HTML-element definieert een groep kolommen binnen een tabel.

Code
<table>
  <caption>
    Superheros and sidekicks
  </caption>
  <colgroup>
    <col />
    <col span="2" class="batman" />
    <col span="2" class="flash" />
  </colgroup>
  <thead>
    <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>
  </thead>
  <tbody>
    <tr>
      <th scope="row">Skill</th>
      <td>Smarts, strong</td>
      <td>Dex, acrobat</td>
      <td>Super speed</td>
      <td>Super speed</td>
    </tr>
  </tbody>
</table>
Resultaat in de browser

Attributen

Dit element bevat de globale attributen.

span

Geeft het aantal opeenvolgende kolommen aan waarover het <colgroup>-element zich uitstrekt. De waarde moet een positief geheel getal groter dan nul zijn. Indien niet aanwezig, is de standaardwaarde 1.

Opmerking

Het span-attribuut is niet toegestaan als er een of meer <col>-elementen binnen de <colgroup> aanwezig zijn.

Verouderde attributen

De volgende attributen zijn verouderd en mogen niet meer worden gebruikt. Ze worden hieronder gedocumenteerd ter referentie bij het bijwerken van bestaande code en om historische redenen.

align Verouderd

Geeft de horizontale uitlijning van elke kolomgroepcel aan. De mogelijke enumerated waarden zijn left, center, right, justify en char. Indien ondersteund, lijnt de waarde char de tekstuele inhoud uit op het teken dat is gedefinieerd in het char-attribuut, met de offset gedefinieerd door het charoff-attribuut. Merk op dat de onderliggende <col>-elementen deze waarde kunnen overschrijven met hun eigen align-attribuut. Gebruik in plaats daarvan de CSS-eigenschap text-align op de <td>- en <th>-elementen, aangezien dit attribuut verouderd is.

Opmerking

Het instellen van text-align op het <colgroup>-element heeft geen effect, aangezien <td>- en <th>-elementen geen afstammelingen zijn van het <colgroup>-element, en dus niet van het <colgroup>-element overerven.

Als de tabel geen colspan-attribuut gebruikt, gebruik dan de CSS-selector td:nth-of-type(an+b) per kolom, waarbij a het totale aantal kolommen in de tabel is en b de ordinale positie van de kolom in de tabel, bijvoorbeeld td:nth-of-type(7n+2) { text-align: right; } om de cellen van de tweede kolom rechts uit te lijnen.

Als de tabel wel een colspan-attribuut gebruikt, kan het effect worden bereikt door geschikte CSS-attribuutselectors te combineren, zoals [colspan=n], hoewel dit niet triviaal is.

bgcolor Verouderd

Definieert de achtergrondkleur van elke kolomgroepcel. De waarde is een HTML-kleur; ofwel een 6-cijferige hexadecimale RGB-code, voorafgegaan door een #, of een kleursleutelwoord. Andere CSS-<color>-waarden worden niet ondersteund. Gebruik in plaats daarvan de CSS-eigenschap background-color, aangezien dit attribuut verouderd is.

char Verouderd

Doet niets. Het was oorspronkelijk bedoeld om de uitlijning van de inhoud op een teken van elke kolomgroepcel te specificeren. Typische waarden hiervoor zijn onder andere een punt (.) bij het uitlijnen van getallen of geldbedragen. Als align niet is ingesteld op char, wordt dit attribuut genegeerd, hoewel het nog steeds wordt gebruikt als standaardwaarde voor de align van de <col>-elementen die lid zijn van deze kolomgroep.

charoff Verouderd

Doet niets. Het was oorspronkelijk bedoeld om het aantal tekens te specificeren waarmee de inhoud van de kolomgroepcel wordt verschoven ten opzichte van het uitlijnteken dat is opgegeven door het char-attribuut.

valign Verouderd

Geeft de verticale uitlijning van elke kolomgroepcel aan. De mogelijke enumerated waarden zijn baseline, bottom, middle en top. Merk op dat de onderliggende <col>-elementen deze waarde kunnen overschrijven met hun eigen valign-attribuut. Gebruik in plaats daarvan de CSS-eigenschap vertical-align op de <td>- en <th>-elementen, aangezien dit attribuut verouderd is.

Opmerking

Het instellen van vertical-align op het <colgroup>-element heeft geen effect, aangezien <td>- en <th>-elementen geen afstammelingen zijn van het <colgroup>-element, en dus niet van het <colgroup>-element overerven.

Als de tabel geen colspan-attribuut gebruikt, gebruik dan de CSS-selector td:nth-of-type() per kolom, bijvoorbeeld td:nth-of-type(2) { vertical-align: middle; } om de cellen van de tweede kolom verticaal te centreren.

Als de tabel wel een colspan-attribuut gebruikt, kan het effect worden bereikt door geschikte CSS-attribuutselectors te combineren, zoals [colspan=n], hoewel dit niet triviaal is.

width Verouderd

Geeft een standaardbreedte op voor elke kolom in de huidige kolomgroep. Naast de standaard pixel- en percentagewaarden kan dit attribuut de speciale vorm 0* aannemen, wat betekent dat de breedte van elke kolom waarover het zich uitstrekt de minimale breedte moet zijn die nodig is om de inhoud van de kolom te bevatten. Relatieve breedtes zoals 5* kunnen ook worden gebruikt. Merk op dat de onderliggende <col>-elementen deze waarde kunnen overschrijven met hun eigen width-attribuut. Gebruik in plaats daarvan de CSS-eigenschap width, aangezien dit attribuut verouderd is.

Gebruiksnotities

  • De <colgroup> moet binnen een <table> voorkomen, na een eventueel <caption>-element (indien gebruikt), maar vóór eventuele <thead>-, <tbody>-, <tfoot>- en <tr>-elementen.
  • Slechts een beperkt aantal CSS-eigenschappen heeft effect op <colgroup>:
    • background: De verschillende background-eigenschappen stellen de achtergrond in voor cellen binnen de kolomgroep. Aangezien de achtergrondkleur van de kolomgroep bovenop de tabel wordt getekend, maar achter de achtergrondkleuren die zijn toegepast op de kolommen (<col>), de rijgroepen (<thead>, <tbody> en <tfoot>), de rijen (<tr>), en de afzonderlijke cellen (<th> en <td>), zijn achtergronden die zijn toegepast op tabelkolomgroepen alleen zichtbaar als elke laag die erbovenop wordt getekend een transparante achtergrond heeft.
    • border: De verschillende border-eigenschappen zijn van toepassing, maar alleen als de <table> border-collapse: collapse heeft ingesteld.
    • visibility: De waarde collapse voor een kolomgroep zorgt ervoor dat alle cellen van de kolommen in die kolomgroep niet worden weergegeven, en dat cellen die zich over andere kolommen uitstrekken worden afgeknot. De ruimte die deze kolommen in de kolomgroep zouden hebben ingenomen, wordt verwijderd. De grootte van andere kolommen wordt echter nog steeds berekend alsof de cellen in de samengevouwen kolom(men) in de kolomgroep aanwezig zijn. Andere waarden voor visibility hebben geen effect.
    • width: De width-eigenschap definieert een minimumbreedte voor de kolommen binnen de kolomgroep, alsof min-width was ingesteld.

Voorbeeld

Zie <table> voor een compleet tabelvoorbeeld dat gangbare standaarden en beste praktijken introduceert.

Dit voorbeeld laat een tabel met zeven kolommen zien die is verdeeld in twee <colgroup>-elementen die zich over meerdere kolommen uitstrekken.

HTML

Er worden twee <colgroup>-elementen gebruikt om een eenvoudige tabel te structureren door kolomgroepen te maken. Het aantal kolommen in elke kolomgroep wordt opgegeven door het span-attribuut.

HTML
<table>
  <caption>
    Personal weekly activities
  </caption>
  <colgroup span="5" class="weekdays"></colgroup>
  <colgroup span="2" class="weekend"></colgroup>
  <thead>
    <tr>
      <th>Mon</th>
      <th>Tue</th>
      <th>Wed</th>
      <th>Thu</th>
      <th>Fri</th>
      <th>Sat</th>
      <th>Sun</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <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>
      <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>
  </tbody>
</table>

CSS

Gegroepeerde kolommen kunnen worden gebruikt om de structuur visueel te benadrukken met CSS:

CSS
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;
}
CSS
table {
  font-family: sans-serif;
  font-size: 0.8rem;
  letter-spacing: 1px;
}

Resultaat

Resultaat in de browser

Technische samenvatting

Inhoudscategorieën Geen.
Toegestane inhoud Als het span-attribuut aanwezig is: geen.
Als het attribuut niet aanwezig is: nul of meer <col>-elementen
Weglaten van tags De begintag mag worden weggelaten als er een <col>-element als eerste kind staat en als hij niet wordt voorafgegaan door een <colgroup> waarvan de eindtag is weggelaten.
De eindtag mag worden weggelaten als hij niet wordt gevolgd door een spatie of commentaar.
Toegestane ouders Een <table>-element. De <colgroup> moet voorkomen na een eventueel <caption>-element, maar vóór eventuele <thead>-, <tbody>-, <tfoot>- en <tr>-elementen.
Impliciete ARIA-rol Geen overeenkomstige rol
Toegestane ARIA-rollen Geen role toegestaan
DOM-interface HTMLTableColElement

Zie ook

Verwante elementen