[HTML & CSS] Empêcher une cellule d'agrandir une table

Bonjour,

J’ai un tableau tout simple, avec un contenu ressemblant à ça :

[code]

Nom Code
* Note très longue, très verbeuse, sur une seule ligne, etc, etc...
France fr
Allemagne * de
[/code]

Donc mes données forment des lignes relativement peu larges.

Mon problème se situe au niveau de mon tfoot, qui comprend une (ou plusieurs) notes longues liées aux données de mon tableau.

  • Sans la note, j’ai un tableau dont la largeur est très correcte, très lisible.
  • Avec la note, mon navigateur s’entête à agrandir mon tableau pour que la note soit, dans la mesure du possible, sur une seule ligne.

Or, je voudrais que mes notes ne provoquent pas l’agrandissement de la largeur du tableau, et que des retours à la ligne soient automatiquement ajoutés pour que ma note ne vienne pas exploser le tableau.

J’ai trouvé une solution pour firefox : table tfoot td { width: 1em; }
Mais sous ie, j’ai droit à un retour chariot après chaque mot.

J’aimerai une solution générique, sans forcer la largeur de quoi que ce soit, ni devoir insérer de
arbitraire dans ma note de bas de tableau.

Si certains ont des idées, j’ai déjà pas mal épluché les table-layout, overflow & cie sans succès.

Note pour ceux qui penseraient à un overflow : je ne veux pas tronquer mon texte de bas de tableau.

Et?

[code]<table width=“150”>

blablablabla blablaba [/code]

Donc tu forces la taille… Cela dit, tu peux aussi la forcer en %, par défaut c’est en pixel il me semble.

Edit: mince j’avais pas lu la fin…

Non, je ne veux pas forcer la taille.

L’ajustement automatiquement des tables à leur contenu me va très bien. Les tableaux ne sont pas saisis en html mais proviennent d’ailleurs, et sont destinés à être envoyés sur d’autres supports ensuite.

  • En % : ça fait très moche (certains tableaux ne sont vraiment pas larges alors que la page contenant le tableau l’est.
  • En pixels : ça dépendra trop du contenu, non maitrisé.

Bah en gros tu veux que ton tableau s’ajuste à son contenu SAUF pour une cellule ? Y a, à mon avis, une incohérence dans le raisonnement étant donné que le propre d’un tableau c’est justement d’avoir une taille de colonne et de ligne identique pour TOUTE la colonne ou la ligne ou pas du tout de taille pour TOUTE la colonne ou la ligne et dans ce cas tu laisse le browser se démerder.

Je vois deux solutions :

  • Soit tu passes par une taille de cellule fixe (solution que tu refuses, mais tu veux le beurre et l’argent du beurre en sus du popotin de la crémière là :))
  • Soit tu passes pas par un tableau, ce qui te laissera plus de liberté pour bricoler un truc (aucune garantie sur la cohérence de l’affichage par contre).

Y a peut-être la propriété max-width qui pourrait t’aider, mais elle n’est pas prise en compte par IE, faudra donc bidouiller un hack.

Et en forçant (oui, encore) la taille du tableau à un pourcentage de la page ? J’ai pas vérifé, mais si tu dis width=“70%” pour le tableau, celui ci prendra 70% de la fenêtre, donc sur une fenêtre de 1000px, il n’en occupera que 700.

td { white-space: nowrap }

Oui donc en faisant ça il va faire exactement le contraire de ce qu’il demande, à savoir mettre son footer sur une seule ligne…

Il n’empêche que sémantiquement ça se tient : J’utilise le pied de tableau pour inclure des informations supplémentaires non liées aux données, et je souhaiterai juste qu’elle s’en tiennent à leur rôle : des informations supplémentaires, qui n’ont pas vocation à gouverner l’apparence de ma table (en gros, elle s’écrase et ne se permet pas de défoncer mon layout).

Sortir l’information du tableau

Mais bon, j’ai aussi l’impression d’avoir atteint les limites des mise en page des tableau…

Je continue à creuser (pas ma tombe hein :))

Si tes donnes supplémentaires n’ont pas lieu d’être formatées de la même manière que le reste de la colonne, alors non sémantiquement parlant elles ne devraient pas se trouver dans la table selon moi. D’autant que là tu fais un colspan, autant rajouter un paragraphe APRES la table pour y inclure une légende, ça règle ton problème. :slight_smile:

Grmbl…

Bon, ca va finir comme ça. Sauf qu’il va falloir que je gère un type spécial de paragraphe pour que les rédacteurs puissent saisir une note de bas de tableau (une « légende » quoi), leur expliquer comment les utiliser, etc. etc.

Si certains trouvent des astuces, qu’ils n’hésitent pas quand même :slight_smile: