Heim > Web-Frontend > CSS-Tutorial > Wie erstelle ich einen mehrzeiligen Textüberlauf mit Auslassungspunkten in einem Div mit fester Breite?

Wie erstelle ich einen mehrzeiligen Textüberlauf mit Auslassungspunkten in einem Div mit fester Breite?

Mary-Kate Olsen
Freigeben: 2024-12-26 17:18:09
Original
970 Leute haben es durchsucht

How to Create Multi-Line Text Overflow with Ellipsis in a Fixed-Width Div?

Browserübergreifender mehrzeiliger Textüberlauf mit angehängten Ellipsen in einer festen Breite und Höhe

Problem:

Wie Können wir eine Ellipse auf einem <div> erstellen? mit einer festen Breite und mehreren Zeilen, um sicherzustellen, dass der übergelaufene Text abgeschnitten wird?

Lösung:

Um dies zu erreichen, können wir ein jQuery-Snippet verwenden, um das wiederholt zu entfernen Lesen Sie das letzte Wort des Textes, bis es in den gewünschten Bereich passt Höhe.

Implementierung:

  1. Definieren Sie das HTML-Markup für das <div> mit einer festen Breite und Höhe und einem Absatz (

    ), der den Text enthält.

  2. Fügen Sie das CSS hinzu, um den Überlauf auf ausgeblendet zu setzen und sicherzustellen, dass die Kürzung unsichtbar bleibt.
  3. Erstellen Sie eine jQuery-Funktion, um die Kürzung durchzuführen. Diese Funktion wird:

    • die

      -Datei abrufen. Element und speichern Sie es in der Variablen $p.

    • Berechnen Sie die Höhe des <div> und speichern Sie es in der Variablen divh.
    • Verwenden Sie eine While-Schleife, um das letzte Wort des Textes zu entfernen, bis es in die gewünschte Höhe passt. Die Schleife verwendet die Funktion text(), um den Inhalt der

      -Datei zu aktualisieren. mit dem aktualisierten, abgeschnittenen Text.

Zusätzliche Überlegungen:

  1. Dieser Ansatz erfordert JavaScript zum Abschneiden. Erwägen Sie die Kombination mit serverseitiger Kürzung, um die Leistung zu verbessern.
  2. Fügen Sie eine Breite hinzu: 100 % zum

    CSS, um sicherzustellen, dass es die volle Breite des einnimmt <div>.

Beispiel:

HTML

<div>
Nach dem Login kopieren

CSS

#fos {
  width: 300px;
  height: 190px;
  overflow: hidden;
}

#fos p {
  width: 100%;
  padding: 10px;
  margin: 0;
}
Nach dem Login kopieren

jQuery

var $p = $('#fos p');
var divh = $('#fos').height();

while ($p.outerHeight() > divh) {
  $p.text(function (index, text) {
    return text.replace(/\W*\s(\S)*$/, '...');
  });
}
Nach dem Login kopieren

Demo: https://jsfiddle.net/w0n5cy2j/

Das obige ist der detaillierte Inhalt vonWie erstelle ich einen mehrzeiligen Textüberlauf mit Auslassungspunkten in einem Div mit fester Breite?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage