Zawijanie CSS długich słów. Jak dodać podziały wierszy za pomocą właściwości CSS

Dom / Zamarza

Internet składa się z treści, treść składa się ze słów, a słowa mogą być bardzo, bardzo długie. Prędzej czy później webmaster staje przed problemem dzielenia długich słów. Problem ten jest szczególnie istotny w przypadku projektowania responsywnego i małych bloków treści. Jak więc sobie poradzić z tym problemem?

Łącznik

Pierwszym sposobem dzielenia długich słów jest użycie łącznika.

Defisi ( -webkit-hyphens: auto; -moz-hyphens: auto; -ms-hyphens: auto; łączniki: auto; )

Obsługa przeglądarek: Łączniki CSS są obsługiwane przez prawie wszystkie nowoczesne przeglądarki, z wyjątkiem Chrome, Opery i Androida. Bardzo często łącznik jest wstawiany w miejscach niepoprawnych gramatycznie.

Przerwa na słowo

Wordbreak to właściwość CSS, która wskazuje, czy linie w słowach powinny być łamane.

Obriv-slova ( -ms-word-break: przerwanie wszystkiego; przerwanie słowa: przerwanie wszystkiego; przerwanie słowa: przerwanie; )

Obsługa przeglądarek: Podziały wyrazów są obsługiwane we wszystkich przeglądarkach z wyjątkiem Opery Mini i starszych wersji Opery.

Opakowanie przelewowe

Kolejnym rozwiązaniem jest zastosowanie folii przelewowej.

Obertka-perepolneniya ( zawijanie słów: słowo-przerwanie; zawijanie-przepełnienie: słowo-przerwanie; )

Obsługa przeglądarek: Obsługiwane w prawie wszystkich przeglądarkach. Uwaga: niektóre przeglądarki wymagają użycia „zawijania słów” zamiast „zawijania przepełnienia”.

Elipsa

Inną opcją jest użycie elips.

Multigotochiye ( przepełnienie: ukryte; biała spacja: terazrap; przepełnienie tekstu: wielokropek; )

Obsługa przeglądarek: Obsługiwane przez wszystkie nowoczesne przeglądarki.

Ta metoda działa, ale jest daleka od ideału.

Ostateczne rozwiązanie: Korzystanie z opakowania przepełnienia i łącznika.

Finalnoye-resheniye ( zawijanie przepełnienia: słowo-przerwanie; zawijanie słów: słowo-przerwanie; -webkit-hyphens: auto; -ms-hyphens: auto; -moz-hyphens: auto; łączniki: auto; )

To rozwiązanie pozwoli przeglądarce, która je obsługuje, na wstawienie łącznika, a w przypadku przeglądarek, które go nie obsługują, na wstawienie podziału wiersza.

Witam wszystkich i zaczynamy. Załóżmy, że mamy następujący tekst:

Rząd Zjednoczonych Emiratów Arabskich i administracja skupiają w tym mieście najnowocześniejsze technologie oparte na najnowszych osiągnięciach nauki i technologii, starając się zamienić je w miasto przyszłości, jakby prosto z ekranu jakiegoś science fiction film. Technologie te obejmują policjantów-robotów, samochody-roboty oraz system transportowy Hyperloop, a w niedalekiej przyszłości w Dubaju zacznie działać zautomatyzowana latająca taksówka. A w ramach przygotowań do tego wydarzenia elektryczny, dwumiejscowy samolot Volocopter z 18 wirnikami, który będzie służył jako taksówka, odbył swój pierwszy lot w trybie automatycznym – piszą…

Tutaj mamy tekst, z którym teraz zaczniemy pracować.

Pierwsza właściwość, którą rozważymy, nazywa się łamaniem wyrazów

przerwa w wyrazie: normal | zachowaj wszystko | złamać wszystko

Interesują nas głównie dwie wartości tej normalnej właściwości - wartość domyślna i przerwanie wszystkiego, za pomocą których ustalamy, że zawijanie słów odbywa się znak po znaku. Jeśli chodzi o zachowanie wszystkiego, ta wartość jest używana do zawijania słów w języku chińskim, japońskim i koreańskim.

P(przerwanie słowa: przerwanie wszystkiego;.)

Należy o tym pamiętać po użyciu tego stylu cały nasz tekst jest rozciągnięty do pełnej dostępnej szerokości, a łączniki nie są wykonywane słowami, ale znakami. Ta właściwość może być przydatna, gdy mamy bardzo długie słowo, które nie mieści się w określonej szerokości. Stwarza to jednak pewną niedogodność, ponieważ absolutnie wszystkie słowa są przenoszone znak po znaku, nawet te, które mieszczą się w danej szerokości.

Na szczęście istnieje podobna właściwość, która przenosi tylko słowa, które nie mieszczą się w znakach. Nazywa się to zawijaniem przelewowym:

P(zawijanie przepełnienia: słowo przerwania; )

i po zastosowaniu wartości break-word cały nasz tekst zostanie przeniesiony słowo po słowie, a słowa nie mieszczące się w określonej szerokości zostaną przeniesione znak po znaku. Można powiedzieć, że zadanie zostało wykonane! Oprócz wartości słowa przerywającego, ta właściwość akceptuje:

zawijanie przelewu: normalne | słowo przerwa | dziedziczyć;

Przejdźmy teraz do bardziej zaawansowanej właściwości CSS dotyczącej zawijania słów w tekście.

Rozważmy właściwość white-space, za pomocą której możemy imitować działanie znacznika pre bez zmiany samego tekstu na monospace.

biała spacja: normalna | terazrap | przed | wstępna linia | opakowanie wstępne | dziedziczyć

Zasadniczo, korzystając z tej właściwości, pracujemy tylko ze spacjami w tekście. Na przykład, jeśli zastosujemy do naszego tekstu następujący styl:

Biała spacja: nowrap;

wszystkie podziały linii zostaną zignorowane, a nasz tekst zostanie wyświetlony w jednej linii.

Biała spacja: pre;

Jeśli wartością jest pre, wszystkie podziały wierszy będą podobne do tych w kodzie źródłowym. Co więcej, jeśli tekst nie mieści się w określonej szerokości, nie zostanie przesłany. Jeśli chcemy, żeby został przeniesiony, to musimy określić wartość przed linią.

Jeśli chcemy uwzględnić nie tylko podziały linii kod źródłowy, ale także spacje między wyrazami, należy określić:

Białe znaki: wstępne zawinięcie;

To w zasadzie wszystko, co chciałem powiedzieć o dzieleniu wyrazów za pomocą CSS. Mam nadzieję, że ten artykuł był dla Ciebie przydatny i wykorzystasz zdobytą wiedzę nie raz.

Cóż, żegnam się z tobą. Życzę sukcesów i powodzenia! Do widzenia!

Wład Merzewicz

W przeciwieństwie do tekstu drukowanego, łączniki są rzadko używane na stronach internetowych, ponieważ nie jesteśmy ściśle przywiązani do formatu papieru. Strony można oglądać na różnych monitorach, w różnych rozdzielczościach, w różnych systemy operacyjne i przeglądarki. Wszystko to powoduje taką kombinację kombinacji, że nie sposób przewidzieć, jak będzie wyglądał końcowy tekst dla użytkownika. Z tego powodu tekst jest zwykle wyrównywany do lewej strony, a łączniki występują w całych wyrazach. Jednak w niektórych przypadkach dzielenie słów jest konieczne, na przykład gdy długie terminy chemiczne lub medyczne są używane w wąskich kolumnach o określonej szerokości, ze względu na estetykę. W podręczniku HTML i CSS lub metody automatyczne Nie ma zbyt wielu łączników do dodania, więc wymienię je wszystkie.

Używanie tagu

Etykietka wprowadzony w HTML5 i w razie potrzeby tworzy zawijanie słów. W miejscach, w których zgodnie z zasadami języka rosyjskiego dozwolone jest dzielenie wyrazów, wstawiamy (przykład 1). Jeśli całe słowo zmieści się w przydzielonej szerokości, znacznik ten nie zamanifestuje się w żaden sposób i nawet nie będziemy wiedzieć o jego obecności. Jeśli słowo nie pasuje, przeglądarka znajduje się w miejscu znacznika tworzy przelew.

Przykład 1. Znacznik

Transfery

Jeden dwunasta klasa marzycielka Anżelika po ukończeniu szkoły wybrała zawód biznesmena wytworzony kierowca wyczerpać.

Wynik tego przykładu pokazano na ryc. 1.

Ryż. 1. Tekst z łącznikami

Miękki transfer

Aplikacja ma poważną wadę - nie można zrozumieć, czy jest to łącznik przed nami, czy osobne słowo w innym wierszu. Z tego powodu znaczenie zdania może zostać utracone i może zostać źle zrozumiane. Dzielenia należy dokonać zgodnie z zasadami typografii, czyli: dodać łącznik na końcu wiersza. Miękkie dzielenie wyrazów dobrze sobie z tym radzi; w kodzie HTML jest na to specjalny znak - . Pełni tę samą rolę co tag - nie jest widoczny w zwykłym tekście i przenosi słowo do innej linii, dodając łącznik (przykład 2).

Przykład 2: Miękki transfer

Transfery

Uczennica jedenastej klasy Angelica po ukończeniu szkoły wybrała zawód kierowcy biznesowego.

Wynik tego przykładu pokazano na ryc. 2. Zwróć uwagę, o ile bardziej estetyczny i wyraźniejszy jest tekst w porównaniu z rysunkiem. 1.

Ryż. 2. Tekst z łącznikami

właściwość łamania wyrazów

Aby zautomatyzować proces tworzenia łączników, użyj właściwości word-break z wartością break-all (przykład 3). Nie musisz już dodawać żadnych symboli ani znaczników do HTML; style zajmują się wszystkim.

Przykład 3. Stosowanie łamania wyrazów

Transfery

Jedenastoklasistka Angelica po ukończeniu szkoły wybrała zawód pracownika biurowego.

Wynik tego przykładu pokazano na ryc. 3. W tym przypadku nie są brane pod uwagę zasady dzielenia tekstu, dlatego słowa można dzielić w bardzo dziwny sposób.

Ryż. 3. Tekst z łącznikami

Ze wszystkich wymienionych metod najlepszy wynik daje użycie „półręcznego” - przestrzegane są zasady języka rosyjskiego, tekst wygląda najbardziej estetycznie. Użyj go, jeśli w tekście znajdują się długie słowa.

Właściwość łączników

I wreszcie najpotężniejsza i najwygodniejsza właściwość dla automatyczne dodawaniełączniki - łączniki. Jego działanie opiera się na wbudowanym w przeglądarkę słowniku dzielenia wyrazów, dzięki czemu daje najlepszy efekt. Obsługiwane w IE10, Firefox, Android i iOS. Chrome i Opera nie obsługują. Aby to zadziałało, dla tagu dodaj atrybut lang o wartości ru (przykład 4).

Przykład 4: Używanie łączników

Transfery

Jedenastoklasistka Angelica po ukończeniu szkoły wybrała zawód pracownika biurowego.

Wynik tego przykładu pokazano na ryc. 4.

Ryż. 4. Tekst z łącznikami

Zakaz transferów

Często pojawia się zadanie odwrotne - zakazanie dzielenia wyrazów w miejscach, w których są one niedopuszczalne zgodnie z zasadami języka. Nie można na przykład oddzielać jednostek miary od liczby (10 ml), oznaczenia roku (54 p.n.e.), inicjałów nazwiska, łamać stabilnych skrótów (itp.) itp. Aby uniemożliwić przeglądarce dodawanie łączników w spację, należy ją zastąpić spacją nierozdzielającą (przykład 5).

Przykład 5: Użycie

Transfery

Jezioro na współrzędnych 70° 58′ 19″ N. w. 97° 24′ 5″ E. położony w regionie Taimyr Dolgano-Nenets Terytorium Krasnojarska

Rosja.

Właściwość white-space określa sposób wyświetlania spacji między słowami. W normalnych okolicznościach dowolna liczba spacji w kodzie HTML jest wyświetlana jako jedna na stronie internetowej. Wyjątkiem jest element

, tekst umieszczony w tym kontenerze jest wyświetlany ze wszystkimi spacjami, tak jak został sformatowany przez użytkownika.  Zatem biała spacja symuluje pracę 
Ale w przeciwieństwie do niego nie zmienia czcionki na monospace.

Krótka informacja

Oznaczenia

OpisPrzykład
<тип> Wskazuje typ wartości.<размер>
A i BWartości muszą być wyprowadzane w określonej kolejności.<размер> && <цвет>
| BWskazuje, że należy wybrać tylko jedną wartość z proponowanych (A lub B).normalne | kapitaliki
|| BKażda wartość może być używana niezależnie lub razem z innymi w dowolnej kolejności.szerokość || liczyć
Grupuje wartości.[przytnij || przechodzić ]
* Powtórz zero lub więcej razy.[,<время>]*
+ Powtórz jeden lub więcej razy.<число>+
? Określony typ, słowo lub grupa jest opcjonalna.wstawka?
(A, B)Powtórz co najmniej A, ale nie więcej niż B razy.<радиус>{1,4}
# Powtórz jeden lub więcej razy, oddzielając je przecinkami.<время>#
×

Wartości

normal Tekst w oknie przeglądarki jest wyświetlany normalnie, podziały wierszy ustawiane są automatycznie. nowrap Spacje nie są brane pod uwagę, podziały wierszy w kodzie HTML są ignorowane, cały tekst wyświetlany jest w jednym wierszu; jednocześnie dodając
zawija tekst w nowej linii. pre Tekst jest wyświetlany z uwzględnieniem wszystkich spacji i łączników, które zostały dodane przez programistę w kodzie HTML. Jeżeli linia jest za długa i nie mieści się w oknie przeglądarki, dodany zostanie poziomy pasek przewijania. przed linią Spacje nie są uwzględniane w tekście; tekst jest automatycznie przenoszony do następnej linii, jeśli nie mieści się w określonym obszarze. pre-wrap Wszystkie spacje i przerwy w tekście zostają zachowane, jeżeli jednak szerokość linii nie mieści się w podanym obszarze, tekst zostanie automatycznie zawinięty do następnej linii.

Wpływ wartości na tekst przedstawiono w tabeli. 1.

Przykład

biała spacja

Przykład

Ostatnie twierdzenie Fermata
X N+ Y N= Z N
gdzie n jest liczbą całkowitą > 2

Wynik tego przykładu pokazano na ryc. 1.

Ryż. 1. Zastosowanie właściwości białych znaków

Model obiektowy

Obiekt.style.whiteSpace

Notatka

Przeglądarka Internet Explorera do wersji 7.0 włącznie nie obsługuje wartości pre-line i pre-wrap. Dla