5568 sujets

Sémantique web et HTML

Saluton,
Je souhaite que les cellules de la dernière colonne d'un tableau de quatre colonnes se voient appliquer le style définit dans la class="nbf"(.nbf { text-align: right;}), mais je voudrais éviter d'avoir à le spécifier pour chaque cellule.
Je me suis donc souvenu des balises <colgroup> et <col>, seulement voilà, je ne m'en sors pas :
<table border="2">
    <colgroup span="3"><col></col><col></col><col></col></colgroup>
    <colgroup span="1"><col span="1" class="nbf"></col></colgroup>
    <thead>
        <tr><th> UAIRNE </th><th> NOMUSUEL </th><th> DATEPAIEMENT </th><th align="center"> AP </th></tr>
    </thead>
    <tbody>
        <tr><td>0220013V</td><td>Ly.Dinan FD Eau</td><td>2006-10-14 00:00:00</td><td>12</td></tr>
        <tr><td>0220013V</td><td>Ly.Dinan FD Eau</td><td>2006-11-14 00:00:00</td><td>27</td></tr>
        <tr><td>0220018A</td><td>Ly.Pavie Guingamp</td><td>2006-09-14 00:00:00</td><td>7</td></tr>
        <tr><td>0220018A</td><td>Ly.Pavie Guingamp</td><td>2006-11-14 00:00:00</td><td>17</td></tr>
        <tr><td>0220027K</td><td>Lg.Lt Loud&eacute;ac</td><td>2006-11-14 00:00:00</td><td>40</td></tr>
        <tr><td>0220056S</td><td>Ly.Rabelais St Brieuc</td><td>2006-10-14 00:00:00</td><td>15</td></tr>
        <tr><td>0220056S</td><td>Ly.Rabelais St Brieuc</td><td>2006-11-14 00:00:00</td><td>28</td></tr>
        <tr>
            <td>0290108K</td>
            <td>Ly.Dupuy de L&ocirc;me Brest</td>
            <th class="klini">NULL</th>
            <th class="klini">NULL</th>
        </tr>
        <tr><td colspan="4">Etc ...</td></tr>
    </tbody>
</table>
quelqu'un sait-il ce qui cloche dans ce code ?
Merci.
Modifié par Maljuna Kris (21 Sep 2006 - 09:21)
Merci bien,
J'ai beau essayer en appliquant une classe à la col, en utilisant l'attribut align="center" dans la balise <col>, en donnant une id à la <col id="ColD"> puis en créant la règle #ColD td {text-align : center}, rien n'y fait.
J'en reviens donc à ma déclaration de classe dans chaque cellule de la colonne, ça alourdit intuilement la page, mais s'il n'y a pas moyen de faire plus propre...
Maljuna Kris a écrit :
J'en reviens donc à ma déclaration de classe dans chaque cellule de la colonne, ça alourdit intuilement la page, mais s'il n'y a pas moyen de faire plus propre...

Ça n'alourdit pas grand chose en vérité.

- lourdeur du contenu : aucun contenu n'est rajouté ;
- problème d'accessibilité : aucun problème d'accessibilité ;
- lourdeur du code : dix octets supplémentaires par ligne de tableau, négligeable ;
- lourdeur du traitement : il faudrait faire un test méthodique, mais je doute que le temps de traitement de la page soit ralongé ;
- lourdeur de la maintenance : si le tableau est généré dynamiquement, la maintenance n'est pas un problème.

Où est la lourdeur, au juste ?
Maljuna Kris a écrit :
J'ai beau essayer en appliquant une classe à la col, en utilisant l'attribut align="center" dans la balise <col>, en donnant une id à la <col id="ColD"> puis en créant la règle #ColD td {text-align : center}, rien n'y fait.

Le billet de blog que je cite montre justement que le centrage du texte ne fonctionnera qu'avec IE (6 et7), et pas avec Firefox, Opera et Safari.

Utiliser une classe me semble donc bien plus efficace.
On ne va pas troller sur ce sujet, mais je ne vois pas bien du coup, en matière d'économie, l'intérêt de faire <td class="nbf"> au lieu de <td align="right">, c'est en ce sens que je parle de lourdeur par rapport à l'apllication d'un style à <col>.
J'ai bien écrit en matière d'économie, car la classe "nbf" pourrait être plus riche qu'un simple text-align: right et la compatibilité XHTML.
Je pense donc que ce post est clos.
Merci encore à tous.
Amike, MK.
Modifié par Maljuna Kris (21 Sep 2006 - 09:19)