7
votes

Avoir une première colonne dans la table HTML flexible lorsque la largeur de table = 100%

J'ai une table HTML avec 8 colonnes et plusieurs lignes. Le contenu de chaque cellule est généré de manière dynamique et il est difficile de prédire la largeur de toute colonne. Je fixe la largeur de table = 100% comme je voudrais que la table occupe toute la largeur de la div. Je voudrais que les colonnes 2 à 8 restent de même que la largeur que si je n'avais pas défini de largeur de table. Ensuite, je voudrais que la première colonne élargisse sa largeur afin que la largeur de table devienne 100%. Est-ce possible?


0 commentaires

4 Réponses :


2
votes

Définir des largeurs explicites pour 2 à 8 et la cellule 1 déterminera sa propre largeur avec l'espace restant. Vous pouvez également définir une nid d'enveloppe pour le blancheur dans la première cellule également pour que le contenu ne s'enveloppe pas, mais forcer la cellule à se développer si nécessaire.


0 commentaires

0
votes

Je pense que votre question n'est pas complète, car lue littéralement, la réponse est de ne pas définir de largeurs de colonne. Chaque colonne prendra autant d'espace qu'elle le fera, et ils le distribueront en quelque sorte parmi les autres.

Pouvez-vous clarifier ce que vous souhaitez réaliser?


1 commentaires

Je sais que si je ne définissons aucune largeur de colonne, le navigateur distribuera l'espace supplémentaire des colonnes. Le problème est que je veux que tout cet espace supplémentaire soit accompli sur la colonne 1.



3
votes
<div>
<table width="100%">
<tr>
<td width="100%"></td>  <- this is col 1
<td></td><td></td><td></td><td></td><td></td><td></td><td></td> <- cols 2-8
</tr>
</table>
</div>
by setting the first cell to 100%, it will force that cell to try to be as wide as possible, while still respecting the widths of the rest of the cells.  If cells 2-8 contains text, you can add  so the text inside those cells do not get wrapped due to the first cell's attempt to be 100% width.

2 commentaires

L'attribut de largeur dans l'élément est considéré comme étiqueté par le consortium WWW (World Wide Web).


Non pris en charge dans HTML5 . Utilisez CSS à la place.



6
votes

Définissez une largeur sur la table et sur toutes les autres colonnes; La colonne restante prendra tout le relâchement.

L'astuce consiste à utiliser mise en page de table: fixe style de manière à ce que l'algorithme de devinette automatique (et c'est une interprétation particulièrement médiocre de celle-ci) t pas dans et gâcher le problème lorsqu'il existe des quantités plus grandes que prévu de contenu dans une colonne.

en mode de mise en page fixe, la première rangée de cellules ou Éléments d'éléments la largeur; D'autres lignes n'affectent pas les largeurs. Cela rend le rendu plus rapide; Vous devez utiliser la mise en page fixe pour chaque table que vous pouvez. xxx


0 commentaires