<col> : l'élément représentant une colonne
Baseline
Widely available
*
Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis juillet 2015.
* Certaines parties de cette fonctionnalité peuvent bénéficier de prise en charge variables.
L'élément HTML <col> définit une ou plusieurs colonnes dans un groupe de colonnes représenté par son élément parent <colgroup>. L'élément <col> n'est valide qu'en tant qu'enfant d'un élément <colgroup> qui n'a pas d'attribut span défini.
Exemple interactif
<table>
<caption>
Super-héros et acolytes
</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">Flash</th>
<th scope="col">Kid Flash</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">Compétence</th>
<td>Intelligence, force</td>
<td>Dextérité, acrobate</td>
<td>Super vitesse</td>
<td>Super vitesse</td>
</tr>
</tbody>
</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;
}
Attributs
Cet élément inclut les attributs universels.
span-
Cet attribut contient un nombre entier positif indiquant le nombre de colonnes consécutives que l'élément
<col>couvre. S'il n'est pas présent, sa valeur par défaut est1.
Attributs obsolètes
Les attributs suivants sont dépréciés et ne doivent pas être utilisés. Ils sont documentés ci-dessous à titre de référence lors de la mise à jour du code existant et uniquement pour des raisons historiques.
alignObsolète-
Définit l'alignement horizontal de chaque cellule de colonne. Les valeurs énumérées possibles sont
left,center,right,justifyetchar. Lorsque pris en charge, la valeurcharaligne le contenu textuel sur le caractère défini dans l'attributcharet sur le décalage défini par l'attributcharoff. Notez que cet attribut remplace la valeuraligndéfinie sur son élément parent<colgroup>. Utilisez plutôt la propriété CSStext-alignsur les éléments<td>et<th>, car cet attribut est obsolète.Note : L'application de
text-alignsur l'élément<col>n'a aucun effet, car<col>n'a pas de descendants et donc aucun élément n'en hérite.Si le tableau n'utilise pas d'attribut
colspan, utilisez le sélecteur CSStd:nth-of-type(an+b). Définissezaà zéro etbà la position de la colonne dans le tableau, par exempletd:nth-of-type(2) { text-align: right; }pour aligner à droite les cellules de la deuxième colonne.Si le tableau utilise un attribut
colspan, l'effet peut être obtenu en combinant des sélecteurs d'attributs CSS adéquats comme[colspan=n], bien que cela ne soit pas trivial. bgcolorObsolète-
Définit la couleur de fond de chaque cellule de colonne. La valeur est une couleur HTML ; soit un code RVB hexadécimal à 6 chiffres, préfixé par un « # », ou un mot-clé de couleur. Les autres valeurs CSS
<color>ne sont pas prises en charge. Utilisez plutôt la propriété CSSbackground-color, car cet attribut est obsolète. charObsolète-
Ne fait rien. Il était initialement prévu pour définir l'alignement du contenu sur un caractère de chaque cellule de colonne. Les valeurs typiques incluent un point (
.) lorsqu'on tente d'aligner des nombres ou des valeurs monétaires. Sialignn'est pas défini surchar, cet attribut est ignoré, mais il remplacera tout de même la valeurchardéfinie sur son élément parent<colgroup>. charoffObsolète-
Ne fait rien. Il était initialement prévu pour définir le nombre de caractères pour décaler le contenu de la cellule de colonne par rapport au caractère d'alignement défini par l'attribut
char. valignObsolète-
Définit l'alignement vertical de chaque cellule de colonne. Les valeurs énumérées possibles sont
baseline,bottom,middleettop. Notez que cet attribut remplace la valeurvaligndéfinie sur son élément parent<colgroup>. Utilisez plutôt la propriété CSSvertical-alignsur les éléments<td>et<th>, car cet attribut est obsolète.Note : L'application de
vertical-alignsur l'élément<col>n'a aucun effet, car<col>n'a pas de descendants et donc aucun élément n'en hérite.Si le tableau n'utilise pas d'attribut
colspan, utilisez le sélecteur CSStd:nth-of-type(an+b). Définissezaà zéro etbà la position de la colonne dans le tableau, par exempletd:nth-of-type(2) { vertical-align: middle; }pour centrer verticalement les cellules de la deuxième colonne.Si le tableau utilise un attribut
colspan, l'effet peut être obtenu en combinant des sélecteurs d'attributs CSS adéquats comme[colspan=n], bien que cela ne soit pas trivial. widthObsolète-
Définit une largeur par défaut pour chaque colonne. En plus des valeurs standard en pixels et en pourcentage, cet attribut peut prendre la forme spéciale
0*, ce qui signifie que la largeur de chaque colonne couverte doit être la largeur minimale nécessaire pour contenir le contenu de la colonne. Des largeurs relatives telles que5*peuvent également être utilisées. Notez que cet attribut remplace la valeurwidthdéfinie sur son élément parent<colgroup>. Utilisez plutôt la propriété CSSwidth, car cet attribut est obsolète.
Exemples
Voir <table> pour un exemple complet de tableau présentant les standards et bonnes pratiques courantes.
Cet exemple montre un tableau à huit colonnes divisé en trois éléments <col>.
HTML
Un élément HTML <colgroup> structure un tableau de base, créant un groupe de colonnes implicite unique. Trois éléments <col> sont inclus dans le <colgroup>, créant trois colonnes stylables. L'attribut span définit le nombre de colonnes que chaque <col> doit couvrir (par défaut 1 si omis), ce qui permet de partager des attributs entre les colonnes de chaque <col>.
<table>
<caption>
Activités hebdomadaires personnelles
</caption>
<colgroup>
<col />
<col span="5" class="weekdays" />
<col span="2" class="weekend" />
</colgroup>
<thead>
<tr>
<th>Période</th>
<th>Lun</th>
<th>Mar</th>
<th>Mer</th>
<th>Jeu</th>
<th>Ven</th>
<th>Sam</th>
<th>Dim</th>
</tr>
</thead>
<tbody>
<tr>
<th>Matin</th>
<td>Nettoyer la chambre</td>
<td>Entraînement de football</td>
<td>Cours de danse</td>
<td>Cours d'histoire</td>
<td>Acheter des boissons</td>
<td>Heure d'étude</td>
<td>Temps libre</td>
</tr>
<tr>
<th>Après-midi</th>
<td>Yoga</td>
<td>Club d'échecs</td>
<td>Voir des ami·e·s</td>
<td>Gymnastique</td>
<td>Fête d'anniversaire</td>
<td>Partie de pêche</td>
<td>Temps libre</td>
</tr>
</tbody>
</table>
CSS
Nous utilisons le CSS, au lieu des attributs HTML obsolètes, pour fournir une couleur de fond aux colonnes et aligner le contenu des cellules :
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;
}
Résultat
Résumé technique
| Catégorie de contenu | Aucune. |
|---|---|
| Contenu autorisé | Aucun, cet élément est un élément vide. |
| Omission de balise | Doit avoir une balise ouvrante et ne doit pas avoir de balise fermante. |
| Parents autorisés |
<colgroup> uniquement.
Toutefois, ce parent peut être défini de façon implicite car
sa balise ouvrante n'est pas obligatoire. L'élément
<colgroup> ne doit pas avoir d'attribut
span.
|
| Rôle ARIA implicite | Pas de rôle correspondant (angl.) |
| Rôles ARIA autorisés | Aucun role autorisé. |
| Interface DOM | HTMLTableColElement |
Spécifications
| Specification |
|---|
| HTML> # the-col-element> |
Compatibilité des navigateurs
Voir aussi
- Autres éléments liés aux tableaux :
<caption>,<colgroup>,<table>,<tbody>,<td>,<tfoot>,<th>,<thead>,<tr> background-color: propriété CSS pour définir la couleur de fond de chaque cellule de colonneborder: propriété CSS pour contrôler les bordures des cellules de colonnetext-align: propriété CSS pour aligner horizontalement le contenu de chaque cellule de colonnevertical-align: propriété CSS pour aligner verticalement le contenu de chaque cellule de colonnevisibility: propriété CSS pour masquer les cellules d'une colonnewidth: propriété CSS pour contrôler la largeur par défaut de chaque colonne:nth-of-type,:first-of-type,:last-of-type: pseudo-classes CSS pour sélectionner les cellules de colonne souhaitées