Jak zmienić domyślne zawijanie tekstu za pomocą HTML i CSS
W przeciwieństwie do papieru strony internetowe mogą prawie nieskończenie rozciągają się na boki. Tak imponujące, że nie jest to coś, czego naprawdę potrzebujemy podczas czytania. Przeglądarki zawijają tekst w zależności od szerokość kontenera tekstowego i szerokość ekranu abyśmy mogli zobaczyć cały tekst bez konieczności przewijania na boki (tylko w dół).
Zawijanie coś, co przeglądarki robią biorąc pod uwagę wiele czynników, takich jak język tekstu lub rozmieszczenie znaków interpunkcyjnych i spacji - one nie tylko naciskaj co nie mieści się w polu zdefiniowanym dla treści tekstowej.
Oprócz pakowania, przeglądarki również zadbaj o przestrzenie; łączą wiele kolejnych spacji w kodzie źródłowym w jedno miejsce na renderowanej stronie, a także rejestrują wymuszone podziały wierszy przed rozpoczęciem pracy nad opakowaniem.
Kiedy zmienić domyślne zawijanie tekstu
To wszystko świetnie i bardzo doceniane. Ale możemy łatwo znaleźć się w okolicznościach, w których domyślne zachowanie przeglądarki nie jest tym, czego szukamy. To może być nagłówek nie powinien być zawinięty lub słowo w akapicie lepiej być złamanym niż zejść po linii, pozostawiając dziwnie pustą przestrzeń na końcu linii.
Może się też zdarzyć, że desperacko potrzebuję tych przestrzeni zachowanych w naszym tekście, jednak przeglądarka nadal łączy je w jedną, zmuszając nas do dodania wielu
w kodzie źródłowym.
Preferencje owijania mogą również zmienić język i cel tekstu. Artykuł Mandarin i francuski wiersz niekoniecznie muszą być opakowane dokładnie w ten sam sposób.
Istnieje duża liczba właściwości CSS (i elementów HTML!), Które mogą kontroluj zawijanie i punkty przerwania i również zdefiniuj sposób przetwarzania spacji i podziałów linii przed zawijaniem.
Możliwości miękkiego owijania i łamanie miękkich okładów
Przeglądarki decydują, gdzie zawinąć przepełniony tekst w zależności od granic słów, myślników, sylab, interpunkcji, spacji i innych. Wszystkie te miejsca są nazywane możliwości miękkiego zawijania a gdy przeglądarka złamie tekst w jednym z takich miejsc, przerwa nazywa się miękka okładka.
Najprostszy sposób wymusić dodatkową przerwę można to zrobić, używając dobrego starego
element.
Biała przestrzeń
Jeśli znasz Biała przestrzeń
Własność CSS Założę się, że najpierw poznałeś ją w taki sam sposób, jak wiele innych; podczas szukania drogi do zapobiec zawijaniu tekstu. The nowrap
wartość Biała przestrzeń
robi dokładnie to.
Jednakże Biała przestrzeń
nieruchomości to coś więcej niż tylko opakowanie. Po pierwsze, co to jest białe znaki? To jest zestaw znaków spacji. Każda przestrzeń w zestawie różni się od siebie pod względem długości, kierunku lub obu.
Typowy pojedynczy poziomy znak przestrzenny dodajemy, naciskając klawisz spacji. Klawisz Tab również dodaje a podobna przestrzeń, ale o większej długości. Klawisz Enter dodaje a przestrzeń pionowa aby rozpocząć nową linię, i
w HTML dodaje a pojedyncza nierozerwalna przestrzeń do stron internetowych. W ten sposób istnieje wiele rodzajów przestrzeni, które stanowią “Biała przestrzeń”.
Jak wspomniałem na początku, przeglądarki zwijaj wiele przestrzeni (zarówno poziome jak i pionowe) w źródle w pojedynczą przestrzeń. Oni też rozważyć te znaki spacji dla możliwości zawijania (miejsca, w których tekst może być zawinięty), gdy potrzebne jest opakowanie.
I to właśnie te działania przeglądarki możemy kontrolować Biała przestrzeń
. Zauważ, że Biała przestrzeń
właściwość nie wpływa na wszystkie rodzaje przestrzeni, tylko te najczęstsze takie jak zwykła pozioma pojedyncza przestrzeń, obszar tabulacji i kanały linii.
Poniżej znajduje się zrzut ekranu przykładowego tekstu owinięty przez przeglądarkę, aby zmieścił się w swoim pojemniku. Przelew ma miejsce na dnie pojemnika, a tekst przelotowy jest różnie barwiony. Zauważysz załamanie kolejnych przestrzeni w kodzie.
ZA¢Â Dzień dobry. ZA¢Â Dzień dobry. ZA¢Â Cześć a¢Â Dzień dobry. ZA¢Â Dzień dobry. ZA¢Â Dzień dobry. ZA¢Â Dzień dobry. ZA¢Â Dzień dobry. ZA¢Â Dzień dobry. ZA¢Â Dzień dobry. ZA¢Â Dzień dobry. ZA¢Â Dzień dobry. ZA¢Â Dzień dobry. ZA¢Â Dzień dobry. ZA¢Â Dzień dobry. ZA¢Â Dzień dobry. ZA¢Â Dzień dobry. ZA¢Â Dzień dobry. ZA¢Â Dzień dobry. ZA¢Â Dzień dobry. ZA¢Â Dzień dobry. ZA¢Â Dzień dobry. ZA¢Â Dzień dobry. ZA¢Â Dzień dobry. ZA¢Â Dzień dobry. ZA¢Â Dzień dobry. ZA¢Â dzień dobry.
.textContainer width: 500px; wysokość: 320px;
Po złożeniu wniosku white-space: nowrap;
reguła, zawijanie tekstu zmienia się w następujący sposób:
.textContainer / *… * / white-space: nowrap;
The przed
wartość Biała przestrzeń
zachowuje wszystkie białe znaki i zapobiega zawijaniu tekstu:
.textContainer / *… * / white-space: pre;
The opakowanie wstępne
wartość Biała przestrzeń
zachowuje wszystkie białe znaki i zawija tekst:
.textContainer / *… * / white-space: pre-wrap;
Wreszcie pre-line
wartość Biała przestrzeń
zachowuje pionowe białe znaki takie jak nowe linie i zawija tekst:
.textContainer / *… * / white-space: pre-line;
Słowo się psuje
Inną ważną właściwością CSS, którą powinieneś znać przy sterowaniu zawijaniem tekstu jest łamanie słów
. Na wszystkich powyższych zrzutach ekranu widać, że przeglądarka zawinął tekst przed słowem “dzień dobry” po prawej stronie, poza którą tekst przepełniony. Przeglądarka nie złamałem słowa.
Jednak jeśli ty musieć pozwala łamać litery jednym słowem aby tekst wyglądał nawet po prawej stronie, musisz użyć break-all
wartość dla łamanie słów
własność:
.textContainer / *… * / word-break: break-all;
The łamanie słów
właściwość ma trzecią wartość break-all
i normalna
(należy do domyślnego łamania linii). The Zatrzymaj wszystko
wartość nie pozwala łamać słów.
Możesz nie być w stanie zobaczyć efektu Zatrzymaj wszystko
po angielsku. Ale w językach, w których są litery w jednym słowie znaczące jednostki samodzielnie, przeglądarka może złamać słowa podczas owijania, a tego można zapobiec Zatrzymaj wszystko
.
Na przykład litery w słowach koreańskich, początkowo złamany do pakowania, są trzymane razem kiedy white-space: keep-all;
reguła jest określona.
ZA¬Â¸ZAªZA³Â     ¥ZA¼ Ã-Â-Â¥Ã- ?? à «Â ??¬Â         ¬ZA½Â          ¡ZA?? Ã- ??  ìÂ-쬤. ZA¬Â 10Ã- ?? ZA¬Â         ¬ZA½Â      ?? ZAªZAµÂ-ì Ã- ??  ìª°  1997à «Â…  ?? 3ì 10 A¬Â¼Ã «¶Â  Ã- ° ° 12ì¼ZAªZA¹Â ìZA§ZA?? à «Â ?? Â… ì¼ZA¬Â à «§Â ì¸ZA¬ZA¦Â ì    ì ZA¬Â´Ã «¦ZA½Â          ¤. ZA¬ZA§Â êZA¸ZA?? à «Â ± ë ¡ Ã- ???¬Â-쬤. ZA¬Â´ Ã- ??  ì¬    ì        ?? ZA¬Â Â… êZA³ZA?? ZA¬Â        ° ì ZA¬Â      ¬ZA¸ZAªÂ        ¤ZA¬Â´ Ã- ¨ZAª» à «ªZA¨ZA¬Â¬ à «Â?¤ZA¬ÂªZA³ZA¼ ZAªÂ    ì à «¶Â ì¼à «¥ZA¼ à «Â?¤Â               ¹          ¤.
.textContainer / *… * / word-break: keep-all;
Ta właściwość może obsługiwać inną wartość o nazwie słowo łamane
w przyszłości. Zobaczysz jak słowo łamane
działa później, w “Okładka przelewowa” część tego artykułu.
Możliwości łamania słów
Deweloperzy mogą również dodaj możliwości zawijania w słowach, używając
Element HTML. Jeśli przeglądarka musi zawinąć ciąg tekstowy, weźmie pod uwagę miejsce, w którym się znajduje
jest obecny przy okazji pakowania.
ZA¢Â Dzień dobry. ZA¢Â Dzień dobry. ZA¢Â Hello â Dzień dobry. ZA¢Â Dzień dobry. ZA¢Â Dzień dobry. ZA¢Â Dzień dobry. ZA¢Â Dzień dobry. ZA¢Â Dzień dobry. ZA¢Â Dzień dobry. ZA¢Â Dzień dobry. ZA¢Â Dzień dobry. ZA¢Â Dzień dobry. ZA¢Â Dzień dobry. ZA¢Â Dzień dobry. ZA¢Â Dzień dobry. ZA¢Â Dzień dobry. ZA¢Â Dzień dobry. ZA¢Â Dzień dobry. ZA¢Â Dzień dobry. ZA¢Â Dzień dobry. ZA¢Â Dzień dobry. ZA¢Â Dzień dobry. ZA¢Â Dzień dobry. ZA¢Â Dzień dobry. ZA¢Â Dzień dobry. ZA¢Â dzień dobry.
.textContainer / *… * / white-space: pre-wrap;
Bez
, całość “dzień dobry” słowo zostanie wyrenderowane w nowej linii. Poprzez dodanie
do kodu HTML poinformowaliśmy przeglądarkę, że w porządku jest łamanie słowa w tym momencie, w razie konieczności.
Hyphens
The myślniki
Właściwość CSS to inny sposób kontrolowania przerw między literami jednym słowem. Jeśli jesteś zainteresowany, mamy osobny artykuł na temat dzielenia CSS. Krótko mówiąc, własność pozwala tworzyć możliwości pakowania poprzez dzielenie wyrazów.
Jego automatyczny
wartość monituje przeglądarkę automatycznie dziel słowa i dziel słowa w razie potrzeby podczas owijania. The podręcznik
wartość zmusza przeglądarki do wrap (w razie potrzeby) przy dodanych przez nas możliwościach dzielenia wyrazów, taki jak znak łącznika (‐) lub
(miękki łącznik). Jeśli Żaden
został podany jako wartość bez owinięcia w pobliżu myślników.
bluehouse bluehouse bluehouse bluehouse bluehouse bluehouse bluehouse bluehouse bluehouse bluehouse bluehouse bluehouse
.textContainer / *… * / -webkit-hyphens: auto; -ms-hyphens: auto; łączniki: auto;
Okładka przelewowa
The overflow-wrap
Kontrola właściwości CSS, jeśli a przeglądarka może łamać słowa (lub zachowane przestrzenie, wsparcie, które może się zdarzyć w najbliższej przyszłości) przy przepełnieniu. Kiedy słowo łamane
podana jest wartość overflow-wrap
, słowo zostanie złamany w razie gdyby nie znaleziono innych możliwości miękkiego zawijania w linii.
Zauważ to overflow-wrap
jest również znany jako zawijanie tekstu
(są aliasami).
bluehousebluehousebluehousebluehousebluehousebluehousebluehousebluehousebluehousebluehousebluehousebluehouse
.textContainer / *… * / overflow-wrap: break-word;
Bez spacji między literami w powyższym kodzie HTML (tzn. Bez możliwości zawijania) tekst nie był początkowo zawijany i został zachowany jako jedno słowo.
Jednak, gdy zezwolono na zawijanie tekstu przez łamanie słów (tj słowo łamane
wartość została podana overflow-wrap
) owinięcie nastąpiło przez rozbicie całego łańcucha gdziekolwiek było to konieczne.