Largeur max d'un tableau

Répondre
maxroucool
le 27/04/2007 à 21:41
maxroucool
Slt tlm,

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.

Merci bp!
+++
LA GLOBULE
le 27/04/2007 à 22:01
LA GLOBULE
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).
maxroucool
le 29/04/2007 à 13:11
maxroucool
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?

+++
LA GLOBULE
le 29/04/2007 à 15:56
LA GLOBULE
Effectivement, mais cela fonctionne sur un div.

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...
maxroucool
le 29/04/2007 à 16:01
maxroucool
wai faudrait peut etre que je passe au xhtml, avec les div partout!

j'suis resté au code html des debutants avec des table partout!

Merci bp en tout cas La Globule!
Et le nouveau design est tres reussi!

+++
Keika
le 29/04/2007 à 16:49
Keika
tu n'as qu'a mettre ton tableau dans un div !
<div id="taille_max">
<table summary="whatever" style="width: 100% ;">
bla bla bla
</table>
</div>


Je pense que ca devrait le faire, et oui, remplace tes tableaux par des div, c'est plus jolie ! ^_^

Bon courage
Le PHP --> C'est dur !
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours