second gate studio blog

Autorem tego bloga jest zx. Na stronie zajmuję się szeroko pojętym user-experience i takoż pojętym designem. Piszę o technologii, pokazuję rzeczy zaprojektowane z wyczuciem, dbałością o szczegóły i szukam inspiracji w każdej możliwej dziedzinie. Kontakt.

Wpis dodany roku w kategoriach HTML, CSS, JS, Techblog, Typografia Trackback.

Typografia w sieci: Wybierz odpowiednią długość wiersza

Przez długość wiersza rozumiem liczbę znaków w jednej linii tekstu. Przyjmuje się, że najwygodniejszy do czytania jest wiersz między 45 a 75 znaków, a za idealną liczbę uznaje się 66 znaków w wierszu (biorąc pod uwagę zarówno litery jak i znaki dodatkowe czy spacje). Wartość ta zmienia się odrobinę jeśli mówimy o layoutach wykorzystujących kilka kolumn. Wtedy wystarczy 40 do 50 znaków.

Optymalna ilość znaków w wierszu

Dlaczego nie więcej? Dochodząc do końca linii tekstu musimy zapamiętać gdzie skończyliśmy, żeby móc znaleźć początek kolejnego wiersza. Jeśli początek od końca wiersza będzie dzielić zbyt długa droga, nasz wzrok pogubi się na kolejnych literach. Chyba każdy wie jak irytujące potrafi być uczucie kiedy zgubiliśmy linijkę tekstu, albo kiedy musimy palcem jeździć po książce, żeby wiedzieć co czytamy.

Mimo wszystko, z tą wartością można śmiało eksperymentować. Czytelnicy na pewno postrzegają tekst w różny sposób, a część z nich nie zgodziłaby się z proponowanymi przez typografów wartościami.

Dlaczego nie mniej chyba nie trzeba nawet mówić. Każdy zdaje sobie sprawę jak źle czytałoby się dwa lub trzy wyrazy w wierszu. I nie mówimy tu po poezji.

W CSS widzę trzy możliwości ustalenia długości wiersza. Najprościej oczywiście nadając odpowiednią długość kontenerowi, w którym zamykamy tekst.

p.kolumna1 { width: 465px; }

p.kolumna2 { width: 40%; }

p.kolumna3 { width: 33em; }

W druku ten element jest dość prosty. Twórca ustala sztywno wielkość tekstu i może dopasować do tego długość linii. Projektując dla urządzeń elektronicznych trzeba jednak mieć na uwadze to, że użytkownik sam może zmienić wielkość czcionki (a czasami zrobi to za niego urządzenie, na którym stronę przegląda).

W pierwszym przypadku długość wiersza będzie miała dokładnie 465 pikseli, co odpowiada mniej-więcej 66 znakom dla tekstu wielkości 14 pikseli. Oczywiście, w praktyce wszystko zależy od używanego fonta, więc trzeba do tego podchodzić indywidualnie i za każdym razem policzyć znaki. Co ważne – jeśli czytelnik zmieni tę wartość do 16 pikseli, zmniejszy się również ilość znaków w wierszu.

Logiczne wydaje się w takim razie zastosowanie wartości relatywnych. Używając procentów tak na prawdę oddajemy decyzję o długości wiersza w ręce użytkownika. Jeśli będzie chciał go zwiększyć, może zmaksymalizować okno przeglądarki. Jeśli uzna, że wolałby krótszy wers, może okno zmniejszyć. Krótka chwila na zastanowienie i dochodzimy do wniosku, że nikomu z nas nie chce się manipulować oknem przeglądarki dla pojedynczej strony, a użytkownicy urządzeń mobilnych nie mogą zmienić wielkości okna.

Wcześniej wspominałem już, że wielkości dotyczące tekstu najkorzystniej ustawiać z pomocą em. W trzecim przykładzie długość linii wynosi 33 em, czyli 462 piksele dla tekstu wielkości 14 pikseli, ale jeśli użytkownik zwiększy tę wielkość do np. 16 pikseli, długość linii również się zwiększy i będzie wynosić już 480 pikseli. Dzięki temu w wierszu ilość znaków zawsze pozostanie taka sama, niezależnie od ustawionej przez użytkownika wielkości tekstu.

No dobra, ale co z naszym layoutem, który przecież ma określone wymiary i w którym długi wiersz się nie zmieści? Idealny layout to taki, w którym taka sytuacja nie zajdzie, bo wszystkie wartości dostosowują się zarówno do wielkości tekstu jak i ekranu, na którym wyświetlana jest strona. W praktyce rzadko udaje się taki ideał osiągnąć, więc możemy po prostu ograniczyć maksymalną długość linii. Nie w każdym designie taka sztuczka się sprawdzi, bo nie w każdym jest miejsce na większą długość linii. W praktyce więc, najczęściej na sztywno ustala się długość linii, choć – jeśli tylko jest taka możliwość – powinniśmy używać rozwiązań dających większe możliwości adaptacji.

p.kolumna3 { width: 33em; max-width: 600px; }

Komentarze

jam łasica 20:02:42 | 03 sierpnia 2011

Przykładem jak nie należy ustawiać szerokości layoutu jest
http://drdobbs.com/blogs/java/231000556
Na początku wszystko wygląda świetnie, ale niech ktoś spróbuje przeczytać ten większy fragment kodu ;)

Paweł Opydo 21:06:36 | 03 sierpnia 2011

Boli mnie, że w tym tekście najpierw twierdzisz, że "długość wiersza" to "ilość znaków", a potem definiujesz go za pomocą atrybutu "szerokość" i określasz go w pikselach.

To w końcu długość liczona w znakach czy szerokość liczona w pikselach?

Void 21:16:22 | 03 sierpnia 2011

Ilość znaków? http://niekalecz.blox.pl/2008/01/Liczba-a-ilosc.html

zx 22:23:33 | 03 sierpnia 2011

Paweł Opydo: Ymmm... wydaje mi się logiczne, że jeżeli określimy długość kontenera, to tekst wewnątrz się dopasuje.

Void: Poprawiłem, ale jakoś mnie to nie przekonuje, bo niestety łatwiej się pogubić przy czytaniu.

rozie 08:21:25 | 04 sierpnia 2011

66 jest najlepsze, góra 75 - powiedział autor, wyświetlając u mnie 102 (Fx w Chromium 114) znaki w wierszu. Szewc bez butów chodzi? ;->

A poważnie, dla mnie to bzdura, szczególnie przy dłuższych, tj. mających wiecej niż kilka linii, tekstach, liczba znaków w wierszu spokojnie może dla mnie oscylować wokół 90. Nawet wolę ~90 znaków. 75 to dolna granica, żeby tekst nie wyglądał na przykrótki.

Jest jakieś źródło (najlepiej badania naukowe) tej rewelacji, że 66 najlepsze, czy to gdzieś jakiś guru od webdesignu napisał i wszyscy powtarzają?

zx 09:45:59 | 04 sierpnia 2011

rozie: Jak się zna i rozumie zasady, to można je łamać. ;) Mam tyle znaków tylko w dłuższych tekstach z kodem, bo przy wąskiej kolumnie byłoby czasami niewygodnie.

Badania pewnie przeprowadzano, a te 66 to nie guru webdesignu, tylko wcześniej w książkach o typografii: http://www.amazon.com/Elements-Typographic-Style-Robert-Bringhurst/dp/0881791326.

Chyba faktycznie powinienem dopisać, że można śmiało eksperymentować z tą wartością.

Jajcuś 10:32:55 | 04 sierpnia 2011

Geeki przyzwyczajone do 80-kolumnowych terminali mogą mieć swoje optimum w tych właśnie okolicach ;) Ale to pewnie bardziej ich osobnicza adaptacja niż „wrodzone optimum” ;)

Remigiusz 'lRem' Modrzejewski 11:51:26 | 04 sierpnia 2011

Heh, no dla mnie całkowicie naturalnym wyborem wydaje się 42em ;)

Piotrek Reinmar Koszuliński 09:53:42 | 08 sierpnia 2011

Liczba znaków jakie możemy upchnąć w wierszu zależy też od fonta i wysokości linii.
Cała zabawa polega na tym by oko nie gubiło poziomych linii skacząc po tekście.
Jeśli mamy krój, który ma małą wysokość małych liter w stosunku do dużych, to odstępy między liniami zdaje się być większy (jest duża biała pozioma przestrzeń). Zupełnie inaczej zaprezentuje się krój, który ma stosunkowo niewielką różnicę wysokości - wtedy tekst staje się (przy tej samej wysokości linii) jedną wielką plamą, po której ciężko się nawiguje wzrokiem.
Drugi parametr jaki nam może pomóc to wysokość linii - tutaj zasada jest oczywista. Należy jednak zwrócić uwagę by nie przesadzić, bo zbyt rozbity tekst wygląda głupio, zajmuje za dużo miejsca i staje się z powrotem nieczytelny.

W kontekście typografii tego bloga, to uważam, że jest nieodpowiednia. Tekst dla mnie jest zbyt mały, a z tego powodu nieczytelny. Implikuje to też dużą liczbę znaków w wierszu. Nie podoba mi się też ten krój - choć z pozoru ładny, to niewyraźny. Brzydko i nierówno się on u mnie renderuje, choć nie potrafię powiedzieć czy to wina systemu/przeglądarki czy opracowania samego fonta. Sprawdźcie sami - czy nie lepiej wygląda ten blog z wielkością podstawową 15px?

Zgodzę się też, że z długością linii możemy eksperymentować. Należy jednak wiedzieć co się robi. Im więcej mamy tekstu, tym większy sens jest w trzymaniu się górnej granicy 75 znaków. Dla typowych książek rzadko zobaczymy więcej niż 60 znaków (właśnie do ręki wziąłem taką o 50 znakach).
W internecie liczby ta rosną, lecz nie powinny rosnąć zbyt wiele. Tak samo jak w książkach - im mniej tekstu (w stosunku do np. listingów, schematów, grafiki) tym więcej tego tekstu można upchnąć.

jam łasica 00:00:56 | 09 sierpnia 2011

U mnie na linuksie/Fx wygląda tak http://imageshack.us/photo/my-images/851/fontre.png/ :)

Piotrek Reinmar Koszuliński 19:28:41 | 09 sierpnia 2011

Nie wiem czy nie jeszcze gorzej niż u mnie :D

zx 09:10:43 | 10 sierpnia 2011

Piotrek Reinmar Koszuliński: Wiem, że nikt nie czyta poprzednich komentarzy ;) więc powtórzę - ten blog nie ma mieć dobrej typografii. Ten blog jest miejscem, na którym się uczę i bawię, żeby zdobyte doświadczenie wykorzystywać na stronach, które projektuję dla klientów.

jam łasica: Czyli jednak Linux MA skopane wygładzanie. :P

Void 10:48:07 | 10 sierpnia 2011

@zx: raczej nie wygładzanie (antyaliasing), co: http://en.wikipedia.org/wiki/TrueType#MacintoshandWindows