Aller au contenu

problème d'affichage


recherche_webmaster

Sujets conseillés

Bonjour,

j'ai hésité entre ce forum et le forum html/css. Il me semble que celui ci est plus approprié.

Sur firefox, le tableau est trop large.

Sur internet explorer c'est la même chose pour les tableaux des compléments.

Le texte à l'intérieur du tableau reste de largeur fixe et ne se redimensionne pas tout seul, comme c'est le cas pour n'importe quelle autre page du site.

Hors sur ces pages, il y a des balises html, <br> et <p> alors qu'il n'y en a pas ailleurs, et ailleurs il n'y a pas de problème non plus.

Le contenu provient d'une base de donnée.

Qu'est ce qui se passe ??

**edit** il y a aussi un problème sur l'accueil, avec firefox: l'imagette "nouveaux compléments" dégage un espace beaucoup trop important dans la cellule, je ne pige pas. Peut être que le problème est un simple problème d'affichage dûs aux tableaux pourtant le code est bon je crois (c'était peut être pas le bon forum après tout, dsl).

Modifié par recherche_webmaster
Lien vers le commentaire
Partager sur d’autres sites

Donc le nouveau thème du post :

Sur mon site j'ai des tableaux, dans lesquels s'affichent des urls.

Lorsque celle-ci sont trop longues, du fait qu'elles comptent pour un seul mot sans espace, elles cassent la mise en page.

Comment puis-je faire pour régler ce problème? Placer un <br> automatique si elles dépassent un certains nombre de caractère? Ou il y a déjà une fonction dédiée à cela? Ou vous avez une autre idée?

Lien vers le commentaire
Partager sur d’autres sites

Il faut utiliser le style "overflow: hidden" ou "overflow: auto"; ils font respectivement: cacher la fin du texte qui déborde, rajouter un ascensseur si ça dépasse.

C'est pas très esthétique finalement, tu peux sinon utiliser le style "text-align: justify"

Biensur il faut que tu ais aussi indiqué une largeur de départ pour que ces styles fonctionnent.

A toi de voir ce qui rend le mieux ;)

edit: du coté de php,

tu peux utiliser la fonction wordwrap puis d'y appliquer la fonction nl2br().

Modifié par Boo2M0rs0
Lien vers le commentaire
Partager sur d’autres sites

Une <div> css dans un tableau alors? parce que overflow ça n'existe pas pour les cellules <td> non?

Je crois que je préfère ouvrir l'url dans une nouvelle fenêtre redimensionnée ça fera plus léger à l'affichage. A défaut de la tronquer de manière dynamique.

Modifié par recherche_webmaster
Lien vers le commentaire
Partager sur d’autres sites

Une <div> css dans un tableau alors? parce que overflow ça n'existe pas pour les cellules <td>  non?

Je crois que je préfère ouvrir l'url dans une nouvelle fenêtre redimensionnée ça fera plus léger à l'affichage. A défaut de la tronquer de manière dynamique.

<{POST_SNAPBACK}>

Si, tu peux appliquer un style à n'importe quelle balises, td , tr ou je ne sais quoi peuvent être utilisé avec du css ;)

Lien vers le commentaire
Partager sur d’autres sites

Parce que wordwrap ajoute des retour lignes (/n ) mais en html, le retour à la ligne se fait avec le tag <br />

Et nl2br est justement fait pour remplacer les retour à la ligne par ce tag ! ;)

Donc ça donne echo nl2br(wordwrap($ton_texte));

Modifié par Boo2M0rs0
Lien vers le commentaire
Partager sur d’autres sites

Ok mais sauf si je n'ai pas bien compris, ça n'est pas un problème puisque le résultat est le même pour l'affichage de mon url non?

Tu vas me dire non bien sur sinon tu en aurais pas parlé, mais je voudrais comprendre.

** edit ** deux minutes, j'ai raté quelque chose. En lisant le manuel php j'ai appliqué la technique du premier exemple au cas numéro 2 donc je ne peux pas encore voir le résultat. Et puis j'ai bavé.

**edit n°2**

je regarde la fonction wordwrap du manuel php :

<?php
 $text = "Un mot tres tres loooooooooooooooooong.";
 $newtext = wordwrap( $text, 8, "\n", 1);

 echo "$newtext\n";
?>
Cet exemple va afficher :

Un mot
tres
tres
looooooo
oooooooo
ooong.

à quoi sert le 1 après le \n ?

Modifié par recherche_webmaster
Lien vers le commentaire
Partager sur d’autres sites

alors je viens de faire cela, juste après la requete sql :

 

$url= "<a href=\"http://www.site.com/$req[url].htm\">$req[mot]</a> ";
newUrl = wordwrap( $url, 10,"\n",1 );

Mais ça m'affiche :

<a href="http :
//www.si te.com/m ot.htm"
>mot</a>

avec des espaces d'un goût douteux donc :blink:

Modifié par recherche_webmaster
Lien vers le commentaire
Partager sur d’autres sites

Ne fais pas de tableau: je te l'ai déjà dit quand tu te baladais sur le Hub avec un autre pseudo.

Tu verras tout sera plus simple. Toujours pas d'URL au fait ? çà nous faciliterait la tâche quand même..

PS: une "<div> css" çà n'existe pas..

Lien vers le commentaire
Partager sur d’autres sites

Je ne comprends pas..

Tu as la doc sous les yeux, et tu ne trouves pas à quoi sert le '1' ?

Si le paramètre cut est mis à 1, la chaîne sera toujours césurée à la taille width. Si vous avez un mot qui est plus long que la taille de césure, il sera coupé en morceaux.

le paramètre 'cut' définit si les mots doivent être coupés en morceaux après la taille 'width' ou non. Autrement dit, 'on coupe betement, sans réfléchir', ou 'on coupe, mais.. pas à la moitié du mot'.

Lien vers le commentaire
Partager sur d’autres sites

Tu as raison anonymus, mais hier soir j'étais fatigué, et quand je l'ai relu, après cela m'a sauté aux yeux.

Mais par contre je n'ai pas réussi à obtenir ma chaîne de caractère tronquée ET sans espaces indésirables.

Donc je fais apparaitre le lien dans un textarea, ça n'est pas valide HTML 4 mais le résultat fonctionne sur IE, firefox et netscape, donc ça fait l'afffaire.

Merci.

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...