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
O autorze ....................................................................................... 13
Wstp ............................................................................................ 15
Cz I
Cz II
Spis treci
7
Wartoci absolutne a relatywne wysokoci i szerokoci .............................................. 121
Waciwo z-index oraz nachodzca na siebie zawarto ........................................... 128
Ukad strony CSS w praktyce: Footbag Freaks ............................................................ 132
Podsumowanie ............................................................................................................. 138
Dodatki ......................................................................................241
Dodatek A Rozmaitoci ................................................................................. 243
@-reguy ...................................................................................................................... 243
Dwikowe arkusze stylw .......................................................................................... 246
CSS a JavaScript .......................................................................................................... 248
Spis treci
9
border-bottom-style, border-left-style, border-right-style, border-top-style ................. 269
border-bottom-width, border-left-width, border-right-width, border-top-width ........... 270
border-collapse ............................................................................................................. 271
border-color .................................................................................................................. 272
border-spacing .............................................................................................................. 273
border-style .................................................................................................................. 273
border-width ................................................................................................................. 275
bottom .......................................................................................................................... 276
caption-side .................................................................................................................. 277
clear .............................................................................................................................. 278
clip ................................................................................................................................ 279
color ............................................................................................................................. 280
content .......................................................................................................................... 281
counter-increment ......................................................................................................... 283
counter-reset ................................................................................................................. 284
cue ................................................................................................................................ 286
cue-after, cue-before ..................................................................................................... 286
cursor ............................................................................................................................ 287
direction ....................................................................................................................... 289
display .......................................................................................................................... 291
elevation ....................................................................................................................... 294
empty-cells ................................................................................................................... 295
filter .............................................................................................................................. 295
float .............................................................................................................................. 297
font ............................................................................................................................... 298
font-family .................................................................................................................... 299
font-size ........................................................................................................................ 301
font-size-adjust ............................................................................................................. 303
font-stretch ................................................................................................................... 305
font-style ...................................................................................................................... 306
font-variant ................................................................................................................... 307
font-weight ................................................................................................................... 308
height ............................................................................................................................ 309
ime-mode ...................................................................................................................... 310
layout-flow ................................................................................................................... 311
layout-grid .................................................................................................................... 312
layout-grid-char ............................................................................................................ 313
layout-grid-line ............................................................................................................. 314
layout-grid-mode .......................................................................................................... 315
layout-grid-type ............................................................................................................ 316
layer-background-color ................................................................................................ 317
layer-background-image ............................................................................................... 318
left ................................................................................................................................ 319
letter-spacing ................................................................................................................ 320
line-break ...................................................................................................................... 321
line-height .................................................................................................................... 322
list-style ........................................................................................................................ 323
list-style-image ............................................................................................................. 325
list-style-position .......................................................................................................... 326
list-style-type ................................................................................................................ 327
margin .......................................................................................................................... 329
margin-bottom, margin-left, margin-right, margin-top ................................................. 330
marker-offset ................................................................................................................ 331
marks ............................................................................................................................ 333
10
Spis treci
11
vertical-align ................................................................................................................ 390
visibility ....................................................................................................................... 392
voice-family ................................................................................................................. 393
volume .......................................................................................................................... 394
white-space ................................................................................................................... 395
widows ......................................................................................................................... 396
width ............................................................................................................................. 397
word-break ................................................................................................................... 398
word-spacing ................................................................................................................ 399
word-wrap .................................................................................................................... 400
writing-mode ................................................................................................................ 401
z-index .......................................................................................................................... 402
zoom ............................................................................................................................. 403
Rozdzia 4.
Projektowanie
serwisu w CSS
Rozwj kadego serwisu rozpoczyna si od jego zaprojektowania. To, co bdzie zawarte
w serwisie, wymylasz sam bd otrzymujesz idee od klienta. Jeli jeste projektantem
przyzwyczajonym do szczegowego sporzdzania dokumentacji, projektowanie moe
obj rwnie stworzenie takiego dokumentu. Bdzie to wymaga uwzgldnienia przypadkw (ang. case), czyli moliwych zachowa odwiedzajcego stron. Trzeba bdzie
rwnie wzi pod uwag oficjalne specyfikacje oraz zalecenia, a take list przegldarek oraz platform umoliwiajcych dostp do strony.
Na tym etapie zwykle buduje si seri prototypw powstaych z projektw na papierze.
Nastpnie z prototypowania wzorw w programie graficznym przechodzi si do stworzenia w peni funkcjonalnej strony HTML. Jeli posiadasz pewne dowiadczenie w projektowaniu stron, z atwoci przeskoczysz z projektu konceptualnego do kodowania
w HTML, odzwierciedlajcego Twj pomys na ekranie.
Rezygnujc z tabel na rzecz CSS, poznasz zupenie nowe zasady projektowania, na
podstawie ktrych bdziesz budowa swoje pierwsze prototypy. W kolejnych rozdziaach tej ksiki omwi wszystkie te zasady, tak by zyska pewne wyobraenie
o ograniczeniach CSS i mg puci wodze fantazji.
W ludzkiej naturze ley pewna niech do zmian. Gdy zapoznasz si z rzeczami, ktrych CSS nie potrafi dokona, zamiast ochoty na poznawanie nowego, wspaniaego
wiata CSS, gdzie ukad setek stron moe zalee od jednej reguy, odczujesz pokus
powrotu do topornego projektowania przy uyciu tabel. Bd stara si nakoni Ci
do porzucenia starych przyzwyczaje, przedstawiajc kilka gwnych zalet konstruowania stron przy uyciu CSS. Poka rwnie par witryn internetowych, ktre,
podjwszy stanowcze kroki, zbieraj teraz owoce rozplanowywania w CSS.
78
79
Scentralizowana informacja
o rozmieszczeniu elementw na stronie
Jak ju to nakreliem wczeniej, najlepsz metod na uycie CSS przy projektowaniu
stron WWW jest doczenie jednego lub wicej plikw .css zawierajcych odpowiednie reguy stylw za pomoc znacznika <link>. W ten sposb wygld strony jest wyranie oddzielony od jej treci i znajduje si jednym miejscu.
Ide przywiecajc takiemu postpowaniu jest umoliwienie zmiany treci strony
bez koniecznoci modyfikowania jej wygldu i odwrotnie. Przy tradycyjnym projektowaniu stron, gdzie znaczniki HTML oraz atrybuty su do okrelenia sposobu wywietlania caoci w przegldarce, kod tych dwch aspektw jest przemieszany. Jeli
zatem ktokolwiek chciaby zmodyfikowa jeden z nich, automatycznie musiaby si
zna na obu. Inaczej ryzykowaby popsucie czego na stronie. W tym sensie mwimy
o powizaniu treci i wygldu witryny.
Fakt podzielenia kodu na czci suce do rnych celw jest znany w programistycznym wiecie (ang. decoupling). Gdy oprawa graficzna serwisu jest niezalena od
jego treci, projektant witryny atwo modyfikuje jej wygld poprzez edytowanie plikw
.css, natomiast osoba zajmujca si treci dodaje zawarto do plikw .html.
Taki podzia kodu przeciwdziaa take jego powielaniu. W projektowaniu opartym na
znacznikach HTML, jeli tytu znajdujcy si na grze kadego artykuu ma by wywietlany powikszon, czerwon czcionk, naley umieci znacznik <font> wewntrz odpowiedniego znacznika <h1> na kadej stronie serwisu. Gdy uywa si wzoru
w CSS, mona w jednym miejscu okreli waciwoci czcionki dla znacznikw h1,
co znaczco oszczdza czas pisania kodu. W momencie zmiany wygldu tego typu
nagwkw naley jedynie dokona pewnej modyfikacji pliku CSS nie ma potrzeby sprawdzania kadego dokumentu HTML z osobna. Na pewno oszczdza to czas
i nerwy. Powysze rnice zilustrowano na rysunku 4.1.
Jeli przyjrzysz si uwanie rysunkowi 4.1, spostrzeesz, e oprcz zalet organizacyjnych opisanych wyej, istnieje dodatkowy atut przegldarka ma mniej kodu do
pobrania. W przypadku witryn mocno oboonych kodem lub skadajcych si z setek
stron, ograniczenie czasu adowania si strony moe bardzo pozytywnie wpyn na
ocen uytkownika i na koszty pocze.
Znaczniki semantyczne
Gdy uywa si plikw .css do oddzielenia zawartoci witryny od jej treci, mona zaobserwowa ciekawe rzeczy. Poniewa CSS zapewnia cakowit kontrol nad wygldem
poszczeglnych skadnikw strony, zaczyna si uywa znacznikw do oznaczenia
struktury i znaczenia elementw na stronie. Kod HTML pozbawiony informacji dotyczcych wygldu i formy prezentacji strony staje si czystym nonikiem semantycznych treci.
80
Rysunek 4.1.
CSS centralizuje
kod projektu
Istnieje kilka powodw utrzymywania takiego stanu rzeczy. Jednym z nich jest atwo
dokonywania zmian w zawartoci witryny. Najprostsz metod na zlokalizowanie
strony uywajcej CSS jest spojrzenie w jej rdo opcja ta dostpna jest w kadej
przegldarce. Jeli jeste w stanie okreli zawarto strony w przecigu 10 sekund,
cakiem prawdopodobne jest, e nie masz do czynienia z ukadem strony bazujcym
na tabelach ani z adnym innym niesemantycznym kodem HTML.
Uycie semantycznych znacznikw HTML znaczco wpywa na mechanizmy wyszukiwania stosowane przez wyszukiwarki internetowe. Im mniej jest znacznikw opisujcych wygld strony, tym bardziej jest prawdopodobne, e zwikszy si gsto
wystpowania na stronie danego sowa kluczowego, ktra to warto jest istotnym
czynnikiem determinujcym popularno strony.
Jak zobaczymy pniej, CSS pozwala na pozycjonowanie elementu wewntrz okna
przegldarki w oderwaniu od jego miejsca w dokumencie HTML. Jeli zatem posiadasz na stronie formularz sucy do zamawiania prenumeraty listy dystrybucyjnej
bd inny obszerny fragment kodu HTML, niewnoszcy wiele do samej treci dokumentu, moesz swobodnie przenie cz kodu na koniec dokumentu, a nastpnie
uy CSS do ustawienia formularza na grze okna przegldarki.
Znacznik <link>1 oferuje moliwoci coraz czciej wspierane przez wspczesne
przegldarki. Pozwala mianowicie ograniczy stosowanie doczonych regu stylw
tylko do przegldarek i ekranw okrelonego typu. Przykadowo, mgby doczy
do strony trzy pliki .css jeden definiowaby wygld strony wywietlanej na ekranie
1
81
komputera, drugi odnosiby si do drukowanej strony, natomiast trzeci miaby zastosowanie w przypadku telefonw komrkowych. Tylko poprzez uycie znacznikw
semantycznych oraz poprzez pozwolenie na to, aby CSS zaj si sposobem wywietlania strony, mona uzyska takie dostosowanie zawartoci do rnych okolicznoci.
Na koniec naley wspomnie o rzeczy nie mniej wanej, a mianowicie o zwikszonej
dostpnoci do witryn uywajcych znacznikw semantycznych. Zajmiemy si tym
bardziej szczegowo w nastpnej sekcji.
Dostpno
Gdyby mia kiedy okazj by wiadkiem przegldania stron WWW przez osoby
majce problemy ze wzrokiem, polecam to dowiadczenie. Alternatywnie, moesz uy
oprogramowania czytajcego zawarto ekranu. Wycz monitor i sprawd na wasnej
skrze, jak to jest by osob majc saby wzrok, prbujc porusza si w internecie.
Witryny czsto korzystajce z tabel, rysunkw oraz innych niesemantycznych elementw HTML s bardzo niewygodne przy odczytywaniu na gos zawartoci strony.
Nie jest takie znw niespotykane wrd wspczesnych serwisw, e zaadowanie strony
do momentu wywietlenia waciwej zawartoci zajmuje okoo 30 sekund. Skoro ju
teraz nie brzmi to dobrze, pomyl, e musiaby wysuchiwa takich niepotrzebnych
informacji za kadym razem, gdy nowa strona zostaaby zaadowana.
Znaczniki semantyczne pozwalaj na niemal cakowite pozbycie si tej kakofonii dwikw, gdy kady znacznik dokumentu posiada dziki nim pewne znaczenie strukturalne,
istotne w tym przypadku dla uytkownika (a waciwie suchacza). Przegldarki odczytujce zawarto strony na gos ignoruj graficzne waciwoci elementw interfejsu, tote niewidomy uytkownik nie powinien by zmuszany do ich odsuchiwania.
W witrynie uywajcej znacznikw semantycznych osoba z uszkodzonym wzrokiem
nie musiaaby zachodzi w gow, czy pogrubienie tekstu miao jakie specjalne znaczenie, czy tylko pewien walor estetyczny. Elementy wywietlone pogrubion czcionk
dla celw estetycznych posiadayby odpowiedni regu zdefiniowan wewntrz definicji CSS, wic przegldarka czytajca na gos pominaby t cech. Elementy, ktre
miayby si odznacza na tle innych pod wzgldem semantycznym, wyrnione byyby
znacznikami <strong> oraz <em>, czyli tekst byby pogrubiony i wywietlony kursyw.
Istniej osobne poradniki na temat tego, jak naley tworzy serwisy bardziej dostpne dla
uytkownikw niepenosprawnych. Wytyczne dotyczce dostpu do sieci przez osoby
niepenosprawne, czyli inaczej WCAG (ang. Web Content Accessibility Guidelines)2,
s pozycj polecan wszystkim projektantom witryn. W zaleceniach3 omwiona jest
idea unikania znacznikw prezentacyjnych na rzecz znacznikw semantycznych.
http://www.w3.org/TR/WCAG10/
http://www.w3.org/TR/WCAG10/#g1-structure-presentation
82
Zgodno ze standardami
WCAG nie jest jedyn specyfikacj popierajc ide podziau kodu strony na cz
prezentacji (CSS) oraz cz zawartoci (HTML). W rzeczywistoci ostatnie standardy
HTML4 byy tworzone wanie w tym duchu.
Konsorcjum World Wide Web5 (W3C) jest organizacj odpowiedzialn za publikowanie zalece (a waciwie standardw) odnoszcych si do sieci. Poniej znajduje si
kilka zalece zwizanych z semantycznymi znacznikami oraz z CSS:
HTML 4 (http://www.w3.org/TR/html4)
Ostatnia wersja dokumentu oznacza wszystkie niesemantyczne znaczniki i ich
atrybuty jako niezalecane6. Znacznik <font>7, na przykad, jest w tym standardzie
jasno wyszczeglniony jako przestarzay. Oto komentarz do tych niezalecanych
elementw8:
Oglnie rzecz biorc, autorzy stron powinni uywa zamiast znacznikw HTML
arkuszy stylw do formatowania i nadawania odpowiedniego ksztatu elementom.
XHTML 1.0 (http://www.w3.org/TR/xhtml1/)
XHTML, jako HTML 4 przetransformowane do dokumentw XML, pozwala
na uywanie znacznikw oraz atrybutw, jednoczenie wykorzystujc
funkcjonalno XML (mieszanie jzykw znacznikw, tworzenie wasnych itd.).
To zalecenie zawiera te same znaczniki oraz niezalecane elementy co HTML 4.
Wytyczne dotyczce dostpu do sieci (Web Content Accessibility Guidelines 1.0)
(http://www.w3.org/TR/WCAG10/)
Tak jak to zostao opisane w sekcji Dostpno, WCAG gorco zaleca
uywanie CSS oraz znacznikw semantycznych do tworzenia projektw
stron usprawniajcych dostpno. Zalecenie to mwi samo za siebie:
Naduywanie znacznikw do osignicia pewnych efektw wizualnych
(przykadowo, tabel do budowania ukadu strony, a nagwkw
do zwikszenia rozmiaru czcionki) utrudnia uytkownikom korzystajcym
ze specjalistycznego oprogramowania poruszanie si po stronie. Co wicej,
uniemoliwione jest poprawne wywietlenie strony na innych urzdzeniach,
gdy rezygnuje si ze znacznikw strukturalnych na rzecz znacznikw
prezentacji przy przekazywaniu treci.
4
http://www.w3.org/MarkUp/#recommendations
http://www.w3.org/
Element niezalecany jest oznaczony jako ten do usunicia ze specyfikacji, w zwizku z czym nie
powinien by duej uywany. Dokument, ktry ma by zgodny ze standardami, nie powinien
stosowa tego typu elementw.
http://www.w3.org/TR/html4/present/graphics.html#h-15.2.2
http://www.w3.org/TR/html4/conform.html#deprecated
83
http://devedge.netscape.com/viewsource/2003/devedge-redesign/
84
10
http://devedge.netscape.com/viewsource/2003/espn-interview/01/
11
http://www.sitepoint.com/books/
85
Podsumowanie
W tym rozdziale podaem kilka najistotniejszych zalet, ktre CSS ma do zaoferowania
przy projektowaniu witryn internetowych. S nimi przede wszystkim:
zwikszona kontrola skadni,
scentralizowana informacja o rozmieszczeniu elementw na stronie,
znaczniki semantyczne,
dostpno,
zgodno ze standardami.