overflow-wrap
Nieruchomość w CSS pozwala określić, że przeglądarka może złamać linię tekstu wewnątrz elementu docelowego na wielu liniach w inny sposób nierozerwalny miejscu. Pomaga to uniknąć nietypowo długiego ciągu tekstu, powodującego problemy z układem z powodu przepełnienia.
.example ( overflow-wrap: break-word; )
Wartości
normal
: domyślny. Przeglądarka będzie łamać linie zgodnie z normalnymi zasadami łamania linii. Słowa lub nieprzerwane ciągi nie zostaną przerwane, nawet jeśli przepełnią kontener.break-word
: słowa lub ciągi znaków, które są zbyt duże, aby zmieścić się w ich kontenerze, zostaną przerwane w dowolnym miejscu, aby wymusić podział wiersza. Znak łącznika nie zostanie wstawiony, nawet jeślihyphens
właściwość jest używana.inherit
: element docelowy musi dziedziczyć wartośćoverflow-wrap
właściwości zdefiniowanej w jego bezpośrednim nadrzędnym.
Poniższe demo ma przycisk przełączania, który umożliwia przełączanie między normal
i break-word
.
Zobacz demo przepełnienia / zawijania wyrazów Pen autorstwa Louisa Lazarisa (@impressivewebs) na CodePen.
Aby zademonstrować problem, który overflow-wrap
próbuje się rozwiązać, wersja demonstracyjna używa niezwykle długiego słowa wewnątrz stosunkowo małego pojemnika. Po break-word
włączeniu słowo jest łamane, aby pomieścić niewielką ilość dostępnego miejsca, tak jakby słowo składało się z wielu słów.
Ciąg nierozdzielających znaków spacji (
) byłby traktowany w ten sam sposób i również byłby przerywany w odpowiednim miejscu.
overflow-wrap
jest przydatna w przypadku stosowania do elementów, które zawierają niemoderowane treści generowane przez użytkowników (np. sekcje komentarzy). Może to zapobiec uszkodzeniu układu strony internetowej przez długie adresy URL i inne nieprzerwane ciągi tekstu (np. Wandalizm).
Podobieństwa do word-break
Własności
overflow-wrap
i word-break
zachowują się bardzo podobnie i mogą być wykorzystane do rozwiązywania podobnych problemów. Podstawowe podsumowanie różnicy, jak wyjaśniono w specyfikacji CSS, to:
overflow-wrap
jest zwykle używany w celu uniknięcia problemów z długimi ciągami, które powodują zepsute układy z powodu wypływu tekstu poza kontener.word-break
określa możliwości zawijania miękkiego między literami powszechnie kojarzonymi w językach takich jak chiński, japoński i koreański (CJK).
Po opisaniu przykładów word-break
wykorzystania zawartości CJK, specyfikacja mówi: „Aby włączyć dodatkowe możliwości przerw tylko w przypadku przepełnienia, zobacz overflow-wrap
”.
Na tej podstawie możemy przypuszczać, że word-break
najlepiej nadaje się do treści nieanglojęzycznych, które wymagają określonych reguł łamania słów i które mogą być przeplatane treściami w języku angielskim, podczas gdy overflow-wrap
powinno być używane w celu uniknięcia nieprawidłowych układów z powodu długich ciągów, niezależnie od używanego języka .
word-wrap
Własność historyczna
overflow-wrap
jest standardową nazwą poprzednika, word-wrap
właściwości. word-wrap
był pierwotnie zastrzeżoną funkcją tylko w Internet Explorerze, która ostatecznie została obsługiwana we wszystkich przeglądarkach, mimo że nie jest standardem.
word-wrap
akceptuje te same wartości co overflow-wrap
i zachowuje się w ten sam sposób. Zgodnie ze specyfikacją przeglądarki „muszą traktować word-wrap
jako alternatywną nazwę overflow-wrap
właściwości, tak jakby była to skrót od overflow-wrap
”. Ponadto wszyscy agenci użytkownika są zobowiązani do wsparcia na word-wrap
czas nieokreślony ze względu na starsze wersje.
Oba overflow-wrap
i word-wrap
przejdą walidację CSS, o ile walidator jest ustawiony na testowanie w CSS3 lub nowszym (obecnie jest to ustawienie domyślne).
Związane z
- podział słów
- Myślniki
- Biała przestrzeń
- Obsługa długich słów i adresów URL
Więcej informacji
- Zawijanie słów: właściwość CSS3, która działa w każdej przeglądarce
- Zawijanie przepełnienia na W3C
- Dyskusja na temat przepełnienia stosu na
word-break
vs.overflow-wrap
Wsparcie przeglądarki
Te dane dotyczące obsługi przeglądarek pochodzą od Caniuse, który zawiera więcej szczegółów. Liczba wskazuje, że przeglądarka obsługuje tę funkcję w tej wersji i nowszych.
Pulpit
Chrom | Firefox | TO ZNACZY | Brzeg | Safari |
---|---|---|---|---|
23 | 49 | 11 | 18 | 6.1 |
Telefon komórkowy / tablet
Android Chrome | Android Firefox | Android | iOS Safari |
---|---|---|---|
88 | 85 | 4.4 | 7.0-7.1 |
Wspomniane powyżej „częściowe” wsparcie wynika z obsługi starszych przeglądarek, word-wrap
ale nie overflow-wrap
. Korzystanie z obu może zapewnić zgodność wsteczną.
Wersja robocza specyfikacji W3C wydawcy zawiera nową wartość o nazwie, break-spaces
która dotyczy sekwencji „zachowanych” białych znaków. Nie jest znana żadna przeglądarka obsługująca tę funkcję i nie jest ona uwzględniona w roboczej wersji roboczej specyfikacji.