Comment empêcher la césure en utilisant le débordement de texte
P粉464208937
2023-09-03 15:00:49
<p>J'essaie de définir un nombre maximum de lignes pour certains titres, mais le problème est que parfois une ligne se termine par un trait d'union. Ce dont j'ai besoin, c'est que si un mot doit être brisé, il doit être complètement caché et les ellipses placées après le mot précédent. </p>
<p>Ce code montre le problème : </p>
<p>
<pre class="brush:css;toolbar:false;">#head {
largeur : 300 px ;
taille de police : 20 px ;
affichage : -webkit-box !important ;
couleur : #000000 !important ;
débordement de texte : points de suspension !important ;
-webkit-line-clamp : 4 !important;
-webkit-box-orient : vertical !important ;
débordement : caché !important ;
}</pré>
<pre class="brush:html;toolbar:false;"><!DOCTYPE html>
<html>
<div id="head">
Lorem Ipsum est simplement un texte factice de l'industrie de l'imprimerie et de la composition. Lorem Ipsum est le texte factice standard de l'industrie depuis les années 1500, lorsqu'un imprimeur inconnu a pris une galère de caractères et l'a brouillée pour en faire un texte factice.
</div>
</html></pre>
</p>
<p>Il y a une coupure dans le mot « jamais », puis-je empêcher que cela se produise ? </p>
Pour masquer complètement la césure et placer les points de suspension après le mot précédent, vous pouvez utiliser JavaScript pour manipuler le contenu du texte. Voici un exemple de la façon de modifier votre code pour y parvenir :
Dans ce code, la fonction JavaScript
truncateText
est utilisée pour tronquer le contenu du texte lorsqu'il dépasse la longueur maximale spécifiée. Cette fonction trouve le dernier caractère espace dans la longueur maximale et remplace le texte restant par des points de suspension.Vous pouvez ajuster le paramètre
maxLength
au nombre de caractères souhaité avant d'ajouter les points de suspension.