Heim > Web-Frontend > CSS-Tutorial > Warum funktioniert „Text-Overflow' nicht mit Flexbox und wie kann ich das Problem beheben?

Warum funktioniert „Text-Overflow' nicht mit Flexbox und wie kann ich das Problem beheben?

Susan Sarandon
Freigeben: 2024-12-15 03:19:12
Original
602 Leute haben es durchsucht

Why Doesn't `text-overflow` Work with Flexbox, and How Can I Fix It?

Warum funktioniert Text Overflow nicht mit Flex Display?

In CSS wird die Text-Overflow-Eigenschaft verwendet, um Text abzuschneiden, wenn er überschritten wird die verfügbare Breite seines Containers. Bei Verwendung zusammen mit display: flex funktioniert es jedoch möglicherweise nicht wie erwartet.

Beachten Sie den folgenden Code:

.flex-container {
  display: flex;
  text-overflow: ellipsis;
  overflow: hidden;
  text-align: left;
}
Nach dem Login kopieren
<h1>Flexible Boxes</h1>
<div class="flex-container">
Nach dem Login kopieren

In diesem Beispiel ist der Flex-Container ein Flexbox-Container, und der Text in seinem untergeordneten Div wird voraussichtlich abgeschnitten. Es kann jedoch sein, dass Sie auf das folgende Ergebnis stoßen:

Output: ThisIsASamp  
Expected: ThisIsASam...
Nach dem Login kopieren

Wenn Sie die Eigenschaft display: flex entfernen, funktioniert die Textkürzung wie erwartet. Also, was ist das Problem?

Das Problem liegt in der Art und Weise, wie display:flex den Platz innerhalb des Containers verteilt. Ohne Flex wird der Text auf die verfügbare Breite gestaucht und entsprechend gekürzt. Wenn jedoch Flex angewendet wird, wird das untergeordnete Element (das div) zu einem Flex-Element und erbt die Flexbox-Eigenschaften des Containers.

Um dieses Problem zu beheben, müssen Sie das untergeordnete Element explizit formatieren, um seinen Text abzuschneiden. Eine Möglichkeit, dies zu erreichen, besteht darin, eine separate Klasse für die Flex-Kinder zu erstellen und die entsprechenden Stile anzuwenden:

.flex-child {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
Nach dem Login kopieren

Durch die Anwendung dieser Stile auf das untergeordnete Element stellen Sie sicher, dass es seinen Text umschließt und bei Bedarf abschneidet notwendig, auch innerhalb eines Flexbox-Containers.

Das obige ist der detaillierte Inhalt vonWarum funktioniert „Text-Overflow' nicht mit Flexbox und wie kann ich das Problem beheben?. 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