CSS text overflow: ellipsis, line clamp i łamanie słów

Laboratorium CSS overflow i przycinania tekstu

CSS text overflow: ellipsis, line clamp, word break | We.Inc

Zmieniaj szerokość pola z długim adresem URL i niemieckim słowem złożonym, a potem testuj na żywo overflow, text-overflow: ellipsis, line clamp, word-break, overflow-wrap i hyphens, wraz z klasami Tailwind.

Długa treść wychodzi poza pole, gdy pole jest za małe. overflow decyduje, co dzieje się z nadmiarem: visible, hidden, clip, scroll lub auto. Aby uzyskać jedną linię zakończoną kropkami, połącz white-space: nowrap, overflow: hidden i text-overflow: ellipsis. Dla kilku linii użyj -webkit-line-clamp. Aby dzielić niełamliwe słowa, użyj overflow-wrap: anywhere.

Wybierz przepis na problem

Przeciągnij suwak szerokości, a przykładowe pole zwęży się wokół prawdziwego adresu internetowego, słowa Donaudampfschifffahrtsgesellschaft i zwykłego zdania. Każda opcja overflow, zawijania i przycinania to przycisk, wynik pojawia się natychmiast, a potrzebny CSS jest wypisany poniżej.

Najczęściej zadawane pytania

Dlaczego text-overflow: ellipsis nie działa?

Zwykle brakuje któregoś z jego partnerów. Element musi być blokowy lub inline-block z ograniczoną szerokością, mieć overflow ustawione na hidden lub clip i trzymać tekst w jednej linii dzięki white-space: nowrap. W elemencie flex lub grid dodaj też min-width: 0, aby element mógł się kurczyć.

Czy line-clamp działa bez prefiksu -webkit-?

Forma z prefiksem, czyli -webkit-line-clamp razem z display: -webkit-box i -webkit-box-orient: vertical, działa we wszystkich aktualnych głównych przeglądarkach i to ją generuje Tailwind. Właściwość line-clamp bez prefiksu z CSS Overflow Level 4 wciąż jest wdrażana, więc zanim zaczniesz polegać tylko na niej, sprawdź caniuse.

Czym różni się word-break od overflow-wrap?

overflow-wrap łamie słowo tylko wtedy, gdy inaczej by się nie zmieściło, więc zwykłe słowa zawijają się normalnie. word-break: break-all pozwala przeglądarce łamać wszędzie między dowolnymi dwiema literami, co daje poszarpany, trudny do czytania tekst. word-break: keep-all jest przeznaczony dla tekstu chińskiego, japońskiego i koreańskiego, gdy nie chcesz łamania wewnątrz słów.

Co robi overflow: clip, czego nie robi hidden?

Oba ucinają nadmiar. hidden nadal tworzy kontener przewijania, więc skrypt może go przewijać, a to wpływa na position: sticky w środku. clip zabrania wszelkiego przewijania, a z overflow-clip-margin możesz pozwolić treści wyjść kilka pikseli poza krawędź przed ucięciem.

Jak przyciąć tekst w komórce tabeli?

Ustaw table-layout: fixed na tabeli i szerokość kolumn, a potem zastosuj do komórki zwykłe trio nowrap, hidden i ellipsis. Bez stałego układu kolumna po prostu rośnie, aby zmieścić tekst. Inna opcja to max-width: 0 z width: 100% na komórce.

Pięć wartości overflow

Łamanie słów, które się nie mieszczą

Przycinanie a dostępność

Porównanie wartości overflow

Co robi każda wartość overflow

Wielokropek w jednej linii

Przepis na wielokropek w trzech liniach kodu

Usuń którąkolwiek z trzech deklaracji, a kropki znikną. Atrybut title zachowuje dostęp do pełnego tekstu.

Wielokropek wewnątrz wiersza flex

Środkowy element dostaje min-width: 0, aby mógł skurczyć się poniżej szerokości swojego tekstu. Bez tego zamiast tego wystaje cały wiersz.

Przycinanie do wielu linii

Przytnij opis karty do trzech linii

Poniższy wzorzec z prefiksem jest szeroko obsługiwany. Zwykła deklaracja line-clamp jest dodana dla przeglądarek, które już ją obsługują.

word-break vs overflow-wrap vs hyphens

Łamanie długich słów

Ten sam URL z czterema ustawieniami łamania

Każde pole ma 160px szerokości. Tylko ostatnie może wystawać.

Przycinanie komórek tabeli

Stały układ tabeli z komórkami z wielokropkiem

table-layout: fixed sprawia, że szerokości kolumn wygrywają z treścią, więc wielokropek może zadziałać.

Długi URL

Niemieckie złożenie

Akapit

Świeże ziarna kawy są palone w każdy wtorek i wysyłane tego samego popołudnia, więc docierają pod większość adresów w ciągu trzech dni od palenia, gdy smak jest wciąż najlepszy.

Sam wielokropek potrzebuje white-space: nowrap (lub line clamp).

Wielokropek wymaga overflow ustawionego na hidden lub clip.

Line clamp potrzebuje overflow: hidden, aby uciąć resztę.

Laboratorium overflow

Przykładowy tekst

Szerokość pola: {n}px

Łamanie słów

Line clamp:

Linie: {n}

Kopiuj CSS

Zacznij za darmo · Bez karty kredytowej

Powiązane: Poradniki

Produkt

Dla kogo

Funkcje

Zasoby

Firma

Mapa strony