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

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
DDDoriginal
2024-10-27 08:23:30524parcourir

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>
<code class="css">#fos {
  width: 300px;
  height: 190px;
  overflow: hidden;
}
#fos p {
  padding: 10px;
  margin: 0;
}</code>

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>

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!

Déclaration:
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