102 votes

Méthode CSS pour aligner horizontalement le tableau

Je veux montrer une table de largeur fixe au centre de la fenêtre du navigateur. Maintenant j'utilise

 <table width="200" align="center">
 

Mais Visual Studio 2008 donne un avertissement sur cette ligne:

L'attribut 'align' est considéré comme obsolète. Une nouvelle construction est recommandée.

Quel style CSS devrais-je appliquer à la table pour obtenir la même présentation?

196voto

VonC Points 414372

Steven est en droit, en théorie:

la "bonne" façon de centre d'une table à l'aide de CSS. Conforme navigateurs devraient centre de tables, si les marges gauche et droite sont égales. La façon la plus simple d'y parvenir est de mettre les marges gauche et droite sur "auto". Ainsi, on peut écrire dans une feuille de style:

table
{ 
margin-left: auto;
margin-right: auto;
}

Mais l'article mentionné au début de cette réponse vous donne tous les autre façon de centre d'une table.

Un élégant css cross-browser solution: Cela fonctionne dans les deux MSIE 6 (Bizarreries et des Normes), Mozilla, Opera et même Netscape 4.x sans paramètre explicite largeurs:

div.centered 
{
    text-align: center;
}
div.centered table 
{
    margin: 0 auto; 
    text-align: left;
}


<div class="centered">
    <table>
    …
    </table>
</div>

19voto

jalbert Points 1657

Essaye ça:

 <table width="200" style="margin-left:auto;margin-right:auto">
 

2voto

Ola Tuvesson Points 2557

Simple. IE6 et au-dessus seront heureux de vous au centre de votre table avec "margin: 0 auto;" si seulement la page s'affiche dans les "normes" de mode. Pour ce faire, vous devrez présenter une déclaration doctype, tels que

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

ou

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

Vrai, IE5.5 et ci-dessous refusent encore de centre de la table, mais peut-être que vous pouvez vivre avec ça, surtout si la page est encore fonctionnelle à la table à gauche. Je pense que maintenant les utilisateurs de IE5.5 et ci-dessous sont assez utilisé pour certaines étrange à la recherche de sites web, mais vous avez encore le besoin de s'assurer que ces visuels pépins de ne pas rendre votre site inutilisable.

Amusez-vous bien!

EDIT: Désolé, je devrais peut-être signaler que vous n'avez pas à avoir une "stricte" doctype pour obtenir IE6 et dans les "normes" mode de rendu. J'ai réalisé qu'il pourrait sembler de cette façon, à partir du doctype exemples que j'ai posté ci-dessus. Par exemple, cette déclaration doctype sera bien sûr de fonctionner de la même manière:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

0voto

Steven A. Lowe Points 40596
 style="text-align:center;"
 

(je pense)

ou vous pouvez simplement l'ignorer, cela fonctionne toujours

0voto

bigmattyh Points 9167

Cela devrait fonctionner:

 <div style="text-align:center;">
  <table style="margin: 0 auto;">
    <!-- table markup here. -->
  </table>
</div>
 

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