Spis treści
Wstęp .............................................................................................. 7
Rozdział 1. Podstawowe informacje .................................................................... 9
Czym jest internet .............................................................................................................9
Czego potrzebujemy do tworzenia stron WWW ............................................................ 10
Rozdział 2. Wprowadzenie do HTML5 ............................................................... 15
Podstawowe różnice pomiędzy HTML5 a HTML4 ........................................................ 15
Elementy języka HTML5 ............................................................................................... 16
Znaczniki i atrybuty ................................................................................................. 16
Podstawowa struktura dokumentu ............................................................................ 17
Nagłówek dokumentu ............................................................................................... 18
Ciało i sekcje dokumentu HTML ............................................................................. 24
Elementy blokowe .................................................................................................... 26
Elementy wstawiane ................................................................................................. 36
Elementy osadzone (grafika, multimedia, aplikacje) ................................................ 44
Hiperłącza ................................................................................................................ 56
Tabele ....................................................................................................................... 66
Formularze ............................................................................................................... 74
Komentarze .............................................................................................................. 91
Rozdział 3. Wprowadzenie do CSS3 .................................................................. 93
Podstawowe pojęcia ....................................................................................................... 94
Budowa stylu ............................................................................................................ 94
Osadzanie stylów na stronie ..................................................................................... 95
Jednostki miar stosowane w CSS ............................................................................. 99
Nazewnictwo kolorów używane w CSS ................................................................. 101
Moduły ................................................................................................................... 103
Selektory ....................................................................................................................... 105
Selektory proste ...................................................................................................... 105
Selektory uniwersalne ............................................................................................ 105
Selektory „potomka” .............................................................................................. 107
Selektory „dziecka” ................................................................................................ 108
Selektory „rodzeństwa” .......................................................................................... 109
Selektor ogólnego rodzeństwa ................................................................................ 109
Selektor atrybutu .................................................................................................... 110
Selektor atrybutu z możliwością dopasowania ciągu znaków ................................ 111
Identyfikatory ......................................................................................................... 113
Klasy ...................................................................................................................... 114
4 Wstęp do HTML5 i CSS3
Pseudoklasy ............................................................................................................ 115
Pseudoelementy ...................................................................................................... 136
Grupowanie selektorów .......................................................................................... 139
Dziedziczenie ............................................................................................................... 140
Kaskadowość ................................................................................................................ 143
Właściwości tekstu ....................................................................................................... 145
Wyrównanie tekstu ................................................................................................. 145
Pionowe wyrównanie ............................................................................................. 146
Wcięcie pierwszego wiersza akapitu ...................................................................... 147
Odstępy pomiędzy literami ..................................................................................... 148
Odstępy pomiędzy wyrazami ................................................................................. 149
Odstępy między liniami .......................................................................................... 150
Łamanie długiego ciągu znaków ............................................................................ 151
Dekoracja tekstu ..................................................................................................... 152
Przekształcanie — małe i duże litery ..................................................................... 152
Kontrola pustej przestrzeni ..................................................................................... 153
Cieniowanie tekstu ................................................................................................. 154
Właściwości czcionki ................................................................................................... 155
Rodzina czcionek ................................................................................................... 155
Rozmiar czcionki .................................................................................................... 158
Waga czcionki ........................................................................................................ 158
Style czcionki ......................................................................................................... 160
Wariant czcionki .................................................................................................... 161
Osadzanie czcionki na stronie ................................................................................ 161
Zbiorczy zapis właściwości czcionki ..................................................................... 162
Właściwości list ............................................................................................................ 163
Typ listy ................................................................................................................. 163
Dowolny obraz jako wypunktowanie listy ............................................................. 166
Zawijanie tekstu ..................................................................................................... 167
Zbiorczy zapis właściwości list .............................................................................. 167
Kolor, tło i przezroczystość .......................................................................................... 168
Nowe modele barw i przeźroczystości w CSS3 ..................................................... 168
Kolor elementu ....................................................................................................... 172
Kolor tła ................................................................................................................. 172
Element graficzny jako tło ..................................................................................... 174
Rozmiar tła ............................................................................................................. 175
Zatrzymanie tła ....................................................................................................... 176
Kontrola powielania tła .......................................................................................... 176
Pozycjonowanie tła ................................................................................................ 178
Wieloelementowe tło .............................................................................................. 180
Kontrola styku tła i obramowania .......................................................................... 181
Zbiorczy zapis właściwości tła ............................................................................... 182
Marginesy, obramowanie i dopełnienia ........................................................................ 182
Pudełkowy model formatowania elementów .......................................................... 182
Marginesy ............................................................................................................... 183
Dopełnienie ............................................................................................................ 186
Obramowanie ......................................................................................................... 188
Wymiary ................................................................................................................. 193
Tabele ........................................................................................................................... 194
Odstępy we wnętrzu tabeli ..................................................................................... 197
Pojedyncze obramowanie ....................................................................................... 197
Kontrola pustych komórek ..................................................................................... 198
Generowanie tabeli ................................................................................................. 199
Podpis tabeli ........................................................................................................... 200
Spis treści 5
Pozycjonowanie elementów ......................................................................................... 200
Rodzaje pozycjonowania ........................................................................................ 201
Określanie pozycji .................................................................................................. 204
Warstwy ................................................................................................................. 204
Pływanie i tamowanie elementów ................................................................................ 206
Pływanie elementów .............................................................................................. 206
Tamowanie elementów ........................................................................................... 208
Efekty wizualne ............................................................................................................ 209
Kadrowanie ............................................................................................................ 209
Ukrywanie elementów ............................................................................................ 210
Sterowanie wymiarowanymi elementami ............................................................... 211
Interfejs użytkownika ................................................................................................... 213
Kursory ................................................................................................................... 213
Kontury elementów ................................................................................................ 213
Zawartość generowana i liczniki .................................................................................. 215
Zawartość generowana ........................................................................................... 215
Liczniki .................................................................................................................. 216
Cytaty ........................................................................................................................... 219
Rozdział 4. Poznaj możliwości HTML5 i CSS3 na konkretnym przykładzie ......... 221
Szkielet strony .............................................................................................................. 221
Obstylowanie ................................................................................................................ 224
Walidacja ...................................................................................................................... 228
Dodatek ....................................................................................... 233
Zestawienie znaczników HTML5 ................................................................................. 233
Standardowe atrybuty języka HTML5 .......................................................................... 251
Zestawienie właściwości stylów CSS3 ......................................................................... 253
Właściwości tekstu ................................................................................................. 253
Właściwości czcionki ............................................................................................. 257
Właściwości list ..................................................................................................... 258
Kolor i tło ............................................................................................................... 259
Marginesy ............................................................................................................... 261
Dopełnienie ............................................................................................................ 263
Obramowanie ......................................................................................................... 264
Wymiary ................................................................................................................. 270
Tabele ..................................................................................................................... 272
Pozycjonowanie elementów ................................................................................... 273
Efekty wizualne ...................................................................................................... 275
Drukowanie ............................................................................................................ 276
Interfejs użytkownika ............................................................................................. 278
Zawartość generowana i liczniki ............................................................................ 279
Podsumowanie ............................................................................. 281
Skorowidz .................................................................................... 283
6 Wstęp do HTML5 i CSS3
Wstęp
W ostatnich latach nastąpił prawdziwy rozkwit internetu, który z sieci przeznaczonej
dla prostych usług (strony WWW, poczta e-mail, grupy dyskusyjne, IRC) przeobraził
się w najważniejsze medium współczesności, które pozwala na udostępnianie rozbudo-
wanych aplikacji sieciowych o różnorakim przeznaczeniu, transmisję obrazu i dźwię-
ku czy wymianę plików. Dynamiczny rozwój internetu wynika z wielu rzeczy, ale do
najważniejszych czynników należy zaliczyć:
popularyzację szybkiego dostępu do internetu w gospodarstwach domowych
oraz wzrost przepustowości i szybkości całego internetu,
nowe rozwiązania programistyczne, które pozwalają na tworzenie bardziej
rozbudowanych i skomplikowanych usług sieciowych.
Dzisiaj do tworzenia całych platform internetowych nie wystarczy znajomość podstaw
starszej wersji języka HTML czy kaskadowych arkuszy stylów. Bardzo często niezbęd-
ne są JavaScript, języki PHP czy ASP, znajomość baz danych, Adobe Flash czy róż-
nych mniej lub bardziej oryginalnych połączeń innych technologii.
Każde z wymienionych i niewymienionych rozwiązań ma swoje wady i zalety, dzięki
którym w jednych zastosowaniach sprawdza się lepiej, a w innych gorzej. Prawdę mó-
wiąc, nie ma technologii idealnych i uniwersalnych, ale są takie, które lepiej lub gorzej
nadają się do realizacji konkretnych zadań. Na szczęście twórcy różnych rozwiązań
wykorzystywanych we współczesnym internecie mają świadomość ułomności swoich
produktów i ciągle dążą do ich udoskonalania. Tym sposobem po HTML4 mieliśmy
HTML4.01, po CSS1 był CSS2, a później wszyscy zachwycali się językiem XHTML.
Teraz przyszła pora na następne zmiany i w światku webmasterskim zaczyna być gło-
śno o nowych odsłonach HTML i CSS. Mam tutaj na myśli HTML5 oraz CSS3.
HTML5 to efekt zaprzestania rozwijania języka XHTML2, powrotu do korzeni i po-
dążania drogą, której kierunek wytyczył HTML4. Kolejna odsłona języka HTML jest
kompatybilna wstecz z jego poprzednią wersją, ale wprowadza również nowe elementy,
odpowiedzialne m.in. za usprawnianie tworzenia rozbudowanych stron WWW i aplikacji
internetowych. Wyjaśnia też większość niejasności, które są wynikiem błędów i prze-
oczeń w specyfikacji HTML4. Najważniejsze nowości HTML5 wymieniłem poniżej:
8 Wstęp do HTML5 i CSS3
Zawiera nowe elementy i znaczniki.
Usunięto z niego przestarzałe elementy, np. i
Rozdział 1.
Podstawowe informacje
Zanim zajmiemy się tworzeniem stron w oparciu o język HTML5 i CSS3, niezbędne
jest krótkie wprowadzenie, które pozwoli Ci odpowiednio przygotować się do tego,
co czeka Cię w kolejnych rozdziałach niniejszej książki.
Czym jest internet
Ocena i jakakolwiek charakterystyka internetu jest dość trudna. Dlatego spróbuję opi-
sać, czym jest internet w moim odczuciu. Otóż kilkanaście lat temu, gdy stawiałem
swoje pierwsze kroki na „cybernetycznej drodze”, uważałem, że to kolejna chwilowa
moda i kwestią czasu jest, by pomysł umarł i zniknął z naszego globu. Dzisiaj, gdy po-
myślę, jaki byłby świat bez dostępu do sieci i oferowanych przez nią możliwości, nie
potrafię w nim znaleźć miejsca dla siebie. Dzięki internetowi mogę na bieżąco śledzić
notowania giełdowe, czytać poranne gazety, zarządzać swoimi pieniędzmi, a w końcu
pracować i pisać książki. Nie wyobrażam sobie chwili, w której ktoś wyjmie wtyczkę
i sieć zgaśnie — straciłbym pracę, błyskawiczny dostęp do informacji, a nawet wielu
przyjaciół. Czasem zastanawiam się, czy już nie jestem uzależniony i nie powinienem
się leczyć w specjalistycznych poradniach, ale mam nadzieję, że tak nie jest — bo prze-
cież straciłbym wtedy dostęp do sieci.
W moim odczuciu internet to jedno z największych osiągnięć współczesnej cywilizacji.
Potrafię sobie wyobrazić świat bez ciepłej wody, restauracji czy samochodu, ale nie
widzę możliwości jego istnienia bez sieci.
Oczywiście opisane zalety nie wyczerpują zagadnienia i zupełnie pomijają drugi aspekt
sprawy. Mam tutaj na myśli fakt, że internet pozwala nam również aktywnie w nim
zaistnieć i pozostawić cząstkę siebie. Jeżeli poznamy język HTML i przyswoimy sobie
podstawy korzystania z sieci, to możemy brać aktywny udział w jej tworzeniu, rozra-
staniu się — nasza praca będzie jak tlen niezbędny do życia.
10 Wstęp do HTML5 i CSS3
Łatwość dostępu do sieci i prostota korzystania z niej umożliwiają każdemu prowadzenie
własnej strony domowej zawierającej informacje o jego zainteresowaniach czy rodzi-
nie, a nawet stworzenie prawdziwej elektronicznej gazety. W sieci nie mamy żadnych
ograniczeń i jeżeli tylko chcemy, to możemy zrobić wszystko. Prowadzenie poczytne-
go portalu czy strony o hodowli rybek akwariowych to tylko dwie z wielu możliwo-
ści. Wszystko ogranicza się do języka HTML, a bardzo często prowadzi do spełnienia
marzeń. Wielu autorów doskonałych serwisów zarobiło dzięki nim spore pieniądze lub
otrzymało ciekawe propozycje pracy.
Znasz już moje zdanie na temat sieci. Zakładam, że skoro kupiłeś tę książkę, to miałeś
bądź masz styczność z internetem i zainteresowało Cię tworzenie własnych, dobrze
wyglądających i działających stron WWW, a do tego interesują Cię najnowsze trendy
i specyfikacje.
Czego potrzebujemy
do tworzenia stron WWW
Dokument wykorzystujący język HTML5 oraz CSS3 jest zwykłym plikiem tekstowym,
czyli do wykonania strony nie jest nam potrzebny żaden specjalny program ani środo-
wisko programistyczne — wystarczy zwykły edytor tekstu, np. Notatnik, będący czę-
ścią składową każdego systemu MS Windows.
Niestety, Notatnik jest niezwykle prostym edytorem tekstowym i nie oferuje wsparcia
dla języka HTML czy CSS, więc wymaga szczególnej dbałości o wpisywany kod. Przy
tworzeniu strony w Notatniku nietrudno o liczne błędy oraz przeoczenia, dlatego pod-
czas regularnej pracy nad stroną WWW warto sięgnąć po wyspecjalizowane narzędzia.
Najważniejsze cechy, jakimi powinien charakteryzować się dobry edytor tekstowy, to:
domykanie znaczników,
kolorowanie składni,
kodowanie polskich znaków w standardzie UTF,
kreatory ułatwiające generowanie części kodu,
sprawdzanie poprawności wygenerowanego kodu.
Na rynku możemy znaleźć wiele bardzo dobrych i godnych polecenia edytorów tek-
stowych. Dlatego ostatecznie zdecydowałem się nie proponować konkretnego, a jedy-
nie przedstawić wykaz kilku ciekawych rozwiązań, które, moim zdaniem, zasługują na
uwagę. Pragnę nadmienić, że wszystkie wybrane edytory są aplikacjami darmowymi.
First Page 2006 — bardzo rozbudowany edytor stron WWW, który pozwala
na pracę nad stroną w trybie tekstowym oraz graficznym. Warto zwrócić
uwagę na to, że posiada on mechanizm domykania znaczników, kolorowania
składni oraz wygodne podpowiedzi. Duży plus należy się autorowi za dodanie
Rozdział 1. ♦ Podstawowe informacje 11
dziesiątek kreatorów, ułatwiających stworzenie bardziej skomplikowanego
elementu na stronie. Prezentowane narzędzie wspiera pracę z kodem XHTML
i HTML. Strona domowa edytora to http://www.evrsoft.com/. Minusem jest
brak polskiej wersji językowej.
PSPad — zaawansowany edytor programistyczny, obsługujący wiele języków
programowania, w tym HTML (także HTML5), XHTML i CSS. Posiada on
wszystkie niezbędne udogodnienia ułatwiające pracę, został też wyposażony
przez autora w moduł sprawdzania pisowni — również polskiej. Zaletami
są polskojęzyczny interfejs i wygoda obsługi. Warto również wspomnieć
o sprawdzaniu poprawności kodu i obsłudze wielu dodatków, które można
pobrać ze strony domowej — http://www.pspad.com/en/.
Nowoczesna strona nie może obejść się już dzisiaj bez elementów graficznych.
Dlatego myśląc poważnie o przygotowaniu swojej pierwszej strony, powinieneś
zaopatrzyć się w odpowiednie narzędzie (lub narzędzia) graficzne. Musisz
wiedzieć, że na rynku istnieje wiele bardzo dobrych i profesjonalnych
programów do obróbki grafiki, np. Adobe Photoshop, ale niestety wszystkie
mają jedną podstawową wadę — wysoką cenę. Na szczęście można znaleźć
darmowe lub tanie zamienniki wymienionych powyżej aplikacji. Poniżej
wymieniłem kilka darmowych rozwiązań, które powinny Cię zainteresować
ze względu na oferowane możliwości.
Paint.NET — jest bardzo rozbudowanym edytorem grafiki rastrowej. Program
jest rozwijany przez studentów Uniwersytetu Waszyngtona, a dodatkowo
wspierany przez firmę Microsoft. Pozwala on na obrabianie różnego rodzaju
grafiki rastrowej. Wspiera korzystanie z warstw, wielopoziomową opcję
cofania zmian oraz efekty specjalne. Do wymienionych zalet należy doliczyć
przejrzysty interfejs oraz możliwość instalacji innych wersji językowych.
Niestety, polska wersja programu nie jest jeszcze dostępna. Strona domowa
programu to http://www.getpaint.net/.
GIMP — jest darmowym narzędziem do obróbki grafiki rastrowej. Za pomocą
tego programu możesz edytować zawartość zdjęć lub tworzyć własne grafiki,
na przykład na potrzeby projektowanej strony WWW. GIMP oferuje wiele
zaawansowanych funkcji, a do najważniejszych można zaliczyć: obsługę
warstw, wykorzystanie ogromnej liczby wtyczek, możliwość tworzenia
własnych makr oraz wiele innych. Warto również wspomnieć o rozbudowanej
selekcji, pracy z kanałami alfa, obsłudze antyaliasingu, skalowaniu
i przekształcaniu obrazów, wsparciu dla animowanych gifów, tworzeniu map
odnośników czy łączeniu tekstu z grafiką. Wśród obsługiwanych formatów
graficznych znajdują się m.in. JPEG, BMP, PNG, XPM, TIFF, TGA, MPEG,
PS, PDF, PCX, GIF. Program dostępny jest m.in. w polskiej wersji językowej,
a w połączeniu z nakładką GIMPShop — http://www.gimpshop.com/ —
obsługa aplikacji jest zbliżona do Adobe Photoshop, ponieważ układ menu
i skróty klawiszowe są identyczne. Warto również wspomnieć o tym,
że GIMP dostępny jest w wersjach dla różnych systemów operacyjnych.
Można go pobrać ze strony http://www.gimp.org.
DrawPlus 4 — to bardzo funkcjonalne narzędzie do tworzenia grafiki
wektorowej. Program posiada wiele rozwiązań niezbędnych podczas pracy
12 Wstęp do HTML5 i CSS3
z tego typu grafiką, a do tego ma bardzo przyjazny interfejs. Należy
wspomnieć o tym, że aplikacja pozwala na pracę z wykorzystaniem warstw,
grupowanie elementów oraz zamianę tekstu na krzywe. Ciekawostką jest
również, że dzięki niej możemy przygotować animacje, a wyniki pracy
wyeksportować do kilku popularnych formatów rastrowych. Program można
pobrać ze strony http://www.freeserifsoftware.com. Niestety, polska wersja
językowa nie jest dostępna.
Ostatnim ważnym elementem niezbędnym podczas tworzenia stron WWW jest prze-
glądarka. Po wielu latach posuchy i braku konkurencji na rynku możemy cieszyć się
sporym wyborem różnych przeglądarek stron WWW. Lista widoczna poniżej jest spo-
ra, ale musisz mieć świadomość, że nie wszystkie przeglądarki (nawet w najnowszych
wersjach) wspierają robocze wersje specyfikacji HTML5 i CSS3.
Google Chrome — http://www.google.com/chrome/?hl=pl
Mozilla Firefox — http://www.mozilla.com/pl/
Opera — http://www.opera.com/portal/choice/?language=pl
Safari — http://www.apple.com/pl/safari/
Internet Explorer — http://www.microsoft.com/poland/windows/products/
winfamily/ie/
Na rysunku 1.1 przestawiłem wykres udziału przeglądarek w rynku. Prezentowany po-
dział odbył się na podstawie silników przeglądarek, dlatego należy Ci się wyjaśnienie
odnośnie tego, które przeglądarki używają konkretnych silników.
Rysunek 1.1.
Wykres popularności
przeglądarek
— podział
według silników.
Opracowane
na podstawie
danych witryny
GemiusRanking
http://ranking.pl
Rozdział 1. ♦ Podstawowe informacje 13
Gecko — silnik używany przez przeglądarki z rodziny Mozilla Firefox,
MSIE — przeglądarka Microsoft Internet Explorer,
Opera — silnik przeglądarki Opera,
WebKit/KHTML — silnik stosowany m.in. w przeglądarkach Google Chrome
i Apple Safari.
Aktualny stan obsługi języków HTML5 i CSS3 przez przeglądarki z rozbiciem na
konkretne wersje można sprawdzić na stronie http://www.findmebyip.com/litmus/
#target-selector. Na dzień dzisiejszy sytuacja wygląda tak, że najlepsze wsparcie dla
nowych standardów oferują przeglądarki wykorzystujące silnik WebKit/KHTML oraz
Opera i Mozilla Firefox. Jednak musisz mieć świadomość, że pojawienie się kolejnych
wersji przeglądarek może tutaj sporo zmienić. Taki stan rzeczy może trwać jeszcze
wiele lat i ukończenie specyfikacji obu języków nie musi go zmienić.
14 Wstęp do HTML5 i CSS3
Rozdział 2.
Wprowadzenie do HTML5
Niniejszy rozdział ma na celu zapoznanie się z historią języka HTML, jego strukturą,
najważniejszymi elementami oraz nowościami wprowadzonymi w propozycji piątej
wersji specyfikacji. Innymi słowy, po zakończeniu lektury będziesz umiał zbudować
szkielet swojej własnej strony, którą następnie upiększysz za pomocą kaskadowych
arkuszy stylów. Aby nie przedłużać wstępu, proponuję, abyś zaopatrzył się w edytor,
przeglądarkę i możemy zabierać się za poznawanie piątej wersji języka HTML.
Podstawowe różnice
pomiędzy HTML5 a HTML4
Nowa odsłona języka HTML5 wprowadza szereg zmian i różnic w stosunku do po-
przednich wersji HTML4. Wszystkie istotne zmiany i nowości opisałem w dalszej
części niniejszego podrozdziału. Wydaje mi się, że znajomość najważniejszych różnic
i nowości jest kluczem do swobodnego poznawania samego języka HTML5.
Kompatybilność — język HTML5 jest zgodny z poprzednią wersją specyfikacji
oznaczoną numerem 4. W praktyce oznacza to, że strona WWW napisana
w oparciu o nową wersję HTML będzie działać na przeglądarkach, które
nie potrafią obsługiwać tego języka. Oczywiście nowe znaczniki i elementy
zostaną zignorowane, ale główny szkielet witryny oraz znaczniki znane
z poprzednich specyfikacji zadziałają poprawnie.
Brak przestarzałych znaczników — propozycja nowej wersji specyfikacji
języka HTML usuwa wiele zbędnych i przestarzałych znaczników. W dużym
uproszczeniu możemy przyjąć, że wszelkie znaczniki odpowiedzialne
za formatowanie wyglądu witryny oraz mające negatywny wpływ na jej
funkcjonalność zostały usunięte, ponieważ ich funkcję przejęły kaskadowe
arkusze stylów. Usunięte znaczniki to m.in.: , ,
,, , , , , ,
16 Wstęp do HTML5 i CSS3
Uproszczenie zapisu — nowa odsłona specyfikacji wprowadza liczne
uproszczenia w zapisie znaczników oraz ich atrybutów. Na przykład w tej chwili
określenie strony kodowej wygląda następująco: .
Dla porównania ten sam zapis w poprzedniej wersji specyfikacji miał postać.
Uproszczeń jest oczywiście więcej i szczegółowe informacje na ich temat
znajdziesz w kolejnych podrozdziałach.
Nowe znaczniki i atrybuty — jak łatwo się domyślić, nowa specyfikacja
języka HTML to również propozycje nowych znaczników, które mają uprościć
i zwiększyć kontrolę nad szkieletem strony. Wśród nowych znaczników warto
wspomnieć m.in. o: , , ,
Rozdział 2. ♦ Wprowadzenie do HTML5 17
Znaczniki zamykające nigdy nie zawierają dodatkowych parametrów. Wspomniałem
już o tym, że znaczniki prawie zawsze występują w parach: znacznik otwierający
i znacznik zamykający. Jest jednak kilka wyjątków od tej zasady. Typowe przykłady,
z którymi się spotkasz, to: ,
, , , , .
Zwróć uwagę na to, że w przypadku gdy znacznik nie posiada swojej domykającej
pary, znak „/” pojawia się przed domykającym nawiasem kątowym.
W przypadku starszych specyfikacji języka HTML znaczniki i atrybuty możemy wpisy-
wać, używając zarówno dużych, jak i małych liter. Wyjątkiem są te elementy, które
zawierają odwołania do innych plików; tu nazwa pliku musi być pisana dokładnie
tak samo, jak wygląda w rzeczywistości. W nowej odsłonie zaleca się stosowanie
zapisu opartego wyłącznie o małe litery.
W przypadku atrybutów wartości występujące po znaku równości należy zawsze za-
pisywać, używając cudzysłowu.
Podstawowa struktura dokumentu
Każdy dokument HTML ma ściśle określony szkielet, który nie zmienia się w zależ-
ności od zawartości strony. Oczywiście szkielet dla strony zbudowanej na podstawie
HTML5 różni się od tego wykorzystywanego w stronach korzystających z wcześniej-
szych wersji języka HTML czy XHTML. Opierając się na poniższym przykładzie,
przeprowadzę analizę podstawowej struktury witryny wykonanej w zgodzie z zalece-
niami nowej specyfikacji.Pierwszym wspólnym i obowiązkowym elementem szkieletu strony jest wpis określa-
jący rodzaj języka wykorzystanego do jej stworzenia. W przypadku strony wykorzy-
stującej język HTML5 pierwszy wpis przybiera następującą postać:W poprzedniej wersji języka HTML, oznaczonej numerem 4.01, zapis miał znacznie
bardziej skomplikowaną i rozbudowaną postać. Listing widoczny poniżej pokazuje
przykład zapisu stosowanego w przypadku strony dokładnie trzymającej się specyfi-
kacji HTML 4.01.Warto w tym miejscu nadmienić, że równolegle istniały jeszcze inne zapisy, stosowane
w przypadku stron korzystających z ramek czy określające swobodne wykorzystanie
wytycznych HTML 4.01. Na szczęście wraz z propozycją nowej wersji specyfikacji
uproszczono zapis, dzięki czemu łatwiej go zapamiętać i jest on dużo czytelniejszy.
18 Wstęp do HTML5 i CSS3
Kolejnym obowiązkowym elementem w strukturze dokumentu jest znacznik , który odpowiada za określenie ram tworzonego dokument. Wszystkie ele-
menty umieszczone pomiędzy to właściwa zawartość strony WWW.
Następnym w kolejności znacznikiem tworzącym strukturę dokumentu jest
. Jest on odpowiedzialny za określenie podstawowych właściwości strony,
takich jak strona kodowa, tytuł, informacje o autorze oraz słowa kluczowe i opis stro-
ny. Dokładne informacje na temat zawartości znajdziesz w dalszej części niniejszego
rozdziału.
Bezpośrednio po znaczniku zamykającym znajduje się , we
wnętrzu którego zamieszczamy całą widoczną treść strony. Mówiąc jeszcze prościej,
tylko to, co jest umieszczone pomiędzy znacznikami , jest wyświetlane
w oknie przeglądarki. Pozostałe elementy to polecenia wpływające na zachowanie
przeglądarki (np. strona kodowa) lub pełniące funkcje czysto informacyjne.
Właśnie poznałeś wszystkie niezbędne elementy tworzące strukturę dokumentu zgod-
nego z piątą specyfikacją języka HTML. Zapamiętaj jednak, że to dopiero początek
i zarówno struktura dokumentu, jak i sposób organizacji treści wymagają szeregu do-
datkowych znaczników, które poznasz w dalszej części tej książki.
Nagłówek dokumentu
Nagłówek dokumentu to zestaw poleceń umieszczonych pomiędzy znacznikami . Ze względu na wagę tych znaczników dla całego dokumentu postanowiłem
opisać je w oddzielnym podrozdziale.
Strona kodowa
Zacznę od najważniejszego elementu, który jest odpowiedzialny za stronę kodową
tworzonego dokumentu. Język HTML jako ponadsystemowy nośnik informacji musi
mieć możliwość obsługi różnych języków, a co za tym idzie, różnych znaków narodo-
wych. W związku z tym zostały określone różne strony kodowe dla danych języków
i części świata. Dla naszego kraju odpowiednim standardem jest strona kodowa ISO
8859-2 lub UTF-8. Działa ona na wszystkich platformach systemowych: MS Windows,
Unix, Linux, Mac OS, iPhone, iPad i wielu innych, dlatego jako świadomy projektant
stron musisz stosować się do tej normy. Ktoś może jednak stwierdzić, że przecież wy-
starczy wpisać polskie znaki w Notatniku, a i tak wszystko zadziała. Oczywiście, nie
można odrzucić takiego pomysłu, ale należy zwrócić uwagę, że tak zakodowane pol-
skie znaki zadziałają tylko na platformie MS Windows, natomiast pozostałe systemy
będą miały z taką stroną kodową problemy.
By uzyskać poprawną stronę kodową, mamy kilka możliwości. Pierwsza to edytor
z wbudowanym odpowiednim modułem do konwersji znaków, np. PSPad. Druga to
wstawianie polskich znaków w sposób tradycyjny, czyli w formacie Windows-1250,
a następnie konwertowanie ich za pomocą specjalnych programów — konwerterów,
np. Gżegżółka — http://www.gzegzolka.com/.
i ma
następującą postać:Poniżej zamieściłem przykładowy listing struktury strony wraz z definicją strony ko-
dowej.W ramach przypomnienia zamieściłem przykładowy kod odpowiedzialny za określenie
strony kodowej w dokumencie wykorzystującym poprzednie wersje języka HTML. Jak
zapewne już zauważyłeś, również w tym aspekcie twórcy nowej specyfikacji uprościli
i skrócili zapis.Tytuł strony
Następnym znacznikiem, który zalicza się do stałych elementów strony WWW, jest. Odpowiada on za ustawienie tytułu strony, widocznego na belce ty-
tułowej w oknie przeglądarki. Znacznik ten powinien znajdować się pomiędzy .Bartosz Danowski — strona domowaTytuł jest jedynym elementem strony, który znajduje się w nagłówku dokumentu i jest
widoczny bez konieczności analizy zawartości kodu strony (rysunek 2.1).
Jeżeli zapomnisz o dodaniu tego znacznika, nic się nie stanie, chociaż podczas promo-
cji i pozycjonowania strony możesz mieć problemy z osiągnięciem zadowalających
wyników. Pamiętaj również, że za pomocą informacji zawartych między tymi znacz-
nikami strona jest opisywana w Ulubionych przeglądarki.
20 Wstęp do HTML5 i CSS3
Rysunek 2.1.
Tytuł strony zwykle
widoczny jest na
górnej belce okna
przeglądarki
Słowa kluczowe i opis strony
Skoro zainteresowałeś się tworzeniem stron WWW, to musiałeś już poszukiwać in-
formacji w internecie, dlatego z całą pewnością miałeś kontakt z wszelkiej maści wy-
szukiwarkami i katalogami. Wszystkie one funkcjonują dzięki ogromnym bazom da-
nych, zawierającym informacje o stronach zamieszczonych w sieci. Oczywiście dane
te muszą być w jakiś sposób pogrupowane — w przeciwnym razie nie byłoby możli-
we znalezienie poszukiwanych stron WWW.
Jeżeli chcesz, by Twoja strona trafiła do bazy wyszukiwarki, musisz zadbać o odpo-
wiednią promocję (więcej miejsca temu zagadnieniu poświęciłem w innych moich
książkach). Teraz ważne jest, abyś zapamiętał, że zawartość Twojej strony jest indek-
sowana przez specjalnego robota, który ją sprawdzi i doda do bazy danych. To bardzo
skrócona i uproszczona metoda działania.
W zależności od wyszukiwarki robot sprawdza w kodzie strony kilka elementów i na
tej podstawie dodaje ją do bazy. Pierwszym elementem jest znacznik
,
o którym wspominałem nieco wcześniej. Następnym są słowa kluczowe (keywords)
witryny oraz opis (description) strony. Poniżej zamieszczam odpowiednie znaczniki
zawierające słowa kluczowe oraz opis strony.
Konstrukcja znacznika jest stosunkowo prosta, mimo że składa się on z kilku elementów.Znacznik może przybierać przeróżne formy, o których wspomnę na następ-
nych stronach, jednak nigdy nie zawiera elementu zamykającego.
Zwróć uwagę, że słowa kluczowe zostały oddzielone od siebie za pomocą przecinków
i mogą składać się z kilku wyrazów. Opis strony zawiera jedno – dwa zdania na temat
jej zawartości, które pojawią się jako wynik szukania. Najczęściej na podstawie tych
zdań internauta podejmuje decyzję o odwiedzeniu strony, którą znalazł za pomocą wy-
szukiwarki.
Odpowiednie przygotowanie tytułu, słów kluczowych oraz opisu ma znaczenie dla od-
powiedniej indeksacji strony przez wyszukiwarki oraz pozycji, jaką zajmie ona w ba-
zie danych. Dlatego warto zadbać o to, aby niezbędne znaczniki znalazły się wśród
obowiązkowych elementów Twojej strony. Poniżej zamieściłem fragment kodu, po-
chodzący z mojej strony domowej. Dzięki temu będziesz mógł zobaczyć, w jaki spo-
sób przygotowałem opis strony i dokonałem wyboru słów kluczowych.
Rozdział 2. ♦ Wprowadzenie do HTML5 21
css2, nagrywanie płyt, nagrywanie plyt, instalacja windows, nero, literatura
informatyczna" />Powyższy listing z mojej prywatnej strony dla potrzeb niniejszego przykładu został
skrócony, w rzeczywistości jest on bowiem znacznie bardziej rozbudowany. Zwróć,
proszę, uwagę na sposób zapisu słów kluczowych — są one rozdzielone za pomocą
przecinków. Poza tym niektóre wpisy są zdublowane, np. nagrywanie płyt i nagrywa-
nie plyt. Dzięki temu w bazie znajdą się odpowiednie wersje dla wyszukiwarek obsłu-
gujących nasze rodzime „ogonki” oraz tych, które ich nie obsługują.
Inne elementy składowe nagłówka strony
Nagłówek
może zawierać jeszcze kilka innych znaczników pomocnych
w określeniu właściwości strony lub spełniających funkcję informacyjną. Tak się skła-
da, że są one związane ze znacznikiem . Poniżej opisałem kilka najważniej-
szych i najczęściej spotykanych elementów występujących w nagłówku strony.Podany wpis ma charakter informacyjny i dzięki niemu możemy w kodzie zamieścić
informacje o autorze strony. Dane te nie są widoczne na zewnątrz, ale przydają się do
ustalenia praw autorskich dla danej strony. Osobiście uważam, że warto korzystać z te-
go znacznika.Następny element mogący wchodzić w skład nagłówka zawiera informacje o prawach
autorskich. Również w tym przypadku wpisy nie są widoczne na zewnątrz i mają cha-
rakter typowo informacyjny.Wewnątrz strony możemy również zamieścić informacje na temat narzędzia, za po-
mocą którego został wykonany dany dokument. Z tego znacznika bardzo chętnie ko-
rzystają autorzy edytorów, którzy w ten sposób reklamują swój produkt. Podobnie jak
elementy opisane poprzednio, również i tym razem wpis ma charakter informacyjny
i nie jest widoczny na stronie.Kolejny wpis informuje o języku, w jakim została wykonana strona.
Opisany powyżej rodzaj znacznika ma charakter ty-
powo informacyjny. Specyfikacja dopuszcza, by autor strony sam tworzył dodatkowe
wpisy informacyjne. W związku z tym możemy użyć takiej konstrukcji:
22 Wstęp do HTML5 i CSS3
Oczywiście to tylko przykład i jeżeli uznasz, że jest Ci potrzebna jeszcze jakaś infor-
macja, możesz wymyślić odpowiednie słowo i wstawić je do odpowiedniego znaczni-
ka. Pamiętaj jednak, że bardzo ważne jest, byś zachował ogólną konstrukcję znaczni-
ka. Nazwa powinna zostać wpisana do atrybutu name=" ", natomiast wartość musi być
umieszczona w atrybucie content=" ".
Znacznik może występować z jeszcze jednym atrybutem, http-equiv, który
zawiera informacje będące nagłówkiem HTTP:Dla atrybutu http-equiv przewidziano kilka wartości. I tak:spowoduje automatyczne odświeżanie dokumentu co x sekund. Polecenie to jest szcze-
gólnie przydatne na stronach, które są bardzo często aktualizowane i autorowi zależy,
by odwiedzający zawsze widział aktualne dane, a nie zawartość przechowywaną w pli-
kach tymczasowych przeglądarki na dysku. Polecenie to może również przybrać formę:Spowoduje ono automatyczne przeniesienie odwiedzającego po upływie x sekund pod
nowy adres zadeklarowany w sekcji url.
O przydatności tego polecenia nie muszę chyba nikogo przekonywać. Wiersz ten roz-
wiązuje problem ze zmianą adresu i utratą odwiedzających — wystarczy pod starym
adresem umieścić plik index.html z deklaracją http-equiv="refresh" i określonym
nowym adresem, pod którym umieściliśmy naszą stronę. Każdy, kto wejdzie pod sta-
ry adres, zostanie automatycznie przekierowany pod jego aktualną wersję.
Polecenie może jeszcze przybrać następujące formy:definiuje adres autora witryny,określa, kiedy nasza strona została wykonana.
Warto wiedzieć, że część serwisów indeksujących korzysta z ,
który określa, czy dana strona powinna być indeksowana oraz czy linki na niej za-
warte również mają być dodane do bazy serwisu katalogującego. Przy zastosowaniu
polecenia robots atrybut content zawiera następujące dyrektywy, informujące o do-
puszczonych operacjach dla naszej strony:
'index' — strona powinna być zaindeksowana;
'noindex' — strona nie powinna być zaindeksowana;
'follow' — linki z tej strony powinny być zaindeksowane;
'nofollow' — linki z tej strony nie powinny być zaindeksowane;
Rozdział 2. ♦ Wprowadzenie do HTML5 23
'all' równa się 'index, follow' — wartość domyślna;
'none' równa się 'noindex, nofollow'.
Dalej przedstawiam przykład zastosowania polecenia name="robots" dla strony, która
ma być indeksowana wraz ze wszystkimi odnośnikami prowadzącymi do podstron.
Warto, abyś zapamiętał, że dla większości witryn takie rozwiązanie jest zdecydowa-
nie najlepsze.Kolejnym znacznikiem występującym w nagłówku jest polecenie , określające
bazowy adres dla dokumentu i wszystkich odnośników znajdujących się w jego treści.Przydatność doskonale widać przy przenoszeniu dokumentów do innych ka-
talogów. Jak się później dowiemy, odsyłacze mają różne formy, dlatego przy takiej
operacji nietrudno o zerwanie odnośników, a pamiętanie przy przenoszeniu o zmia-
nie każdego z nich jest kłopotliwe. Należy jednak pamiętać o tym, że w kodzie strony może wystąpić tylko jeden raz.
Ostatnim poleceniem wchodzącym w skład nagłówka dokumentu jest , które
w naszym przypadku będzie odpowiedzialne za dołączanie zewnętrznego arkusza sty-
lów. Element ma następującą konstrukcję:Do znacznika jeszcze wrócimy w kolejnym rozdziale, poświęconym kaska-
dowym arkuszom stylów. Wtedy dowiesz się m.in., że do jednego dokumentu można
podłączyć kilka różnych arkuszy stylów.
Aby utrwalić wiedzę na temat znaczników opisanych w niniejszym podrozdziale, za-
poznaj się z poniższym listingiem, który pokazuje, jak może wyglądać szkielet strony
uzupełniony o omówione do tej pory znaczniki.
Przykładowy tytuł
24 Wstęp do HTML5 i CSS3
Ciało i sekcje dokumentu HTML
Wiesz już, że dokument HTML ma swoje określone ramy oraz nagłówek. Elementy
te mają znaczenie czysto konfiguracyjne lub informacyjne i poza tytułem nie są wi-
doczne na zewnątrz. Teraz przyszła pora, by poznać kolejne element strony WWW —
sekcje.
Najważniejszym znacznikiem odpowiedzialnym za wydzielenie głównej sekcji do-
kumentu HTML jest
. Wszystkie informacje, które znajdą się pomiędzy
tymi znacznikami, są traktowane jako zawartość strony i zostają wyświetlone w oknie
przeglądarki. Listing widoczny poniżej przedstawia położenie tego elementu w stosun-
ku do pozostałych znaczników.Przykładowy tytułTutaj znajduje się widoczna treść strony WWW.Na rysunku 2.2 widać podgląd strony, jaka powstała po wprowadzeniu kodu z przykła-
du zamieszczonego wcześniej, zawierającego niezbędne elementy każdej strony WWW.
Rysunek 2.2.
Efekt działania listingu
zamieszczonego
powyżej
Jak widzisz, nie jest to nic specjalnego — czarny tekst na domyślnym białym lub sza-
rym tle. To zwyczajna, surowa strona, na której nie użyto jeszcze żadnego znacznika
odpowiedzialnego za formatowanie jej układu oraz wyglądu poszczególnych elemen-
tów. Niemniej jednak to już Twoja pierwsza strona!
Twórcy piątej specyfikacji języka HTML dokonali analizy struktury witryny i wyróż-
nili w niej kilka dodatkowych sekcji, a następnie przypisali do nich nowe znaczniki,
za pomocą których będziemy mogli precyzyjniej kontrolować finalny wygląd strony.
Nowe znaczniki nie wpływają bezpośrednio na wygląd zawartych w nich danych, ale
pozwalają zgrupować szereg innych elementów i łatwiej nimi zarządzać. Lista nowych
znaczników wraz z wyjaśnieniami znajduje się poniżej. — pomiędzy znacznikami powinna być zamieszcza część
strony, która ma charakter nagłówka i rozpoczyna Twoją stronę. — pomiędzy znacznikami powinny być zamieszczone elementy
odpowiedzialne za menu nawigacyjne witryny.
Rozdział 2. ♦ Wprowadzenie do HTML5 25 — pomiędzy znacznikami zamieszczamy zestaw
elementów tworzących spójny artykuł (np. nagłówek i blok tekstu). — pomiędzy znacznikami zamieszczamy zawartość
głównej części witryny. — pomiędzy znacznikami powinna być zamieszczona część
strony, która jest elementem uzupełniającym główną strukturę strony. — pomiędzy znacznikami powinna być zamieszczona
część strony, która ma charakter stopki i zamyka Twoją stronę.
Na rysunku 2.3 przedstawiłem fragment strony WWW, na której naniosłem oznacze-
nia numeryczne.
Rysunek 2.3.
Struktura strony
26 Wstęp do HTML5 i CSS3
1. odpowiada nagłówkowi strony — znacznik ;
2. odpowiada menu nawigacyjnemu — znacznik ;
3. odpowiada głównej części strony — znacznik ;
4. odpowiada dodatkowym elementom strony — znacznik ;
5. odpowiada pojedynczemu artykułowi — znacznik ;
6. odpowiada stopce strony — znacznik .
Przykład wykorzystania znaczników zawiera kolejny listing. Dodatkowo w dalszej
części książki w kolejnych przykładach będę starał się wplatać nowe elementy, tak by
pokazać ich przydatność oraz sposób wykorzystania.
Przykładowy tytułElementy blokowe
Język HTML 5 wykorzystuje kilka znaczników, które służą do określenia i wstęp-
nego formatowania większych partii treści witryny. Do elementów blokowych mo-
żemy zaliczyć akapity, nagłówki, cytaty, poziome linie, listy, znaczniki ,, oraz . Cechą charakte-
rystyczną każdego z elementów blokowych jest to, że tworzy on zupełnie nowy ele-
ment, który jest oddzielony od pozostałych wyraźną przerwą.
Dalej przyjrzymy się konstrukcji każdego z tych elementów. Pamiętaj, że wszystkie
one muszą się znajdować wewnątrz znacznika .
Zgodnie ze specyfikacją HTML 5 znaczniki opisane poniżej służą jedynie do nada-
nia poszczególnym elementom określonej formy. Natomiast dokładne określenie
struktury takiego elementu, np. koloru, wyrównania czy czcionki, zostało oddzielo-
ne od języka HTML i weszło w skład kaskadowych arkuszy stylów.
Spis treści Wstęp .............................................................................................. 7 Rozdział 1. Podstawowe informacje .................................................................... 9 Czym jest internet .............................................................................................................9 Czego potrzebujemy do tworzenia stron WWW ............................................................ 10 Rozdział 2. Wprowadzenie do HTML5 ............................................................... 15 Podstawowe różnice pomiędzy HTML5 a HTML4 ........................................................ 15 Elementy języka HTML5 ............................................................................................... 16 Znaczniki i atrybuty ................................................................................................. 16 Podstawowa struktura dokumentu ............................................................................ 17 Nagłówek dokumentu ............................................................................................... 18 Ciało i sekcje dokumentu HTML ............................................................................. 24 Elementy blokowe .................................................................................................... 26 Elementy wstawiane ................................................................................................. 36 Elementy osadzone (grafika, multimedia, aplikacje) ................................................ 44 Hiperłącza ................................................................................................................ 56 Tabele ....................................................................................................................... 66 Formularze ............................................................................................................... 74 Komentarze .............................................................................................................. 91 Rozdział 3. Wprowadzenie do CSS3 .................................................................. 93 Podstawowe pojęcia ....................................................................................................... 94 Budowa stylu ............................................................................................................ 94 Osadzanie stylów na stronie ..................................................................................... 95 Jednostki miar stosowane w CSS ............................................................................. 99 Nazewnictwo kolorów używane w CSS ................................................................. 101 Moduły ................................................................................................................... 103 Selektory ....................................................................................................................... 105 Selektory proste ...................................................................................................... 105 Selektory uniwersalne ............................................................................................ 105 Selektory „potomka” .............................................................................................. 107 Selektory „dziecka” ................................................................................................ 108 Selektory „rodzeństwa” .......................................................................................... 109 Selektor ogólnego rodzeństwa ................................................................................ 109 Selektor atrybutu .................................................................................................... 110 Selektor atrybutu z możliwością dopasowania ciągu znaków ................................ 111 Identyfikatory ......................................................................................................... 113 Klasy ...................................................................................................................... 114
4 Wstęp do HTML5 i CSS3 Pseudoklasy ............................................................................................................ 115 Pseudoelementy ...................................................................................................... 136 Grupowanie selektorów .......................................................................................... 139 Dziedziczenie ............................................................................................................... 140 Kaskadowość ................................................................................................................ 143 Właściwości tekstu ....................................................................................................... 145 Wyrównanie tekstu ................................................................................................. 145 Pionowe wyrównanie ............................................................................................. 146 Wcięcie pierwszego wiersza akapitu ...................................................................... 147 Odstępy pomiędzy literami ..................................................................................... 148 Odstępy pomiędzy wyrazami ................................................................................. 149 Odstępy między liniami .......................................................................................... 150 Łamanie długiego ciągu znaków ............................................................................ 151 Dekoracja tekstu ..................................................................................................... 152 Przekształcanie — małe i duże litery ..................................................................... 152 Kontrola pustej przestrzeni ..................................................................................... 153 Cieniowanie tekstu ................................................................................................. 154 Właściwości czcionki ................................................................................................... 155 Rodzina czcionek ................................................................................................... 155 Rozmiar czcionki .................................................................................................... 158 Waga czcionki ........................................................................................................ 158 Style czcionki ......................................................................................................... 160 Wariant czcionki .................................................................................................... 161 Osadzanie czcionki na stronie ................................................................................ 161 Zbiorczy zapis właściwości czcionki ..................................................................... 162 Właściwości list ............................................................................................................ 163 Typ listy ................................................................................................................. 163 Dowolny obraz jako wypunktowanie listy ............................................................. 166 Zawijanie tekstu ..................................................................................................... 167 Zbiorczy zapis właściwości list .............................................................................. 167 Kolor, tło i przezroczystość .......................................................................................... 168 Nowe modele barw i przeźroczystości w CSS3 ..................................................... 168 Kolor elementu ....................................................................................................... 172 Kolor tła ................................................................................................................. 172 Element graficzny jako tło ..................................................................................... 174 Rozmiar tła ............................................................................................................. 175 Zatrzymanie tła ....................................................................................................... 176 Kontrola powielania tła .......................................................................................... 176 Pozycjonowanie tła ................................................................................................ 178 Wieloelementowe tło .............................................................................................. 180 Kontrola styku tła i obramowania .......................................................................... 181 Zbiorczy zapis właściwości tła ............................................................................... 182 Marginesy, obramowanie i dopełnienia ........................................................................ 182 Pudełkowy model formatowania elementów .......................................................... 182 Marginesy ............................................................................................................... 183 Dopełnienie ............................................................................................................ 186 Obramowanie ......................................................................................................... 188 Wymiary ................................................................................................................. 193 Tabele ........................................................................................................................... 194 Odstępy we wnętrzu tabeli ..................................................................................... 197 Pojedyncze obramowanie ....................................................................................... 197 Kontrola pustych komórek ..................................................................................... 198 Generowanie tabeli ................................................................................................. 199 Podpis tabeli ........................................................................................................... 200
Spis treści 5 Pozycjonowanie elementów ......................................................................................... 200 Rodzaje pozycjonowania ........................................................................................ 201 Określanie pozycji .................................................................................................. 204 Warstwy ................................................................................................................. 204 Pływanie i tamowanie elementów ................................................................................ 206 Pływanie elementów .............................................................................................. 206 Tamowanie elementów ........................................................................................... 208 Efekty wizualne ............................................................................................................ 209 Kadrowanie ............................................................................................................ 209 Ukrywanie elementów ............................................................................................ 210 Sterowanie wymiarowanymi elementami ............................................................... 211 Interfejs użytkownika ................................................................................................... 213 Kursory ................................................................................................................... 213 Kontury elementów ................................................................................................ 213 Zawartość generowana i liczniki .................................................................................. 215 Zawartość generowana ........................................................................................... 215 Liczniki .................................................................................................................. 216 Cytaty ........................................................................................................................... 219 Rozdział 4. Poznaj możliwości HTML5 i CSS3 na konkretnym przykładzie ......... 221 Szkielet strony .............................................................................................................. 221 Obstylowanie ................................................................................................................ 224 Walidacja ...................................................................................................................... 228 Dodatek ....................................................................................... 233 Zestawienie znaczników HTML5 ................................................................................. 233 Standardowe atrybuty języka HTML5 .......................................................................... 251 Zestawienie właściwości stylów CSS3 ......................................................................... 253 Właściwości tekstu ................................................................................................. 253 Właściwości czcionki ............................................................................................. 257 Właściwości list ..................................................................................................... 258 Kolor i tło ............................................................................................................... 259 Marginesy ............................................................................................................... 261 Dopełnienie ............................................................................................................ 263 Obramowanie ......................................................................................................... 264 Wymiary ................................................................................................................. 270 Tabele ..................................................................................................................... 272 Pozycjonowanie elementów ................................................................................... 273 Efekty wizualne ...................................................................................................... 275 Drukowanie ............................................................................................................ 276 Interfejs użytkownika ............................................................................................. 278 Zawartość generowana i liczniki ............................................................................ 279 Podsumowanie ............................................................................. 281 Skorowidz .................................................................................... 283
6 Wstęp do HTML5 i CSS3
Wstęp W ostatnich latach nastąpił prawdziwy rozkwit internetu, który z sieci przeznaczonej dla prostych usług (strony WWW, poczta e-mail, grupy dyskusyjne, IRC) przeobraził się w najważniejsze medium współczesności, które pozwala na udostępnianie rozbudo- wanych aplikacji sieciowych o różnorakim przeznaczeniu, transmisję obrazu i dźwię- ku czy wymianę plików. Dynamiczny rozwój internetu wynika z wielu rzeczy, ale do najważniejszych czynników należy zaliczyć: popularyzację szybkiego dostępu do internetu w gospodarstwach domowych oraz wzrost przepustowości i szybkości całego internetu, nowe rozwiązania programistyczne, które pozwalają na tworzenie bardziej rozbudowanych i skomplikowanych usług sieciowych. Dzisiaj do tworzenia całych platform internetowych nie wystarczy znajomość podstaw starszej wersji języka HTML czy kaskadowych arkuszy stylów. Bardzo często niezbęd- ne są JavaScript, języki PHP czy ASP, znajomość baz danych, Adobe Flash czy róż- nych mniej lub bardziej oryginalnych połączeń innych technologii. Każde z wymienionych i niewymienionych rozwiązań ma swoje wady i zalety, dzięki którym w jednych zastosowaniach sprawdza się lepiej, a w innych gorzej. Prawdę mó- wiąc, nie ma technologii idealnych i uniwersalnych, ale są takie, które lepiej lub gorzej nadają się do realizacji konkretnych zadań. Na szczęście twórcy różnych rozwiązań wykorzystywanych we współczesnym internecie mają świadomość ułomności swoich produktów i ciągle dążą do ich udoskonalania. Tym sposobem po HTML4 mieliśmy HTML4.01, po CSS1 był CSS2, a później wszyscy zachwycali się językiem XHTML. Teraz przyszła pora na następne zmiany i w światku webmasterskim zaczyna być gło- śno o nowych odsłonach HTML i CSS. Mam tutaj na myśli HTML5 oraz CSS3. HTML5 to efekt zaprzestania rozwijania języka XHTML2, powrotu do korzeni i po- dążania drogą, której kierunek wytyczył HTML4. Kolejna odsłona języka HTML jest kompatybilna wstecz z jego poprzednią wersją, ale wprowadza również nowe elementy, odpowiedzialne m.in. za usprawnianie tworzenia rozbudowanych stron WWW i aplikacji internetowych. Wyjaśnia też większość niejasności, które są wynikiem błędów i prze- oczeń w specyfikacji HTML4. Najważniejsze nowości HTML5 wymieniłem poniżej:
8 Wstęp do HTML5 i CSS3 Zawiera nowe elementy i znaczniki. Usunięto z niego przestarzałe elementy, np. i
Rozdział 1. Podstawowe informacje Zanim zajmiemy się tworzeniem stron w oparciu o język HTML5 i CSS3, niezbędne jest krótkie wprowadzenie, które pozwoli Ci odpowiednio przygotować się do tego, co czeka Cię w kolejnych rozdziałach niniejszej książki. Czym jest internet Ocena i jakakolwiek charakterystyka internetu jest dość trudna. Dlatego spróbuję opi- sać, czym jest internet w moim odczuciu. Otóż kilkanaście lat temu, gdy stawiałem swoje pierwsze kroki na „cybernetycznej drodze”, uważałem, że to kolejna chwilowa moda i kwestią czasu jest, by pomysł umarł i zniknął z naszego globu. Dzisiaj, gdy po- myślę, jaki byłby świat bez dostępu do sieci i oferowanych przez nią możliwości, nie potrafię w nim znaleźć miejsca dla siebie. Dzięki internetowi mogę na bieżąco śledzić notowania giełdowe, czytać poranne gazety, zarządzać swoimi pieniędzmi, a w końcu pracować i pisać książki. Nie wyobrażam sobie chwili, w której ktoś wyjmie wtyczkę i sieć zgaśnie — straciłbym pracę, błyskawiczny dostęp do informacji, a nawet wielu przyjaciół. Czasem zastanawiam się, czy już nie jestem uzależniony i nie powinienem się leczyć w specjalistycznych poradniach, ale mam nadzieję, że tak nie jest — bo prze- cież straciłbym wtedy dostęp do sieci. W moim odczuciu internet to jedno z największych osiągnięć współczesnej cywilizacji. Potrafię sobie wyobrazić świat bez ciepłej wody, restauracji czy samochodu, ale nie widzę możliwości jego istnienia bez sieci. Oczywiście opisane zalety nie wyczerpują zagadnienia i zupełnie pomijają drugi aspekt sprawy. Mam tutaj na myśli fakt, że internet pozwala nam również aktywnie w nim zaistnieć i pozostawić cząstkę siebie. Jeżeli poznamy język HTML i przyswoimy sobie podstawy korzystania z sieci, to możemy brać aktywny udział w jej tworzeniu, rozra- staniu się — nasza praca będzie jak tlen niezbędny do życia.
10 Wstęp do HTML5 i CSS3 Łatwość dostępu do sieci i prostota korzystania z niej umożliwiają każdemu prowadzenie własnej strony domowej zawierającej informacje o jego zainteresowaniach czy rodzi- nie, a nawet stworzenie prawdziwej elektronicznej gazety. W sieci nie mamy żadnych ograniczeń i jeżeli tylko chcemy, to możemy zrobić wszystko. Prowadzenie poczytne- go portalu czy strony o hodowli rybek akwariowych to tylko dwie z wielu możliwo- ści. Wszystko ogranicza się do języka HTML, a bardzo często prowadzi do spełnienia marzeń. Wielu autorów doskonałych serwisów zarobiło dzięki nim spore pieniądze lub otrzymało ciekawe propozycje pracy. Znasz już moje zdanie na temat sieci. Zakładam, że skoro kupiłeś tę książkę, to miałeś bądź masz styczność z internetem i zainteresowało Cię tworzenie własnych, dobrze wyglądających i działających stron WWW, a do tego interesują Cię najnowsze trendy i specyfikacje. Czego potrzebujemy do tworzenia stron WWW Dokument wykorzystujący język HTML5 oraz CSS3 jest zwykłym plikiem tekstowym, czyli do wykonania strony nie jest nam potrzebny żaden specjalny program ani środo- wisko programistyczne — wystarczy zwykły edytor tekstu, np. Notatnik, będący czę- ścią składową każdego systemu MS Windows. Niestety, Notatnik jest niezwykle prostym edytorem tekstowym i nie oferuje wsparcia dla języka HTML czy CSS, więc wymaga szczególnej dbałości o wpisywany kod. Przy tworzeniu strony w Notatniku nietrudno o liczne błędy oraz przeoczenia, dlatego pod- czas regularnej pracy nad stroną WWW warto sięgnąć po wyspecjalizowane narzędzia. Najważniejsze cechy, jakimi powinien charakteryzować się dobry edytor tekstowy, to: domykanie znaczników, kolorowanie składni, kodowanie polskich znaków w standardzie UTF, kreatory ułatwiające generowanie części kodu, sprawdzanie poprawności wygenerowanego kodu. Na rynku możemy znaleźć wiele bardzo dobrych i godnych polecenia edytorów tek- stowych. Dlatego ostatecznie zdecydowałem się nie proponować konkretnego, a jedy- nie przedstawić wykaz kilku ciekawych rozwiązań, które, moim zdaniem, zasługują na uwagę. Pragnę nadmienić, że wszystkie wybrane edytory są aplikacjami darmowymi. First Page 2006 — bardzo rozbudowany edytor stron WWW, który pozwala na pracę nad stroną w trybie tekstowym oraz graficznym. Warto zwrócić uwagę na to, że posiada on mechanizm domykania znaczników, kolorowania składni oraz wygodne podpowiedzi. Duży plus należy się autorowi za dodanie
Rozdział 1. ♦ Podstawowe informacje 11 dziesiątek kreatorów, ułatwiających stworzenie bardziej skomplikowanego elementu na stronie. Prezentowane narzędzie wspiera pracę z kodem XHTML i HTML. Strona domowa edytora to http://www.evrsoft.com/. Minusem jest brak polskiej wersji językowej. PSPad — zaawansowany edytor programistyczny, obsługujący wiele języków programowania, w tym HTML (także HTML5), XHTML i CSS. Posiada on wszystkie niezbędne udogodnienia ułatwiające pracę, został też wyposażony przez autora w moduł sprawdzania pisowni — również polskiej. Zaletami są polskojęzyczny interfejs i wygoda obsługi. Warto również wspomnieć o sprawdzaniu poprawności kodu i obsłudze wielu dodatków, które można pobrać ze strony domowej — http://www.pspad.com/en/. Nowoczesna strona nie może obejść się już dzisiaj bez elementów graficznych. Dlatego myśląc poważnie o przygotowaniu swojej pierwszej strony, powinieneś zaopatrzyć się w odpowiednie narzędzie (lub narzędzia) graficzne. Musisz wiedzieć, że na rynku istnieje wiele bardzo dobrych i profesjonalnych programów do obróbki grafiki, np. Adobe Photoshop, ale niestety wszystkie mają jedną podstawową wadę — wysoką cenę. Na szczęście można znaleźć darmowe lub tanie zamienniki wymienionych powyżej aplikacji. Poniżej wymieniłem kilka darmowych rozwiązań, które powinny Cię zainteresować ze względu na oferowane możliwości. Paint.NET — jest bardzo rozbudowanym edytorem grafiki rastrowej. Program jest rozwijany przez studentów Uniwersytetu Waszyngtona, a dodatkowo wspierany przez firmę Microsoft. Pozwala on na obrabianie różnego rodzaju grafiki rastrowej. Wspiera korzystanie z warstw, wielopoziomową opcję cofania zmian oraz efekty specjalne. Do wymienionych zalet należy doliczyć przejrzysty interfejs oraz możliwość instalacji innych wersji językowych. Niestety, polska wersja programu nie jest jeszcze dostępna. Strona domowa programu to http://www.getpaint.net/. GIMP — jest darmowym narzędziem do obróbki grafiki rastrowej. Za pomocą tego programu możesz edytować zawartość zdjęć lub tworzyć własne grafiki, na przykład na potrzeby projektowanej strony WWW. GIMP oferuje wiele zaawansowanych funkcji, a do najważniejszych można zaliczyć: obsługę warstw, wykorzystanie ogromnej liczby wtyczek, możliwość tworzenia własnych makr oraz wiele innych. Warto również wspomnieć o rozbudowanej selekcji, pracy z kanałami alfa, obsłudze antyaliasingu, skalowaniu i przekształcaniu obrazów, wsparciu dla animowanych gifów, tworzeniu map odnośników czy łączeniu tekstu z grafiką. Wśród obsługiwanych formatów graficznych znajdują się m.in. JPEG, BMP, PNG, XPM, TIFF, TGA, MPEG, PS, PDF, PCX, GIF. Program dostępny jest m.in. w polskiej wersji językowej, a w połączeniu z nakładką GIMPShop — http://www.gimpshop.com/ — obsługa aplikacji jest zbliżona do Adobe Photoshop, ponieważ układ menu i skróty klawiszowe są identyczne. Warto również wspomnieć o tym, że GIMP dostępny jest w wersjach dla różnych systemów operacyjnych. Można go pobrać ze strony http://www.gimp.org. DrawPlus 4 — to bardzo funkcjonalne narzędzie do tworzenia grafiki wektorowej. Program posiada wiele rozwiązań niezbędnych podczas pracy
12 Wstęp do HTML5 i CSS3 z tego typu grafiką, a do tego ma bardzo przyjazny interfejs. Należy wspomnieć o tym, że aplikacja pozwala na pracę z wykorzystaniem warstw, grupowanie elementów oraz zamianę tekstu na krzywe. Ciekawostką jest również, że dzięki niej możemy przygotować animacje, a wyniki pracy wyeksportować do kilku popularnych formatów rastrowych. Program można pobrać ze strony http://www.freeserifsoftware.com. Niestety, polska wersja językowa nie jest dostępna. Ostatnim ważnym elementem niezbędnym podczas tworzenia stron WWW jest prze- glądarka. Po wielu latach posuchy i braku konkurencji na rynku możemy cieszyć się sporym wyborem różnych przeglądarek stron WWW. Lista widoczna poniżej jest spo- ra, ale musisz mieć świadomość, że nie wszystkie przeglądarki (nawet w najnowszych wersjach) wspierają robocze wersje specyfikacji HTML5 i CSS3. Google Chrome — http://www.google.com/chrome/?hl=pl Mozilla Firefox — http://www.mozilla.com/pl/ Opera — http://www.opera.com/portal/choice/?language=pl Safari — http://www.apple.com/pl/safari/ Internet Explorer — http://www.microsoft.com/poland/windows/products/ winfamily/ie/ Na rysunku 1.1 przestawiłem wykres udziału przeglądarek w rynku. Prezentowany po- dział odbył się na podstawie silników przeglądarek, dlatego należy Ci się wyjaśnienie odnośnie tego, które przeglądarki używają konkretnych silników. Rysunek 1.1. Wykres popularności przeglądarek — podział według silników. Opracowane na podstawie danych witryny GemiusRanking http://ranking.pl
Rozdział 1. ♦ Podstawowe informacje 13 Gecko — silnik używany przez przeglądarki z rodziny Mozilla Firefox, MSIE — przeglądarka Microsoft Internet Explorer, Opera — silnik przeglądarki Opera, WebKit/KHTML — silnik stosowany m.in. w przeglądarkach Google Chrome i Apple Safari. Aktualny stan obsługi języków HTML5 i CSS3 przez przeglądarki z rozbiciem na konkretne wersje można sprawdzić na stronie http://www.findmebyip.com/litmus/ #target-selector. Na dzień dzisiejszy sytuacja wygląda tak, że najlepsze wsparcie dla nowych standardów oferują przeglądarki wykorzystujące silnik WebKit/KHTML oraz Opera i Mozilla Firefox. Jednak musisz mieć świadomość, że pojawienie się kolejnych wersji przeglądarek może tutaj sporo zmienić. Taki stan rzeczy może trwać jeszcze wiele lat i ukończenie specyfikacji obu języków nie musi go zmienić.
14 Wstęp do HTML5 i CSS3
Rozdział 2. Wprowadzenie do HTML5 Niniejszy rozdział ma na celu zapoznanie się z historią języka HTML, jego strukturą, najważniejszymi elementami oraz nowościami wprowadzonymi w propozycji piątej wersji specyfikacji. Innymi słowy, po zakończeniu lektury będziesz umiał zbudować szkielet swojej własnej strony, którą następnie upiększysz za pomocą kaskadowych arkuszy stylów. Aby nie przedłużać wstępu, proponuję, abyś zaopatrzył się w edytor, przeglądarkę i możemy zabierać się za poznawanie piątej wersji języka HTML. Podstawowe różnice pomiędzy HTML5 a HTML4 Nowa odsłona języka HTML5 wprowadza szereg zmian i różnic w stosunku do po- przednich wersji HTML4. Wszystkie istotne zmiany i nowości opisałem w dalszej części niniejszego podrozdziału. Wydaje mi się, że znajomość najważniejszych różnic i nowości jest kluczem do swobodnego poznawania samego języka HTML5. Kompatybilność — język HTML5 jest zgodny z poprzednią wersją specyfikacji oznaczoną numerem 4. W praktyce oznacza to, że strona WWW napisana w oparciu o nową wersję HTML będzie działać na przeglądarkach, które nie potrafią obsługiwać tego języka. Oczywiście nowe znaczniki i elementy zostaną zignorowane, ale główny szkielet witryny oraz znaczniki znane z poprzednich specyfikacji zadziałają poprawnie. Brak przestarzałych znaczników — propozycja nowej wersji specyfikacji języka HTML usuwa wiele zbędnych i przestarzałych znaczników. W dużym uproszczeniu możemy przyjąć, że wszelkie znaczniki odpowiedzialne za formatowanie wyglądu witryny oraz mające negatywny wpływ na jej funkcjonalność zostały usunięte, ponieważ ich funkcję przejęły kaskadowe arkusze stylów. Usunięte znaczniki to m.in.: , , ,,
,, , , ,16 Wstęp do HTML5 i CSS3 Uproszczenie zapisu — nowa odsłona specyfikacji wprowadza liczne uproszczenia w zapisie znaczników oraz ich atrybutów. Na przykład w tej chwili określenie strony kodowej wygląda następująco: . Dla porównania ten sam zapis w poprzedniej wersji specyfikacji miał postać. Uproszczeń jest oczywiście więcej i szczegółowe informacje na ich temat znajdziesz w kolejnych podrozdziałach. Nowe znaczniki i atrybuty — jak łatwo się domyślić, nowa specyfikacja języka HTML to również propozycje nowych znaczników, które mają uprościć i zwiększyć kontrolę nad szkieletem strony. Wśród nowych znaczników warto wspomnieć m.in. o:, , ,
Rozdział 2. ♦ Wprowadzenie do HTML5 17 Znaczniki zamykające nigdy nie zawierają dodatkowych parametrów. Wspomniałem już o tym, że znaczniki prawie zawsze występują w parach: znacznik otwierający i znacznik zamykający. Jest jednak kilka wyjątków od tej zasady. Typowe przykłady, z którymi się spotkasz, to:
,
, , , ,
18 Wstęp do HTML5 i CSS3 Kolejnym obowiązkowym elementem w strukturze dokumentu jest znacznik , który odpowiada za określenie ram tworzonego dokument. Wszystkie ele- menty umieszczone pomiędzy to właściwa zawartość strony WWW. Następnym w kolejności znacznikiem tworzącym strukturę dokumentu jest
. Jest on odpowiedzialny za określenie podstawowych właściwości strony, takich jak strona kodowa, tytuł, informacje o autorze oraz słowa kluczowe i opis stro- ny. Dokładne informacje na temat zawartości znajdziesz w dalszej części niniejszego rozdziału. Bezpośrednio po znaczniku zamykającym znajduje się , we wnętrzu którego zamieszczamy całą widoczną treść strony. Mówiąc jeszcze prościej, tylko to, co jest umieszczone pomiędzy znacznikami , jest wyświetlane w oknie przeglądarki. Pozostałe elementy to polecenia wpływające na zachowanie przeglądarki (np. strona kodowa) lub pełniące funkcje czysto informacyjne. Właśnie poznałeś wszystkie niezbędne elementy tworzące strukturę dokumentu zgod- nego z piątą specyfikacją języka HTML. Zapamiętaj jednak, że to dopiero początek i zarówno struktura dokumentu, jak i sposób organizacji treści wymagają szeregu do- datkowych znaczników, które poznasz w dalszej części tej książki. Nagłówek dokumentu Nagłówek dokumentu to zestaw poleceń umieszczonych pomiędzy znacznikami . Ze względu na wagę tych znaczników dla całego dokumentu postanowiłem opisać je w oddzielnym podrozdziale. Strona kodowa Zacznę od najważniejszego elementu, który jest odpowiedzialny za stronę kodową tworzonego dokumentu. Język HTML jako ponadsystemowy nośnik informacji musi mieć możliwość obsługi różnych języków, a co za tym idzie, różnych znaków narodo- wych. W związku z tym zostały określone różne strony kodowe dla danych języków i części świata. Dla naszego kraju odpowiednim standardem jest strona kodowa ISO 8859-2 lub UTF-8. Działa ona na wszystkich platformach systemowych: MS Windows, Unix, Linux, Mac OS, iPhone, iPad i wielu innych, dlatego jako świadomy projektant stron musisz stosować się do tej normy. Ktoś może jednak stwierdzić, że przecież wy- starczy wpisać polskie znaki w Notatniku, a i tak wszystko zadziała. Oczywiście, nie można odrzucić takiego pomysłu, ale należy zwrócić uwagę, że tak zakodowane pol- skie znaki zadziałają tylko na platformie MS Windows, natomiast pozostałe systemy będą miały z taką stroną kodową problemy. By uzyskać poprawną stronę kodową, mamy kilka możliwości. Pierwsza to edytor z wbudowanym odpowiednim modułem do konwersji znaków, np. PSPad. Druga to wstawianie polskich znaków w sposób tradycyjny, czyli w formacie Windows-1250, a następnie konwertowanie ich za pomocą specjalnych programów — konwerterów, np. Gżegżółka — http://www.gzegzolka.com/.Rozdział 2. ♦ Wprowadzenie do HTML5 19 Pomimo że do dyspozycji mamy dwa sposoby zapisywania polskich znaków, stan- dardem stało się praktyczne i wygodniejsze kodowanie UTF-8. Doskonałość tego rozwiązania polega na przypisaniu unikatowego numeru wszystkim znakom charak- terystycznym dla różnych alfabetów, np. łacińskiego czy cyrylicy. Poza tym w Uniko- dzie uwzględniono różne symbole, np. ®, ©. Deklaracja strony kodowej znajduje się bezpośrednio w nagłówku
i ma następującą postać:Poniżej zamieściłem przykładowy listing struktury strony wraz z definicją strony ko- dowej.W ramach przypomnienia zamieściłem przykładowy kod odpowiedzialny za określenie strony kodowej w dokumencie wykorzystującym poprzednie wersje języka HTML. Jak zapewne już zauważyłeś, również w tym aspekcie twórcy nowej specyfikacji uprościli i skrócili zapis.Tytuł strony Następnym znacznikiem, który zalicza się do stałych elementów strony WWW, jest20 Wstęp do HTML5 i CSS3 Rysunek 2.1. Tytuł strony zwykle widoczny jest na górnej belce okna przeglądarki Słowa kluczowe i opis strony Skoro zainteresowałeś się tworzeniem stron WWW, to musiałeś już poszukiwać in- formacji w internecie, dlatego z całą pewnością miałeś kontakt z wszelkiej maści wy- szukiwarkami i katalogami. Wszystkie one funkcjonują dzięki ogromnym bazom da- nych, zawierającym informacje o stronach zamieszczonych w sieci. Oczywiście dane te muszą być w jakiś sposób pogrupowane — w przeciwnym razie nie byłoby możli- we znalezienie poszukiwanych stron WWW. Jeżeli chcesz, by Twoja strona trafiła do bazy wyszukiwarki, musisz zadbać o odpo- wiednią promocję (więcej miejsca temu zagadnieniu poświęciłem w innych moich książkach). Teraz ważne jest, abyś zapamiętał, że zawartość Twojej strony jest indek- sowana przez specjalnego robota, który ją sprawdzi i doda do bazy danych. To bardzo skrócona i uproszczona metoda działania. W zależności od wyszukiwarki robot sprawdza w kodzie strony kilka elementów i na tej podstawie dodaje ją do bazy. Pierwszym elementem jest znacznik
Rozdział 2. ♦ Wprowadzenie do HTML5 21 css2, nagrywanie płyt, nagrywanie plyt, instalacja windows, nero, literatura informatyczna" />Powyższy listing z mojej prywatnej strony dla potrzeb niniejszego przykładu został skrócony, w rzeczywistości jest on bowiem znacznie bardziej rozbudowany. Zwróć, proszę, uwagę na sposób zapisu słów kluczowych — są one rozdzielone za pomocą przecinków. Poza tym niektóre wpisy są zdublowane, np. nagrywanie płyt i nagrywa- nie plyt. Dzięki temu w bazie znajdą się odpowiednie wersje dla wyszukiwarek obsłu- gujących nasze rodzime „ogonki” oraz tych, które ich nie obsługują. Inne elementy składowe nagłówka strony Nagłówek
może zawierać jeszcze kilka innych znaczników pomocnych w określeniu właściwości strony lub spełniających funkcję informacyjną. Tak się skła- da, że są one związane ze znacznikiem . Poniżej opisałem kilka najważniej- szych i najczęściej spotykanych elementów występujących w nagłówku strony.Podany wpis ma charakter informacyjny i dzięki niemu możemy w kodzie zamieścić informacje o autorze strony. Dane te nie są widoczne na zewnątrz, ale przydają się do ustalenia praw autorskich dla danej strony. Osobiście uważam, że warto korzystać z te- go znacznika.Następny element mogący wchodzić w skład nagłówka zawiera informacje o prawach autorskich. Również w tym przypadku wpisy nie są widoczne na zewnątrz i mają cha- rakter typowo informacyjny.Wewnątrz strony możemy również zamieścić informacje na temat narzędzia, za po- mocą którego został wykonany dany dokument. Z tego znacznika bardzo chętnie ko- rzystają autorzy edytorów, którzy w ten sposób reklamują swój produkt. Podobnie jak elementy opisane poprzednio, również i tym razem wpis ma charakter informacyjny i nie jest widoczny na stronie.Kolejny wpis informuje o języku, w jakim została wykonana strona. Opisany powyżej rodzaj znacznika ma charakter ty- powo informacyjny. Specyfikacja dopuszcza, by autor strony sam tworzył dodatkowe wpisy informacyjne. W związku z tym możemy użyć takiej konstrukcji:22 Wstęp do HTML5 i CSS3 Oczywiście to tylko przykład i jeżeli uznasz, że jest Ci potrzebna jeszcze jakaś infor- macja, możesz wymyślić odpowiednie słowo i wstawić je do odpowiedniego znaczni- ka. Pamiętaj jednak, że bardzo ważne jest, byś zachował ogólną konstrukcję znaczni- ka. Nazwa powinna zostać wpisana do atrybutu name=" ", natomiast wartość musi być umieszczona w atrybucie content=" ". Znacznik może występować z jeszcze jednym atrybutem, http-equiv, który zawiera informacje będące nagłówkiem HTTP:Dla atrybutu http-equiv przewidziano kilka wartości. I tak:spowoduje automatyczne odświeżanie dokumentu co x sekund. Polecenie to jest szcze- gólnie przydatne na stronach, które są bardzo często aktualizowane i autorowi zależy, by odwiedzający zawsze widział aktualne dane, a nie zawartość przechowywaną w pli- kach tymczasowych przeglądarki na dysku. Polecenie to może również przybrać formę:Spowoduje ono automatyczne przeniesienie odwiedzającego po upływie x sekund pod nowy adres zadeklarowany w sekcji url. O przydatności tego polecenia nie muszę chyba nikogo przekonywać. Wiersz ten roz- wiązuje problem ze zmianą adresu i utratą odwiedzających — wystarczy pod starym adresem umieścić plik index.html z deklaracją http-equiv="refresh" i określonym nowym adresem, pod którym umieściliśmy naszą stronę. Każdy, kto wejdzie pod sta- ry adres, zostanie automatycznie przekierowany pod jego aktualną wersję. Polecenie może jeszcze przybrać następujące formy:definiuje adres autora witryny,określa, kiedy nasza strona została wykonana. Warto wiedzieć, że część serwisów indeksujących korzysta z , który określa, czy dana strona powinna być indeksowana oraz czy linki na niej za- warte również mają być dodane do bazy serwisu katalogującego. Przy zastosowaniu polecenia robots atrybut content zawiera następujące dyrektywy, informujące o do- puszczonych operacjach dla naszej strony: 'index' — strona powinna być zaindeksowana; 'noindex' — strona nie powinna być zaindeksowana; 'follow' — linki z tej strony powinny być zaindeksowane; 'nofollow' — linki z tej strony nie powinny być zaindeksowane;
Rozdział 2. ♦ Wprowadzenie do HTML5 23 'all' równa się 'index, follow' — wartość domyślna; 'none' równa się 'noindex, nofollow'. Dalej przedstawiam przykład zastosowania polecenia name="robots" dla strony, która ma być indeksowana wraz ze wszystkimi odnośnikami prowadzącymi do podstron. Warto, abyś zapamiętał, że dla większości witryn takie rozwiązanie jest zdecydowa- nie najlepsze.Kolejnym znacznikiem występującym w nagłówku jest polecenie , określające
bazowy adres dla dokumentu i wszystkich odnośników znajdujących się w jego treści. Przydatność doskonale widać przy przenoszeniu dokumentów do innych ka-
talogów. Jak się później dowiemy, odsyłacze mają różne formy, dlatego przy takiej
operacji nietrudno o zerwanie odnośników, a pamiętanie przy przenoszeniu o zmia-
nie każdego z nich jest kłopotliwe. Należy jednak pamiętać o tym, że w kodzie strony może wystąpić tylko jeden raz.
Ostatnim poleceniem wchodzącym w skład nagłówka dokumentu jest , które
w naszym przypadku będzie odpowiedzialne za dołączanie zewnętrznego arkusza sty-
lów. Element ma następującą konstrukcję:Do znacznika jeszcze wrócimy w kolejnym rozdziale, poświęconym kaska-
dowym arkuszom stylów. Wtedy dowiesz się m.in., że do jednego dokumentu można
podłączyć kilka różnych arkuszy stylów.
Aby utrwalić wiedzę na temat znaczników opisanych w niniejszym podrozdziale, za-
poznaj się z poniższym listingiem, który pokazuje, jak może wyglądać szkielet strony
uzupełniony o omówione do tej pory znaczniki.
24 Wstęp do HTML5 i CSS3 Ciało i sekcje dokumentu HTML Wiesz już, że dokument HTML ma swoje określone ramy oraz nagłówek. Elementy te mają znaczenie czysto konfiguracyjne lub informacyjne i poza tytułem nie są wi- doczne na zewnątrz. Teraz przyszła pora, by poznać kolejne element strony WWW — sekcje. Najważniejszym znacznikiem odpowiedzialnym za wydzielenie głównej sekcji do- kumentu HTML jest
. Wszystkie informacje, które znajdą się pomiędzy tymi znacznikami, są traktowane jako zawartość strony i zostają wyświetlone w oknie przeglądarki. Listing widoczny poniżej przedstawia położenie tego elementu w stosun- ku do pozostałych znaczników.Rozdział 2. ♦ Wprowadzenie do HTML5 25 — pomiędzy znacznikami zamieszczamy zestaw elementów tworzących spójny artykuł (np. nagłówek i blok tekstu). — pomiędzy znacznikami zamieszczamy zawartość głównej części witryny. — pomiędzy znacznikami powinna być zamieszczona część strony, która jest elementem uzupełniającym główną strukturę strony. — pomiędzy znacznikami powinna być zamieszczona część strony, która ma charakter stopki i zamyka Twoją stronę. Na rysunku 2.3 przedstawiłem fragment strony WWW, na której naniosłem oznacze- nia numeryczne. Rysunek 2.3. Struktura strony
26 Wstęp do HTML5 i CSS3 1. odpowiada nagłówkowi strony — znacznik ;
2. odpowiada menu nawigacyjnemu — znacznik ;
3. odpowiada głównej części strony — znacznik ;
4. odpowiada dodatkowym elementom strony — znacznik ;
5. odpowiada pojedynczemu artykułowi — znacznik ;
6. odpowiada stopce strony — znacznik .
Przykład wykorzystania znaczników zawiera kolejny listing. Dodatkowo w dalszej
części książki w kolejnych przykładach będę starał się wplatać nowe elementy, tak by
pokazać ich przydatność oraz sposób wykorzystania.