2010-05-19 6 views
9

une table html cols et les lignes sont générées dynamiquement,largeur automatique sur les tables

i.e., pour le premier exemple, il pourrait y avoir deux rangées et colonnes là. et la prochaine fois, il pourrait être deux lignes et 10 colonnes

Ma question est de savoir comment régler la avec automatiquement de la table afin que la table apparaît toujours 100% dans la page de réglage de la taille de coulmn et la taille de la ligne

<table> 
    <tr><td></td><td></td><td></td></tr> 
    <tr><td></td><td></td><td></td></tr> 
    </table> 

    <table> 
    <tr><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr> 
    <tr><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr> 
    <tr><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr> 
    </table> 

Merci ..

+0

indépendamment de la bonne réponse, le contenu de chaque TD peut modifier la taille de la table, par exemple, si une grande image est placée dans un td, elle peut fausser la taille de la colonne. Comment cela devrait-il être géré? – Mauro

Répondre

5

Utilisation CSS:

<style type="text/css"> 
table { width: 100%; } 
</style> 
<table> 
... 
</table> 

ou en utilisant un style en ligne CSS:

<table style="width: 100%"> 
... 
</table> 

ou en utilisant vieux HTML scolaire:

<table width="100%"> 
... 
</table> 
3

Mettre

width = "100%"

Dans votre balise de table - il sera toujours une largeur de 100%. C'est ce que vous vouliez dire?

+0

Bien que ce soit correct, ce n'est pas une bonne pratique. –

+0

Pourquoi pas? Je ne suis pas d'accord - et bien que je n'utilise pas de tables fréquemment, je n'ai jamais eu de problème en utilisant cela et je ne l'ai pas vu non plus qu'il ne devrait pas être utilisé. –

+0

Mais ce qui se passera à la largeur td, il devrait être ajusté automatiquement est-il .. – Hulk

0

Vous pouvez essayer d'utiliser un fichier css dans lequel vous pouvez écrire

table { 
    width: 100%; 
    height: 100%; 
} 

Ou vous pouvez préfixer les lignes suivantes dans votre fichier html

<style type="text/css"> 
    table { width: 100%; height: 100%; } 
</style> 
+1

Vous avez mal orthographié "hauteur". – Asaph

+0

@Asaph - Merci pour l'indice. Il est si tôt le matin. ;) – TheMorph

0

Le meilleur que je connaisse à ce jour, est la suivante:

.my-table-class { 
    box-sizing: border-box; 
    width: 100%; 
} 

Si vous n'utilisez pas box-sizing: border-box;, vous obtiendrez de mauvais résultats dès que votre table a paddings et frontières. L'utilisation de width: 100%; n'est pas suffisante. Indice: identique pour un élément avec display: table;.

Questions connexes