Maison > interface Web > js tutoriel > le corps du texte

Comment pouvons-nous ajouter des points de suspension (...) pour indiquer la troncature sur un élément `` multiligne avec une largeur et une hauteur fixes ?

DDD
Libérer: 2024-10-27 08:23:30
original
523 Les gens l'ont consulté

How can we append ellipses (...) to indicate truncation on a multi-line `` element with a fixed width and height?

Gestion des points de suspension pour le débordement de texte multiligne à largeur fixe

Dans le domaine du développement Web, il est nécessaire de gérer avec élégance le débordement de texte dans un conteneur avec des valeurs spécifiées. largeur et hauteur. Comment pouvons-nous ajouter des points de suspension (...) pour indiquer la troncature sur un

element?

Solution possible :

jQuery propose une solution avec le balisage et le CSS suivants :

<code class="html"><div id="fos">
  <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit...</p>
</div></code>
Copier après la connexion
<code class="css">#fos {
  width: 300px;
  height: 190px;
  overflow: hidden;
}
#fos p {
  padding: 10px;
  margin: 0;
}</code>
Copier après la connexion

Le code jQuery à plusieurs reprises coupe le dernier mot du texte jusqu'à ce que la hauteur souhaitée soit atteinte :

<code class="javascript">var $p = $('#fos p');
var divh = $('#fos').height();
while ($p.outerHeight() > divh) {
  $p.text(function (index, text) {
    return text.replace(/\W*\s(\S)*$/, '...');
  });
}</code>
Copier après la connexion

Considérations :

  • Cette technique assure un résultat visuellement correct, même avec JavaScript désactivé.
  • La troncature côté serveur peut améliorer les performances.
  • Il s'agit d'une solution incomplète qui nécessite des affinements supplémentaires pour une mise en œuvre pratique.

Démonstration :

Une démonstration en direct est disponible sur jsFiddle : https://jsfiddle.net/5638d9y0/

Ressources supplémentaires :

  • [Tutoriel CSS Flexible Box](https://css-tricks.com/snippets/css/a-guide-to-flexbox/)
  • [Présentation de Flexbox](https://developer.mozilla .org/en-US/docs/Web/CSS/CSS_Flexible_Box_Layout/Using_CSS_flexible_boxes)
  • [Un guide complet de Flexbox](https://www.w3schools.com/css/css3_flexbox.asp)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal