330 votes

Qu'est-ce qui remplace cellpadding, cellspacing, valign et align dans les tableaux HTML5 ?

Sur Visual Studio je vois ces avertissements :

  • Validation (HTML 5) : L'attribut 'cellpadding' n'est pas un attribut valide de l'élément 'table'.
  • Validation (HTML 5) : L'attribut 'cellspacing' n'est pas un attribut valide de l'élément 'table'.
  • Validation (HTML 5) : L'attribut 'valign' n'est pas un attribut valide de l'élément 'td'.
  • Validation (HTML 5) : L'attribut 'align' n'est pas un attribut valide de l'élément 'td'.

S'ils ne sont pas des attributs valides dans HTML5 Qu'est-ce qui les remplace en CSS ?

4 votes

J'ai constaté que même avec HTML5, les attributs cellpadding et cellspacing sont toujours nécessaires. En d'autres termes, si ces attributs ne sont pas explicitement déclarés, le remplissage et l'espacement par défaut sont appliqués. Par conséquent, je constate que je dois toujours leur attribuer la valeur "0" afin d'annuler les valeurs par défaut. Il est possible qu'ils aient été dépréciés mais que les navigateurs ne les aient pas encore repérés. Les valeurs par défaut sont toujours appliquées dans la version 37 de Chrome.

518voto

drudge Points 11479
/* cellpadding */
th, td { padding: 5px; }

/* cellspacing */
table { border-collapse: separate; border-spacing: 5px; } /* cellspacing="5" */
table { border-collapse: collapse; border-spacing: 0; }   /* cellspacing="0" */

/* valign */
th, td { vertical-align: top; }

/* align (center) */
table { margin: 0 auto; }

6 votes

Il convient de noter que l'espacement des bordures ne semble fonctionner que si l'on utilise également cette propriété sur le tableau "border-collapse:separate ;".

3 votes

@Samir -- Il semble qu'un float:right; fera l'affaire. jsfiddle.net/HGFH7

70voto

Cole Johnson Points 3671

Cela devrait résoudre votre problème :

td {
    /* <http://www.w3.org/wiki/CSS/Properties/text-align>
     * left, right, center, justify, inherit
     */
    text-align: center;
    /* <http://www.w3.org/wiki/CSS/Properties/vertical-align>
     * baseline, sub, super, top, text-top, middle,
     * bottom, text-bottom, length, or a value in percentage
     */
    vertical-align: top;
}

0 votes

14voto

Xtian11 Points 93

Sur une table particulière

<table style="border-collapse: separate; border-spacing: 10px;" >
    <tr>
      <td>Hi</td>
      <td>Hello</td>
    <tr/>
    <tr>
      <td>Hola</td>
      <td>Oi!</td>
    <tr/>
</table>

3voto

JaiSankarN Points 61

On peut aussi l'utiliser pour une table particulière

 <table style="width:1000px; height:100px;">
    <tr>
        <td align="center" valign="top">Text</td> //Remove it
        <td class="tableFormatter">Text></td>
    </tr>
</table>

Ajoutez cette css dans le fichier externe

.tableFormatter
{
width:100%;
vertical-align:top;
text-align:center;
}

0 votes

1 votes

Css en ligne non recommandé.

0 votes

Oui, vous avez raison. Je ne le recommande pas. Nous utilisons un fichier css externe .ClassName{ width : 100% ; text-align : center ; vertical-align:top;} Merci

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X