Debordement d'un texte avec css

  • Auteur de la discussion Auteur de la discussion waouh
  • Date de début Date de début
WRInaute discret
Bonjour,

j'essaye de mettre en place un systeme de commentaires sur mon site.

J'utilise un <div> pour chaque commentaire et à l'interieur je met le texte dans la balise <p>

Le probleme est que le bloc a une taille fiche de 540px et que si un membre tape un mot plus long que 540px, il deborde du bloc. Si il sagit d'un texte avec des espaces tout fonctionne mais pas un mot de plus de 540px

Existe il un moyen pour contrer ce probleme ou dois je utiliser le php pour couper le mot au bout de 20 ou 30 caracteres par exemple ?

Sachant que le texte est tapé et mis en forme par le membre donc un mot de 10 lettres peut eventuellement faire plus de 540px alors qu'un autre mot de 50 caracteres mis en forme avec une petite taille ne depassera pas les 540px
 
WRInaute impliqué
Pour faire une césure artificielle, il te faudra utiliser php.
Et tu peux faire ça de façon tolérante, mais en considérant qu'au delà d'une certaine limite, l'utilisateur le fait exprès, auquel cas tu peux cacher ce qui dépasse de ton div avec un overflow : hidden.
 
WRInaute discret
le probleme avec php est de tenir compte de la taille de la police.

SI le mot tapé est d'une petite taille, il ne debordera pas, d'une grande taille, il debordera par contre
 
WRInaute discret
ben il arrive que les membres ecrivent :

Code:
Merciiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii

ou alors, vu qu'ils peuvent choisir la taille du texte grace a fckeditor
Il arrive qu'ils mettent :
Code:
<font size="7">Merciiiiiiiiiiiiiiiiii</font>

Et ca suffit a faire deborder le texte
 
WRInaute impliqué
Dans ce cas, contente toi de cacher ce qui dépasse de la zone d'affichage.
Ils apprendront rapidement à être plus "pondérés" dans leurs émotions :D
 
WRInaute occasionnel
Eh bien tu peux faire ça en CSS.
La propriété overflow te permet de faire ça.

Dans ton CSS
Code:
p 
{
overflow: propriete
}

avec ces différentes possibilités pour "propriete" :
  • visible : le texte déborde
  • hidden : le texte est coupé si trop long (équivalent du troncage)
  • scroll : le texte est coupé et une scrollbar apparait
  • auto : si le texte est trop long alors une scrollbar apparait
 
WRInaute impliqué
Petite correction sur les termes: c'estoverflow la propriété. Ce qui est de l'autre côté des : c'est une valeur possible de cette propriété.

Signé :le chipoteur
 

➡️ Offre MyRankingMetrics ⬅️

pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)

Voir les détails ici

coaching SEO
Discussions similaires
Haut