Professional Documents
Culture Documents
PRZYKADOWY ROZDZIA
SPIS TRECI
KATALOG KSIEK
KATALOG ONLINE
ZAMW DRUKOWANY KATALOG
TWJ KOSZYK
DODAJ DO KOSZYKA
CENNIK I INFORMACJE
ZAMW INFORMACJE
O NOWOCIACH
ZAMW CENNIK
CZYTELNIA
FRAGMENTY KSIEK ONLINE
Wydawnictwo Helion
ul. Chopina 6
44-100 Gliwice
tel. (32)230-98-63
e-mail: helion@helion.pl
Spis treci
Wprowadzenie ............................................................................. 7
Rozdzia 1. Elastyczny tekst .........................................................................13
Czste rozwizanie .................................................................................... 15
Wszystkie moliwoci ................................................................................ 17
Rozwizanie kuloodporne ......................................................................... 19
Dlaczego rozwizanie to jest kuloodporne ................................................ 25
Elastyczna baza i co dalej? .................................................................... 25
Stosowanie sw kluczowych i wartoci procentowych ............................. 30
Podsumowanie .......................................................................................... 35
Spis treci
ELASTYCZNY
TEKST
14
Rozdzia 1.
Elastyczny tekst
Czste rozwizanie
Czsto stosowany sposb definiowania wielkoci tekstu przeledzimy
na przykadzie witryny eyeglasses.com z pewnoci odwiedzajce t
stron osoby z wadami wzroku ucieszyyby si z moliwoci sterowania wielkoci tekstu oraz z oglnej czytelnoci strony (rysunek 1.1).
15
16
Rozdzia 1.
body {
font-size: 11px;
}
Chcielimy zaznaczy,
e nie uwaamy strony
eyeglasses.com za zy projekt. Jest to adnie zaprojektowana witryna internetowa, utworzona przy
uyciu strukturalnego kodu
oraz stylw CSS. Wanie
dlatego wybralimy j jako
nasz przykad. Tak naprawd potrzebny by nam
pretekst do omwienia rnych sposobw definiowania wielkoci tekstu oraz
wad i zalet najczciej
stosowanej metody.
Poprzez ustawienie wielkoci czcionki dla elementu <body> (w naszym przykadzie 11px) projektanci strony definiuj, e wywietlony
na stronie tekst bdzie mia wysoko 11 pikseli (chyba e dla jakiego fragmentu zostanie okrelona inna warto). Zalet okrelania
rozmiaru tekstu w pikselach jest to, e wielko czcionki pozostaje
bez zmian niezalenie od tego, w jakiej przegldarce lub urzdzeniu
wywietlany jest tekst. Stosowanie wartoci pikselowych stao si
popularne wanie ze wzgldu na ich konsekwentn, przewidywaln
wielko. Projektant, chcc precyzyjnie zdefiniowa wielko tekstu
wywietlanego na stronie, zawsze chtniej uyje wartoci pikselowych ni innych jednostek. Jednak istnieje pewien may problem.
DLACZEGO TO ROZWIZANIE
NIE JEST KULOODPORNE
Definiowanie rozmiaru tekstu w wartociach pikselowych daje projektantowi kontrol nad wielkoci czcionki. Niestety, wartoci
pikselowe stwarzaj kopoty uytkownikom najbardziej popularnej
przegldarki internetowej (Internet Explorer w systemie Windows
IE/Win).
Przegldarki internetowe zwykle umoliwiaj uytkownikowi kontrolowanie rozmiaru tekstu poprzez zmian rozmiaru okrelonego
przez projektanta. Funkcja ta jest bardzo przydatna dla osb z wadami wzroku. Gdy uytkownik chce poprawi czytelno strony, wystarczy e z menu przegldarki wybierze wikszy rozmiar tekstu (rysunek 1.2).
Czy nie jest to wspaniae? Istnieje jednak pewien haczyk. Jeli stosowane s wartoci pikselowe, uytkownicy przegldarki Internet
Explorer nie maj moliwoci zmiany rozmiaru tekstu na inny ni
okrelony przez projektanta. Tak wic korzystanie z wartoci pikselowych daje projektantowi najwiksz precyzj przy ustalaniu wielkoci
czcionki, ale jednoczenie uniemoliwia uytkownikom przegldarki
IE/Win dostosowywanie rozmiaru tekstu do wasnych potrzeb. Uytkownicy innych przegldarek mog zmienia rozmiar czcionki bez
wzgldu na to, w jaki sposb jest on zdefiniowany.
Moliwo dostosowania rozmiaru tekstu jest niezbdna dla osb
z wadami wzroku. Bdzie ona take mile widziana przez wszystkich chccych zwikszy czytelno stron internetowych, na ktrych
Elastyczny tekst
domylnie zastosowano mae czcionki. W naturze wszystkich projektantw ley ch penej kontroli nad wygldem caej witryny. Rezygnujc tylko z odrobiny tej kontroli w zakresie definiowania rozmiaru
tekstu, poprawiamy odbir witryny przez internautw oraz zwikszamy jej dostpno.
Wrmy do braku moliwoci zmiany wielkoci tekstu, ktrego rozmiar czcionki zosta zdefiniowany przy uyciu wartoci pikselowych.
By moe twrcy przegldarki chcieli pozosta wierni idei, e piksel
to piksel jednostka, ktra nigdy si nie zmienia, nawet wtedy, gdy
uytkownik by tego chcia (a przecie ma do tego prawo). Mimo to
wszystkie inne przegldarki dziaaj w sposb poprawny i umoliwiaj uytkownikowi zmian wielkoci tekstu, ktrego rozmiar zosta okrelony w jednostkach pikselowych.
Wszystko byoby prostsze, gdyby projektanci mogli definiowa rozmiar czcionki w wartociach pikselowych, a uytkownicy mogli dostosowa go zgodnie ze swoimi wymaganiami. Jednak nie ma moliwoci skalowania tekstu w IE/Win, dlatego rozwizanie to nie jest
optymalne. Poznajmy wic inne sposoby definiowania rozmiaru tekstu. Na koniec ustalimy rozwizanie, w ktrym zrezygnujemy z precyzji zapewnianej przez wartoci pikselowe, ale ktre bdzie posiadao wan zalet skalowalno we wszystkich przegldarkach.
Wszystkie moliwoci
Oprcz stosowania wartoci pikselowych istnieje kilkanacie innych
metod definiowania rozmiaru tekstu przy uyciu stylw CSS warto
zna wszystkie.
Jednostki, ktre stosujemy, podajc warto dla waciwoci fontsize w arkuszu CSS, mona podzieli na cztery grupy.
JEDNOSTKI DUGOCI
Jednostki dugoci mog by wzgldne lub bezwzgldne. Do wzgldnych jednostek zaliczamy:
Q
TR/REC-CSS2/syndata.
html#pixel-units.
17
18
Rozdzia 1.
Bezwzgldne jednostki dugoci uywane s przede wszystkim
w druku, jednak stosuje si je take wtedy, gdy znane s fizyczne
wymiary i waciwoci przegldarki lub urzdzenia:
Q
cm centymetry,
mm milimetry,
pt punkty,
pc pica.
larger,
smaller.
W ten sposb okrelimy wielko czcionki wzgldem aktualnej wielkoci czcionki elementu rodzica. Konsorcjum W3C (ang. World Wide
Web Consortium) organizacja zajmujca si standaryzacj internetu wyjania, e jeli wielko czcionki elementu rodzica okrelono za pomoc sowa kluczowego medium, uycie sowa kluczowego larger zwikszy rozmiar czcionki biecego elementu do
wielkoci large. Wicej informacji na ten temat mona znale pod
adresem www.w3.org/TR/CSS21/fonts.html#font-size-props.
O tych wartociach naley myle jak o odpowiednikach elementw
<small> i <big> z jzyka HTML. Okrelaj one zmian wielkoci tekstu wzgldem wielkoci zdefiniowanej gdzie wyej w drzewie dokumentu.
PROCENTY
Wartoci procentowe okrelaj rozmiar tekstu wzgldem rozmiaru
tekstu elementu zawierajcego biecy element (elementu rodzica).
Uycie wartoci 120% zwikszy uprzednio zdefiniowan wielko
o 20%, bez wzgldu na to, jaka jednostka bya stosowana (jeeli jakakolwiek bya stosowana). W naszym kuloodpornym rozwizaniu
do okrelenia wielkoci tekstu wykorzystamy procenty w poczeniu
ze sowami kluczowymi.
Elastyczny tekst
xx-small,
x-small,
small,
medium,
large,
x-large,
xx-large.
Rozwizanie kuloodporne
Podziel si teraz rozwizaniem, ktre skutecznie stosuj we wasnych projektach, czc bezwzgldne sowa kluczowe z wartociami
procentowymi. Uycie sw kluczowych przy definiowaniu wielkoci
tekstu we waciwoci font-size rozwizuje problem pokazany
wczeniej na przykadzie witryny eyeglasses.com (dotyczcy milionw stron). Gdy nie s stosowane wartoci pikselowe, wszystkie
przegldarki i urzdzenia potrafi zmieni rozmiar wywietlanego
na stronie tekstu. Przyjrzyjmy si, w jaki sposb naley stosowa
sowa kluczowe.
19
20
Rozdzia 1.
Rysunek 1.3. Porwnanie wielkoci tekstu uzyskiwanej dziki rnym sowom kluczowym.
Na rysunku po prawej widoczna jest ta sama strona po zwikszeniu w przegldarce
rozmiaru tekstu
Elastyczny tekst
Jak wida, sowo small ma rn wielko w zalenoci od ustawionej
w przegldarce wielkoci podstawowej. Jednak rnica pomidzy
wielkoci small a kolejn wartoci w gr lub w d jest staa.
NETSCAPE 4.X
Nawet przy domylnych ustawieniach (redni rozmiar tekstu), przegldarka Netscape 4 ma tendencj do wywietlania tekstu tak maego, e nie jest on czytelny na ekranie. Ze wzgldu na niebezpieczestwo, i nasz tekst bdzie cakowicie nieczytelny, gdy korzystamy ze
stylw CSS do ustawienia wielkoci tekstu na stronach wywietlanych w przegldarce Netscape 4.x, lepiej nie stosowa sw kluczowych. Informacje wyjaniajce dlaczego nie jest to wskazane
rozwizanie mona znale na stronie www.alistapart.com/articles/
sizematters. Jednak nie bdziemy si zbytnio przejmowa kopotami
21
22
Rozdzia 1.
zwizanymi z przegldark Netscape 4.x, poniewa w naszych przykadach i tak zawsze bdziemy ukrywa style przed t star aplikacj. Mamy wic jedn przeszkod mniej.
Rysunek 1.4. Porwnanie to ilustruje, e tekst o rozmiarze small w przegldarce IE5 jest
o jeden stopie wikszy ni w przegldarce IE6/Win oraz w innych powszechnie stosowanych
przegldarkach
Elastyczny tekst
Aby omin ten problem i sprawi, by zostaa zachowana jedna
wielko tekstu przy wywietlaniu tej samej strony w rnych przegldarkach, zastosujemy pewn sztuczk, dziki ktrej dla przegldarki IE5/Win mona zastosowa inn regu CSS ni dla pozostaych
przegldarek. Dla stron wywietlanych w IE5/Win zadeklarujemy (przy
uyciu sw kluczowych) rozmiar tekstu o jeden stopie mniejszy ni
dla pozostaych przegldarek.
Jak wida w powyszym kodzie, podstawowy rozmiar czcionki ustawiony zosta przy uyciu sowa kluczowego small. Jednak wczeniej, ze wzgldu na przegldark IE5/Win, deklarujemy warto
o jeden stopie nisz ni zamierzona, a nastpnie oszukujemy t
przegldark, e deklaracja stylu zostaa zakoczona. Osigamy to
za pomoc nastpujcej deklaracji:
voice-family: "\"}\"";
23
24
Rozdzia 1.
Moemy take omwi drug deklaracj, w ktrej zostaa powtrzona regua font-size: small. Regua ta okrelana jako bdmy
mili dla Opery powoduje, e Opera (oraz inne przegldarki) na
pewno nie zignoruje reguy, ktra znajduje si za sztucznym zakoczeniem deklaracji dla IE5. Jeli korzystamy ze sztuczki Box Model
Hack, zawsze powinnimy umieci t deklaracj. Dziki niej wszystkie
zgodne przegldarki poprawnie nadadz zadeklarowane style i bd
mogy przej do odczytywania nastpnej deklaracji w arkuszu stylw.
Elastyczny tekst
spjnym wygldzie strony we wszystkich przegldarkach, warto zapaci tak cen.
Istniej metody strategicznego zbierania wszystkich trikw CSS
i umieszczania ich oddzielnie od schludnych i zgodnych arkuszy stylw. Kilka takich metod poznamy w rozdziale 9.
Dlaczego rozwizanie
to jest kuloodporne
Po pokonaniu wszystkich przeszkd mamy w kuloodporny sposb
zdefiniowan wielko tekstu podstawowego. Zamiast deklarowa
rozmiar czcionki w pikselach (tak jak ma to miejsce w przypadku
strony eyeglasses.com oraz wielu innych witryn), w deklaracji dla
elementu <body> uywamy sowa kluczowego small, aby ustawi
domyln wielko tekstu na stronie. Dziki stosowaniu sw kluczowych, w kadej przegldarce i urzdzeniu (wcznie z IE/Win) bdzie istniaa moliwo zmiany rozmiaru tekstu przez uytkownika.
Takie rozwizanie jest niezbdne dla ludzi z wad wzroku i to nie
tylko dla osb szukajcych nowych okularw, ale take dla osb
szukajcych przepisw, robicych zakupy czy czytajcych artykuy
w internecie. Mimo e ta maa zmiana okae si prawie niezauwaalna
dla przecitnego uytkownika strony, bdzie ogromnym uatwieniem
dla tych, ktrzy dopiero po jej wprowadzeniu bd mogli z tej strony
skorzysta.
25
26
Rozdzia 1.
USTAW I ZAPOMNIJ
Podczas definiowania rozmiaru tekstu, tylko w jednym miejscu w naszym arkuszu stylw uyjemy wartoci bezwzgldnej. Sowo kluczowe
wielkoci bezwzgldnej zastosujemy tylko w deklaracji dla elementu
<body>, tak jak omawialimy to wczeniej w tym rozdziale:
body {
font-size: small;
}
Jak wida na rysunku 1.5, wielko 12 pikseli mona porwna z wielkoci small. Oczywicie rnice te bd odrobin inne w rnych
przegldarkach, poniewa kady program moe mie zdefiniowan
inn wielko dla poszczeglnych sw kluczowych. Jednak w wikszoci przypadkw uycie sowa kluczowego small przy definiowaniu podstawowego rozmiaru tekstu jest rwnoznaczne z ustawieniem
wartoci 12px (przy zaoeniu, e uytkownik nie zmieni domylnych ustawie przegldarki). Takie porwnanie jest bardzo przydatne
dla projektantw dopiero zaczynajcych stosowa sowa kluczowe.
Podstawow wielko tekstu ustawion za pomoc sowa kluczowego small bdziemy modyfikowa, korzystajc z wartoci procentowych. Stosowanie wartoci procentowych jest prost drog do
wizualizacji podanego rozmiaru elementu. Na rysunku 1.6 moemy zauway, jak wartoci procentowe zwikszaj lub zmniejszaj
rozmiar czcionki w stosunku do podstawowej wielkoci tekstu.
Elastyczny tekst
Jeli na przykad chcemy, by element <h1> by odrobin wikszy ni
tekst o wielkoci small, wystarczy zadeklarowa:
body {
font-size: small;
}
h1 {
font-size: 150%;
}
27
28
Rozdzia 1.
Elastyczny tekst
h2 {
font-size: 130%;
}
h3 {
font-size: 120%;
}
ul li {
font-size: 90%;
}
.note {
font-size: 85%;
}
29
30
Rozdzia 1.
Stosowanie sw kluczowych
i wartoci procentowych
Aby peniej wykorzysta zalety pracy ze sowami kluczowymi i wartociami procentowymi, naley pamita o kilku kwestiach. Informacje zawarte w tym podrozdziale powinny pomc we waciwym
dostosowaniu wartoci procentowych. Wspomn take o kilku najwaniejszych aspektach, o ktrych naley pamita przy zagniedaniu wartoci procentowych.
Elastyczny tekst
Jeli jednak stwierdzimy, e warto small jest zbyt dua dla naszego
projektu (gdy wywietlamy stron przy domylnych ustawieniach
przegldarki), moemy j zmieni na nieco mniejsz. Wystarczy przy
uyciu procentw zadeklarowa mniejsz wielko dla obiektu o identyfikatorze #container, w ktrym umiecimy wszystkie elementy
tekstowe strony.
body {
font-size: small;
}
h1 {
font-size: 150%;
}
#container {
font-size: 95%;
}
31
32
Rozdzia 1.
z istniejcego elementu <div>, w ktrym znajduj si wszystkie
elementy strony, moemy dowolnie zmienia rozmiar tekstu i w ten
sposb zdefiniowa wasny rozmiar podstawowy.
Jednak najlepiej jest nie zagbia si zbytnio w szczegy przy definiowaniu wielkoci tekstu, poniewa w rnych przegldarkach i rnych systemach operacyjnych zawsze bd widoczne pewne rnice.
Najwaniejsze jest, e uytkownicy bd mieli moliwo zmiany
wielkoci tekstu przy uyciu narzdzi wbudowanych w przegldarki.
ZAGNIEDAJC PROCENTY,
MUSIMY ZACHOWA OSTRONO
Przy zagniedaniu wartoci procentowych naley zachowa ostrono. W poprzednim przykadzie podstawowa wielko tekstu bya
zdefiniowana przy uyciu wartoci small, a nastpnie zostaa zmniejszona do 95% oryginalnej wielkoci poprzez dopisanie odpowiedniej
deklaracji do pojemnika <div id="container">. Wszystko moe
si troch skomplikowa, gdy zaczniemy stosowa wartoci procentowe do innych elementw znajdujcych si wewntrz elementu
#container.
Na przykad wczeniej zadeklarowalimy, e wielko elementu <h1>
bdzie wynosi 150% wielkoci podstawowej. Elementy <h1> znajduj si niej w drzewie dokumentu poniej obiektu #container. Dlatego ich wielko to nie 150% wielkoci podstawowej, lecz
150% z wartoci 95% z wielkoci small. Na rysunku 1.10 przedstawiono zaleno pomidzy zagniedaniem elementw w dokumencie a przypisanymi do nich wartociami procentowymi.
Rysunek 1.10.
Sposb wyliczania wartoci
procentowych w przypadku
wielokrotnego zagniedania
elementw
Faktycznie, moemy by troch zdezorientowani. By moe pomocna
bdzie zamiana sowa kluczowego small na warto numeryczn.
Elastyczny tekst
33
Naley zachowa szczegln ostrono przy zagniedaniu wartoci procentowych mniejszych ni 100%
zmniejszenie przez uytkownika domylnej wielkoci tekstu w przegldarce moe spowodowa,
e tekst bdzie zbyt may i stanie si nieczytelny.
Innymi sowy, jeeli projektant przy tworzeniu strony sugerowa si ustawieniami domylnymi i uy
maych wartoci procentowych (takich, e przy ustawieniu redniego rozmiaru czcionki w przegldarce
tekst nadal by czytelny), moliwe jest, e strona bdzie nieczytelna, gdy uytkownik wybierze w przegldarce mniejszy rozmiar czcionki.
Czytelno tekstu na stronie naley przetestowa przy rnych ustawieniach rozmiaru tekstu w rnych
przegldarkach, niezalenie od uywanego poczenia sw kluczowych i procentw. Rada ta jest dobra
bez wzgldu na to, z jakiej metody ustawienia wielkoci tekstu korzystamy.
Bardzo ciekawy jest test Owena Briggsa, porwnujcy wielkoci tekstu w rnych przegldarkach,
na rnych systemach i przy zastosowaniu rnych systemw definiowania rozmiarw tekstu
(www.thenoodleincident.com/tutorials/box_lesson/font/method.html). Na stronie testu Briggs umieci
264 zrzuty ekranowe, dziki czemu w jednym miejscu mona porwna wszystkie uzyskane wyniki
(rysunek 1.11).
Rysunek 1.11. Test Owena Briggsa dotyczcy wywietlanej wielkoci tekstu to cenne rdo
informacji, zawierajce 264 zrzuty ekranowe, ktre przedstawiaj prawie kad moliw
kombinacj ustawie
34
Rozdzia 1.
Jeeli wielko tekstu dla elementu <body> wynosi 10 (zamiast
small), to wszystko wewntrz elementu #container bdzie miao
wielko 9,5 (czyli 95% z 10). Nagwek <h1> znajduje si wewntrz
elementu #container, a rozmiar czcionki ustawiony dla tych nagwkw wynosi 150%. Warto 150% z pierwszej wielkoci podstawowej wynosiaby 15, jednak poniewa element <h1> znajduje si
w elemencie #container, warto ta bdzie wynosi 14,25 (150%
z 9,5). Obliczenia staj si coraz bardziej skomplikowane wraz z kolejnymi poziomami zagniede. Mora z tego jest taki, e podczas
deklarowania nowych wartoci procentowych naley pamita o ustawionych ju wartociach. Osobicie przy projektowaniu stron rzadko
stosuj zagniedanie na wicej ni dwu poziomach. Dziki zrozumieniu tego, w jaki sposb zagniedanie wpywa na wielko wartoci procentowych, moemy unikn rozczarowania, gdy uzyskane
wielkoci tekstu rni si od zamierzonych.
Elastyczny tekst
Podsumowanie
Najwaniejsz informacj, jak naley zapamita po przeczytaniu
tego rozdziau jest to, e uytkownikowi naley umoliwi zmian
rozmiaru tekstu. Podzieliem si swoimi rozwizaniami, wykorzystujcymi sowa kluczowe oraz wartoci procentowe. Jednak kada
strona internetowa jest inna i ma swoje wasne wymagania. Najlepiej by byo, gdybymy we wszystkich tworzonych projektach mogli
uwzgldni opisan w tym rozdziale elastyczno.
Poniej zamieciem kilka uwag wartych zapamitania.
Q
Stosowanie sw kluczowych to atwa, zrozumiaa metoda definiowania wielkoci czcionki, ktra umoliwia zmian rozmiaru
tekstu przez uytkownika.
35
36
Rozdzia 1.
Q
Stosowanie wartoci procentowych uatwia szybk zmian wielkoci caego tekstu strony poprzez zmian jednej deklaracji lub
uycie zdefiniowanego przez uytkownika arkusza stylw.
Dobra wiadomo jest taka, e rozdzia ten jest chyba najmniej interesujcy z caej ksiki. Jednak jest on solidn a raczej elastyczn
podstaw dla wszystkich kolejnych przykadw. W dalszych rozdziaach przyjmuj zaoenie, e uytkownik moe skalowa tekst na
stronie w dowolnym kierunku. Z tak wiedz moemy zacz w kreatywny sposb stosowa style CSS i przebudowa wiele tradycyjnych komponentw stron tak, by stay si elastyczne.