W3docs

CSS text-overflow-Eigenschaft

Mit der CSS-Eigenschaft text-overflow legen Sie fest, wie überlaufender Inline-Text signalisiert wird. Werte und Beispiele.

Die CSS-Eigenschaft text-overflow legt fest, wie Inhalt, der seinen Container überläuft, dem Benutzer signalisiert wird – üblicherweise durch Abschneiden oder durch Ersetzen des verborgenen Teils mit einem Auslassungszeichen (). Sie gehört zu den CSS3-Eigenschaften.

Diese Seite behandelt Syntax und Werte, die drei Bedingungen, die ein Box-Element erfüllen muss, damit text-overflow wirksam wird, das Kürzen mehrerer Zeilen, einen häufigen Flexbox-Fallstrick sowie eine vollständige Übersicht der Werte.

Warum drei Eigenschaften zusammen benötigt werden

Allein bewirkt text-overflow nichts. Es beschreibt lediglich, wie bereits überlaufender Text gerendert werden soll, daher muss der Text zuerst tatsächlich überlaufen und der überschüssige Teil ausgeblendet werden. Für das einzeilige Kürzen benötigen Sie alle drei folgenden Eigenschaften am selben Element:

  • white-space: nowrap — verhindert den Zeilenumbruch und zwingt den Text auf eine einzige Zeile, die über die Box hinausläuft.
  • overflow: hidden — schneidet den Teil ab, der aus der Box herausragt (ohne diese Angabe wäre der Text außerhalb der Box sichtbar).
  • text-overflow: ellipsis — weist den Browser an, den abgeschnittenen Text mit einem Auslassungszeichen anstelle eines harten Schnitts zu kennzeichnen.

Fehlt eine dieser Angaben, wird das Auslassungszeichen nicht angezeigt. Das Box-Element benötigt außerdem eine begrenzte Breite (oder max-width), damit überhaupt etwas überlaufen kann.

In CSS3 kann anstelle des Auslassungszeichens auch ein benutzerdefinierter string angegeben werden. Ein string-Wert darf Leerzeichen enthalten, oder es kann ein beliebiger anderer benutzerdefinierter string verwendet werden. In älteren Entwürfen der Spezifikation war auch eine URL zu einem Bild möglich, was jedoch gestrichen wurde.

Anfangswertclip
Gilt fürBlock-Container-Elemente.
VererbbarNein.
AnimierbarNein.
VersionCSS3
DOM-Syntaxobject.style.textOverflow = "ellipsis";

Syntax

CSS text-overflow-Werte

text-overflow: clip | ellipsis | string | initial | inherit;

Beispiel der text-overflow-Eigenschaft:

CSS text-overflow Codebeispiel

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      div {
        white-space: nowrap;
        background-color: #eee;
        width: 50px;
        overflow: hidden;
        text-overflow: ellipsis;
        border: 1px solid #666;
      }
    </style>
  </head>
  <body>
    <h2>Text-overflow property example</h2>
    <h3>text-overflow: ellipsis</h3>
    <div>Lorem Ipsum</div>
  </body>
</html>

Ergebnis

CSS text-overflow mit clip- und ellipsis-Werten

Beispiel der text-overflow-Eigenschaft mit den Werten „clip", „ellipsis" und „initial":

CSS text-overflow clip, ellipsis Wertebeispiel

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      div.element1 {
        white-space: nowrap;
        background-color: #eee;
        width: 50px;
        overflow: hidden;
        text-overflow: clip;
        border: 1px solid #666;
      }
      div.element2 {
        white-space: nowrap;
        background-color: #eee;
        width: 50px;
        overflow: hidden;
        text-overflow: ellipsis;
        border: 1px solid #666;
      }
      div.element3 {
        white-space: nowrap;
        background-color: #eee;
        width: 50px;
        overflow: hidden;
        text-overflow: initial;
        border: 1px solid #666;
      }
    </style>
  </head>
  <body>
    <h2>Text-overflow property example</h2>
    <h3>text-overflow: clip</h3>
    <div class="element1">Lorem Ipsum</div>
    <h3>text-overflow: ellipsis</h3>
    <div class="element2">Lorem Ipsum</div>
    <h3>text-overflow: initial</h3>
    <div class="element3">Lorem Ipsum</div>
  </body>
</html>

Mehrere Zeilen kürzen

text-overflow: ellipsis funktioniert nur bei einer einzelnen Zeile. Um Text auf eine feste Anzahl von Zeilen zu begrenzen und nach der letzten Zeile ein Auslassungszeichen einzufügen, verwenden Sie den -webkit-line-clamp-Ansatz. Er wird trotz des Vendor-Präfixes von modernen Browsern weitgehend unterstützt:

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      div {
        width: 200px;
        background-color: #eee;
        border: 1px solid #666;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        overflow: hidden;
      }
    </style>
  </head>
  <body>
    <h2>Clamp to two lines</h2>
    <div>
      Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
      eiusmod tempor incididunt ut labore et dolore magna aliqua.
    </div>
  </body>
</html>

Hier wird white-space: nowrap nicht gesetzt, da der Text umbrechen muss, bevor er begrenzt wird.

Fallstrick: Flexbox- und CSS Grid-Kindelemente

Ein Flex- oder Grid-Element hat standardmäßig min-width: auto, was verhindert, dass es unter die intrinsische Größe des Inhalts schrumpft. Das verhindert, dass overflow: hidden greift, sodass das Auslassungszeichen nie erscheint, obwohl alle drei Eigenschaften gesetzt sind. Die Lösung besteht darin, min-width: 0 (oder overflow: hidden) zum kürzenden Element hinzuzufügen:

.flex-child {
  min-width: 0;        /* allow the item to shrink */
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

Werte

WertBeschreibungAusprobieren
clipSchneidet den Text an der Grenze des Inhaltsbereichs ab; das Abschneiden kann mitten in einem Zeichen erfolgen. Dies ist der Standardwert.Ausprobieren »
ellipsisRendert ein Auslassungszeichen („..."), um den abgeschnittenen Text anzuzeigen. Hinweis: Funktioniert nur bei einer einzelnen Textzeile.Ausprobieren »
&lt;string&gt;Rendert den angegebenen string, um den abgeschnittenen Text darzustellen. Der string wird innerhalb des Inhaltsbereichs angezeigt. Hinweis: Eingeschränkte Unterstützung in älteren Browsern.Ausprobieren »
initialSetzt die Eigenschaft auf ihren Standardwert zurück.Ausprobieren »
inheritErbt die Eigenschaft vom übergeordneten Element.

Übungsaufgabe

Übung
Die text-overflow-Eigenschaft funktioniert, wenn
Die text-overflow-Eigenschaft funktioniert, wenn
Was this page helpful?