Bonjour à tous !
Il y a une question que je me pose depuis un petit moment, et pour laquelle je n'ai pas encore vraiment trouvé de réponse. Je vous la soumet donc, en ésperant que vous pourrez m'éclairer.
Donc, voilà, je recode mon site en strict et j'ai des tableaux dans mes pages (pour afficher des données tabulaires). D'après les recommandations du W3C, il ne faut pas laisser trainer des attributs tels que width="50%" dans les balises <table> ou <td>. Il faut tout mettre dans une feuille de style.
Pour en revenir à mes tableaux, j'utiliseà chaque fréquement les mêmes styles, mais dans des cellules de taille variable. Exemple : un coup j'ai :
et
Sachant que fixer les styles "en ligne", n'est pas très propre, il faut les mettre dans une feuille de style. Mais cela signifie que je dois créer une classe pour chaque largeur de cellule ? Pareil en fonction de l'alignement du texte par exemple ? Ce qui donnerait par exemple :
CSS
HTML
La question peut paraître un peu bête, mais je n'ai vu ça nulle part, donc je sais pas si je ne passe pas à côté d'une autre solution, et comme j'utilise pas mal de largeurs différentes, je me posais la question.
Par ailleurs, je me pose une autre question, faut il aussi définir la largeur pour chaque td, ou la définir uniquement en tête de colonne (<th>) suffit ?
D'avance merci pour vos éclairages
Modifié par le_fleau (26 Jun 2006 - 00:55)
Il y a une question que je me pose depuis un petit moment, et pour laquelle je n'ai pas encore vraiment trouvé de réponse. Je vous la soumet donc, en ésperant que vous pourrez m'éclairer.
Donc, voilà, je recode mon site en strict et j'ai des tableaux dans mes pages (pour afficher des données tabulaires). D'après les recommandations du W3C, il ne faut pas laisser trainer des attributs tels que width="50%" dans les balises <table> ou <td>. Il faut tout mettre dans une feuille de style.
Pour en revenir à mes tableaux, j'utiliseà chaque fréquement les mêmes styles, mais dans des cellules de taille variable. Exemple : un coup j'ai :
<table class="machin">
<tr><th style="width:50%">Titre 1</th>
<th style="width:50%">Titre 2</th></tr>
<tr><td class="truc"></td><td class="truc2"></td></tr>
</table>
et
<table class="machin">
<tr><th style="width:25%">Titre 1</th>
<th style="width:25%;text-align:center">Titre 2</th>
<th style="width:50%">Titre 3</th></tr>
<tr><td class="truc"></td>
<td class="truc2"></td>
<td class="truc2"></td></tr>
</table>
Sachant que fixer les styles "en ligne", n'est pas très propre, il faut les mettre dans une feuille de style. Mais cela signifie que je dois créer une classe pour chaque largeur de cellule ? Pareil en fonction de l'alignement du texte par exemple ? Ce qui donnerait par exemple :
CSS
<style type=text/css">
.td25 {
width:25%;
}
.td50 {
width:50%;
}
.center {
text-align:center;
}
</style>
HTML
<table class="machin">
<tr><th class="td25">Titre 1</th>
<th class="td25 center">Titre 2</th>
<th class="td50">Titre 3</th></tr>
<tr><td class="truc"></td>
<td class="truc2"></td>
<td class="truc2"></td></tr>
</table>
La question peut paraître un peu bête, mais je n'ai vu ça nulle part, donc je sais pas si je ne passe pas à côté d'une autre solution, et comme j'utilise pas mal de largeurs différentes, je me posais la question.
Par ailleurs, je me pose une autre question, faut il aussi définir la largeur pour chaque td, ou la définir uniquement en tête de colonne (<th>) suffit ?
D'avance merci pour vos éclairages

Modifié par le_fleau (26 Jun 2006 - 00:55)