je voudrais savoir comment empecher un tableau d'etre étendu en fonction du contenu. Car j'ai un forum, et parfois si on met un lien trop grand ou une image trop large, ca me deforme tout mon site.
Plusieurs solutions s'offrent à toi :
- traiter le texte (ou le lien) en PHP pour y insérer des espaces et ainsi faire passer le texte à la ligne
- utiliser la proprité CSS overflow hidden qui fait en sorte que le texte qui ne "rentre" pas dans le tableau sera "caché" (c'est ce que fait dailymotion sur le titre des vidéos par exemple). Par contre, il me semble que cette solution fonctionne que si tu donnes une taille clairement définie en pixel et non en pourcentage à ton élément (FF y arrive, mais pas IE qui demande une taille fixe en pixels).
Pour les images, deux solutions aussi :
- si tu connais la taille de ton tableau (c'est à dire si il a une taille fixe en pixel), si c'est une image que les gens uploadent, tu peux la traiter et la redimensisonner avec les fonctions d'image de PHP pour qu'elle rentre pil poil dans ton tableau
- si ton tableau a une taille variable, tu peux utiliser du javascript : tu fais un parseur DOM qui va cacher toutes les images au onload de la page, puis une fois la page chargée, tu recuperes la largeur du tableau, puis, tu analyses chaque image de la page : si elle est trop grande, tu lui set un width plus petit que la largeur tu tableau, puis tu l'affiches, et tu passes à la suivante, si la suivante à une taille inférieure au tableau, tu l'affiches direct, et ainsi de suite (20 lignes de JS maximum).
OK merci pour ta reponse.
Je suis plutot intéressé par les solutions avec CSS. Je vais tester le "overflow hidden". Mais j'avais deja vu une propriété "maxwidth", est-ce qu'elle ne peut pas me servir dans ce cas?
Donc ce que tu peux faire, c'est :
- virer ton tableau et faire un div
- mettre un div dans le td (div qui aura le overflow hidden) << cette solution est la plus crade, mais bon...