Largeur max d'un tableau
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!
+++
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?
+++
Je ne dirais qu'une chose, essaye :)
ben je viens d'essayer les deux, et ni l'un ni l'autre ne marchent!
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...
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!
+++
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 !
OK merci je vais voir ca!
+++
Ecrire un message
Votre message vient d'être créé avec succès.
BB-Code
Pour insérer une URL clickable
Pour insérer une adresse E-mail
Pour annoter
Pour écrire du code
Pour faire un lien vers une fonction PHP
Pour écrire du texte préformaté
Pour écrire du texte en gras
Pour écrire du texte en italique
Pour écrire du texte souligné
Pour écrire du texte barré
Pour écrire un titre principal
Pour écrire un titre secondaire
Pour écrire une liste
Smiley
:bond:
:boxe:
:bsmile:
:bump:
:clap:
:coeur:
:cool:
:cry:
:eek:
:evil:
:fleur:
:fou2:
:fou:
:grin:
:grrr:
:hammer:
:hippy:
:hum:
:idee2:
:idee:
:kdo:
:king:
:ko:
:lol:
:love2:
:love:
:mad:
:maitre:
:noel:
:oops:
:raa:
:razz:
:roll:
:sad:
:skull:
:smile:
:timide:
:trink:
:vice:
:vomi:
:wink:
:zzz: