Bonjour à tous,
Voilà un petit moment que je fouille le web pour trouver un moyen de forcer les chaînes de caractère (sans espaces) à se couper.
Je m'explique :
Je suis (malheureusement) obligé de travailler avec des tableaux (svp pas de débat sur l'inutilité des tableaux, je le sais fort bien mais c'est le boulot j'suis obligé pour le moment ... ), qui ont des cellules de taille fixe.
Imaginons :
Code :
- td.montableau {
- width:50pt;
- height:50pt;
- }
- (...)
- <table>
- <tr><td class="montableau">
- Contenu cellule
- </table>
|
Dans l'exemple ci-dessus, dans la cellule on verra "Contenu" sur une ligne et "Cellule" sur l'autre, tout à fait normalement.
Bon maintenant imaginons que je remplace par :
Code :
- (...)
- <table>
- <tr><td class="montableau">
- Anticonstitutionnellement
- </table>
|
eh bien la largeur de la cellule est automatiquement ajustée (agrandie, en l'occurence) et ça je ne le veux pas.
Je cherche donc à faire comprendre au navigateur que une fois que les lettres ont atteint le bord de la cellule, elles doivent continuer sur la ligne suivante dans le genre :
Anticonstituti
onnellement
(je n'ai pas besoin de les couper de manière "officielle" avec un trait d'union comme sur Word par exemple)
Voici les voies que j'ai déjà explorées :
- Je pense qu'il y a moyen de faire une fonction qui coupe la chaîne affichée en mini-chaînes de 1 caractère collées les unes aux autres, mais c'est lourdingue au possible.
- J'ai trouvé la propriété "table-layout:fixed;" (http://www.w3.org/TR/REC-CSS2/tables.html#propdef-table-layout) mais celle-ci ne fonctionne que sur IE (et bien sûr je bosse sur Firefox...) et en plus le mot n'est juste pas affiché dans son entiéreté ; il n'est pas "coupé".
- Il existe une foule de recommandations CSS3 chez W3C (http://www.w3.org/TR/css3-text/) (word-break et compagnie) mais je n'arrive pas à les mettre en place, c'est très nébuleux et je crains que l'intégration CSS3 dans Firefox soit encore fort peu définie.
CSS doit sûrement permettre de faire ça sans trop se compliquer la vie, mais je ne trouve pas ...
Quelqu'un ici peut me mettre sur la voie please ?
Message édité par ZeBix le 13-04-2005 à 16:09:16