hello
voila j'ai voulut l'atribut css
word-wrap:break-word;

a une balise td d'un tableau contenant de adresse mail, parfaois un peu longue
mais pas moyen ca ne marche, td ne fait pas partie de balises sur laquelle un word-wrap marche

j'ai donc du ruser en metant mettant une balise <p>
autour de mon adresse mail et en attribuant ce word-wrap acette balise<p>

<table>
	<tr>		      <td><p>monadressemail@masociete.com</p></td>					
	</tr>
</table>


table td p {
  width:120px;
  word-wrap:break-word;  
}


d'ou mes questions ;
y at'il un moyen d'attribut un word-wrap directement a une balise td (sans tricher avec une balise<p>)?
et est-ce tres vraiment conseiller de mettre une balise <p> dans une <td>, sachant que c'est juste pour mettre un mot, est-ce tres sémantique?
Administrateur
Bonjour,

le tableau est un animal à l'échine très souple Smiley lol du moins par défaut et c'est probable que le moteur de rendu de ton navigateur adapte la largeur des cellules de ton tableau en fonction de leur contenu, en faisant au mieux avec d'une part le contenu et d'autre part tes CSS mais en ne les suivant pas forcément à la lettre.
MAIS il existe un second mode de rendu d'un tableau beaucoup plus respectueux des largeurs que tu vas indiquer à chacune de tes colonnes, mode de rendu qui s'active si tu indiques :
table-layout: fixed;

Là il y a des chances que le magique word-wrap fonctionne comme pour d'autres éléments (ça fait quelques temps que je n'ai plus utilisé cette combinaison, merci de me le signaler si ça ne fonctionne pas)
Si c'est juste pour mettre un mot et que la sémantique te pose problème, tu peux essayer avec un élément span.
bon et bien voila ce que j'y ai mis
et malheureusement non ca ne marche pas
la colonne s'adapte au texte et non l'inverse
alors bon je vais y mettre des span
merci a vous 2

table td, table th {
table-layout: fixed;
word-wrap:break-word; 
width:100px;
  
}