HTML, XHTML i CSS. - pdf.helion.plpdf.helion.pl/hxcbi5/hxcbi5-36.pdf · w tym celu zestaw...
Transcript of HTML, XHTML i CSS. - pdf.helion.plpdf.helion.pl/hxcbi5/hxcbi5-36.pdf · w tym celu zestaw...
Idź do
• Spis treści• Przykładowy rozdział
• Katalog online
• Dodaj do koszyka
• Zamów cennik
• Zamów informacjeo nowościach
• Fragmenty książekonline
Helion SAul. Kościuszki 1c44-100 Gliwicetel. 32 230 98 63e-mail: [email protected]© Helion 1991–2010
Katalog książek
Twój koszyk
Cennik i informacje
Czytelnia
Kontakt
• Zamów drukowanykatalog
HTML, XHTML i CSS.Biblia. Wydanie V
Autor: Steven M. Schafer
Tłumaczenie: Piotr Rajca
ISBN: 978-83-246-2742-4
Tytuł oryginału: HTML, XHTML, and CSS Bible
Format: 172×245, stron: 768
• Opanuj możliwości języka HTML i kaskadowych arkuszy stylów
• Twórz strony statyczne, dynamiczne i na urządzenia mobilne
• Odkryj sposoby rozbudowania stron WWW
Jeśli czytasz notkę tej książki, zapewne zdecydowałeś się na stworzenie własnej, profesjonalnej
strony internetowej. Jedyne, czego Ci teraz trzeba, to wiedza, jak sprawnie wykorzystać niezbędny
w tym celu zestaw technologii – języki HTML i XHTML oraz kaskadowe arkusze stylów CSS.
To właśnie te narzędzia pozwalają zbudować dokument witryny, sformatować umieszczone na
niej teksty, osadzać elementy multimedialne i nadawać jej atrakcyjny wizualnie wygląd oraz
nowoczesny, dynamiczny charakter. A jeśli masz jeszcze wątpliwości, czy zadanie to leży
w zasięgu Twoich umiejętności, ta książka z pewnością je rozwieje!
Podręcznik ten, adresowany zarówno do początkujących webmasterów, jak i zawodowców, dla
pierwszych stanowi solidną podstawę do rozpoczęcia przygody z tworzeniem stron WWW,
natomiast dla drugich wyczerpujące kompendium wiedzy o odpowiednich technologiach.
Autor tak uporządkował zagadnienia – od prostych po złożone – aby w jak największym stopniu
ułatwić ich opanowanie przez czytelnika. Naukę rozpoczniesz zatem od poznania znaczników
HTML, struktury i atrybutów tego języka. Dowiesz się, jak używać multimediów i skryptów, oraz
skorzystasz z programów wspomagających tworzenie czy testowanie dokumentów. Później
przeczytasz o praktycznych rozszerzeniach HTML – XML i HTML Basic – oraz zgłębisz wszystkie
kwestie związane ze stosowaniem CSS i publikacją strony. Ogarniesz w ten sposób wszystkie
aspekty samodzielnego budowania nowoczesnej, zgodnej ze standardami, estetycznej witryny
internetowej!
• Budowanie treści z wykorzystaniem języka HTML
• Tworzenie list, łączy, tabel i ramek
• Osadzanie elementów multimedialnych
• Skrypty serwerowe i skrypty klienckie
• Czym jest i czemu służy DHTML?
• Projektowanie serwisów wielojęzycznych i zasady lokalizacji serwisów
• Publikacja witryny w sieci
• Porządkowanie i walidacja dokumentów
• Zastosowanie języka XML
• Tworzenia stron dla urządzeń mobilnych
• Kontrola prezentacji za pomocą języka CSS
• Praktyczne sztuczki i triki w CSS
Spis tre�ciO autorze ......................................................................................................... 21
Wprowadzenie ................................................................................................. 23
Cz��� I Tworzenie tre�ci z wykorzystaniem j�zyka HTML ........... 33
Rozdzia� 1. Czym jest j�zyk znaczników? ........................................................ 35Co tu robimy? .....................................................................................................................................35Przedstawienie hipertekstu ..................................................................................................................36Przedstawienie instrukcji znacznikowych ...........................................................................................37Przedstawienie j�zyka znaczników .....................................................................................................38Podsumowanie ....................................................................................................................................40
Rozdzia� 2. Warto�ci i jednostki w HTML-u ...................................................... 41Podstawowa posta zapisu atrybutów .................................................................................................41Wspólne atrybuty ................................................................................................................................44
Identyfikacja znaczników — identyfikatory i klasy ......................................................................44Teksty i komentarze ............................................................................................................................45
Komentarze ...................................................................................................................................45Sekcje CDATA .............................................................................................................................46
Jednolite identyfikatory zasobów ........................................................................................................47Opcje j�zyka i ustawienia mi�dzynarodowe .......................................................................................47
Kod j�zyka ....................................................................................................................................48Kierunek tekstu .............................................................................................................................48
Podsumowanie ....................................................................................................................................48
Rozdzia� 3. Co jest umieszczane w dokumentach HTML? ................................ 49Okre�lanie typu dokumentu ................................................................................................................50Ogólna struktura dokumentu — HTML, nag�ówek i tre� ..................................................................50
Znacznik <html> ...........................................................................................................................51Znacznik <head> ..........................................................................................................................51Znacznik <body> ..........................................................................................................................52
Definicje stylów ..................................................................................................................................52Elementy blokowe — oznaczenia definiuj�ce akapity oraz inne bloki tre�ci ......................................53
Sformatowane akapity ..................................................................................................................54Nag�ówki ......................................................................................................................................54Cytaty ...........................................................................................................................................56Elementy list .................................................................................................................................57
8 HTML, XHTML i CSS. Biblia
Tekst preformatowany ..................................................................................................................58Sekcje strony .................................................................................................................................59
Elementy wewn�trzwierszowe — oznaczenia znaków .......................................................................61Podstawowe znaczniki wewn�trzwierszowe .................................................................................61Fragmenty tekstu ..........................................................................................................................62
Znaki specjalne (symbole znakowe) ...................................................................................................63Elementy organizacyjne ......................................................................................................................64
Tabele ...........................................................................................................................................64Formularze ....................................................................................................................................65
�cza do innych stron .........................................................................................................................67Obrazy .................................................................................................................................................68Komentarze .........................................................................................................................................69Skrypty ................................................................................................................................................69Po��czenie wszystkich elementów ......................................................................................................70Podsumowanie ....................................................................................................................................71
Rozdzia� 4. Elementy nag�ówka ........................................................................ 73Okre�lanie tytu�u dokumentu ..............................................................................................................73Podawanie informacji u�ywanych przez wyszukiwarki ......................................................................74Okre�lanie domy�lnej �cie�ki ..............................................................................................................75Sekcje skryptów ..................................................................................................................................77Sekcje stylów ......................................................................................................................................77Okre�lanie profili ................................................................................................................................77Kolor i obraz t�a ..................................................................................................................................78
Okre�lanie koloru t�a dokumentu ..................................................................................................78Okre�lanie obrazu t�a dokumentu .................................................................................................79
Podsumowanie ....................................................................................................................................80
Rozdzia� 5. Podstawy okre�lania struktury tekstów ...................................... 81Formatowanie akapitów ......................................................................................................................81Podzia� wiersza ...................................................................................................................................83Sekcje ..................................................................................................................................................84Poziome linie ......................................................................................................................................88Cytaty blokowe ...................................................................................................................................89Tekst preformatowany ........................................................................................................................90Podsumowanie ....................................................................................................................................91
Rozdzia� 6. Tekst ............................................................................................... 93Metody formatowania tekstu ...............................................................................................................93
Znacznik <font> ...........................................................................................................................94Akcentowanie i inne znaczniki dotycz�ce tekstu ..........................................................................94Formatowanie tekstu przy u�yciu CSS .........................................................................................94
Pogrubienie i kursywa .........................................................................................................................97Stosowanie uwypuklenia zamiast kursywy .........................................................................................97Czcionka o sta�ej szeroko�ci ...............................................................................................................98Indeksy — górny i dolny ....................................................................................................................98Skróty ..................................................................................................................................................99Oznaczanie zmian w dokumencie — wstawianie i usuwanie tekstu ...................................................99Grupowanie elementów tekstowych znacznikiem <span> ................................................................100Podsumowanie ..................................................................................................................................101
Spis tre�ci 9
Rozdzia� 7. Listy .............................................................................................. 103Omówienie list ..................................................................................................................................103Listy uporz�dkowane (numerowane) ................................................................................................104Listy nieuporz�dkowane (punktowane) ............................................................................................108Listy definicji ....................................................................................................................................112Listy zagnie�d�one ............................................................................................................................114Podsumowanie ..................................................................................................................................115
Rozdzia� 8. ��cza ............................................................................................. 117Czym s� ��cza? ..................................................................................................................................118�cza do stron WWW .......................................................................................................................119�cza wzgl�dne i bezwzgl�dne .........................................................................................................120Docelowe okna ��czy ........................................................................................................................122Tekst podpowiedzi ��cza ...................................................................................................................123Skróty klawiaturowe i kolejno� uaktywniania ��czy .......................................................................123
Skróty klawiaturowe ...................................................................................................................124Kolejno� uaktywniania ��czy ....................................................................................................125
Tworzenie kotwic ..............................................................................................................................125Dobór kolorów ��czy .........................................................................................................................126Parametry dokumentu docelowego ...................................................................................................128Znacznik <link> ................................................................................................................................129Podsumowanie ..................................................................................................................................130
Rozdzia� 9. Tabele ........................................................................................... 131Cz��ci sk�adowe tabeli HTML ..........................................................................................................131Szeroko� i wyrównanie tabeli ..........................................................................................................133Odst�py i otoczenie komórek ............................................................................................................137Obramowanie i kraw�dzie ................................................................................................................138
Obramowanie tabeli ....................................................................................................................138Kraw�dzie tabeli .........................................................................................................................140
Wiersze .............................................................................................................................................140Komórki ............................................................................................................................................142Podpis tabeli ......................................................................................................................................144Grupowanie wierszy — nag�ówek, tre� i stopka tabeli ....................................................................146Kolor t�a ............................................................................................................................................148Komórki rozci�gaj�ce si� na kilka wierszy lub kolumn ....................................................................149Grupowanie kolumn ..........................................................................................................................153Zastosowanie tabel do formatowania stron .......................................................................................154
Podstawy formatowania z wykorzystaniem tabel .......................................................................155Przyk�ady stron dost�pnych w internecie ....................................................................................158Strony p�ywaj�ce ........................................................................................................................158Niestandardowe po��czenie grafiki i tekstu ................................................................................163Menu nawigacyjne i bloki dokumentów .....................................................................................166Dokumenty wielokolumnowe .....................................................................................................167
Podsumowanie ..................................................................................................................................169
Rozdzia� 10. Ramki ........................................................................................... 171Omówienie ramek .............................................................................................................................171Zbiory ramek i zawarto� ramek .......................................................................................................172
Tworzenie zbioru ramek .............................................................................................................173Marginesy, obramowania i paski przewijania ramek ..................................................................176Modyfikacja rozmiaru ramek ......................................................................................................179
10 HTML, XHTML i CSS. Biblia
Odsy�acze do ramek ..........................................................................................................................179Zagnie�d�one zbiory ramek ..............................................................................................................182Ramki p�ywaj�ce ...............................................................................................................................183Podsumowanie ..................................................................................................................................186
Rozdzia� 11. Formularze .................................................................................. 187Podstawowe informacje o formularzach ...........................................................................................188Wstawianie formularzy .....................................................................................................................191
Metoda GET ...............................................................................................................................191Metoda POST .............................................................................................................................192Dodatkowe atrybuty znacznika <form> ......................................................................................192
Etykiety pól .......................................................................................................................................193Pola tekstowe ....................................................................................................................................193Pola hase� ..........................................................................................................................................194Przyciski opcji ...................................................................................................................................194Pola wyboru ......................................................................................................................................195Listy wyboru .....................................................................................................................................195Obszary tekstowe ..............................................................................................................................197Pola ukryte ........................................................................................................................................199Przyciski ...........................................................................................................................................199Rysunki .............................................................................................................................................200Pola plików .......................................................................................................................................201Przyciski przesy�ania danych i czyszczenia pól ................................................................................202Kolejno� uaktywniania kontrolek i skróty klawiaturowe ................................................................203Uniemo�liwienie wprowadzania zmian ............................................................................................203Grupy pól i ich opis ...........................................................................................................................205Stosowanie zdarze� do obs�ugi formularzy .......................................................................................206Skrypty formularzy i us�ugi skryptowe .............................................................................................210
Pobranie programu obs�ugi formularza .......................................................................................210Wykorzystanie us�ug skryptowych .............................................................................................211
Podsumowanie ..................................................................................................................................211
Rozdzia� 12. Kolory i rysunki ........................................................................... 213Podstawowe informacje o kolorach ..................................................................................................213Inne sposoby okre�lania kolorów ......................................................................................................214Ewolucja kolorów u�ywanych na stronach WWW ...........................................................................215Stosowanie odpowiednich metod okre�lania kolorów ......................................................................221Formaty graficzne stosowane w dokumentach WWW .....................................................................223
Kompresja obrazu .......................................................................................................................223Opcje kompresji ..........................................................................................................................224Format GIF .................................................................................................................................225Format JPEG ...............................................................................................................................225Format PNG ................................................................................................................................226
Przygotowanie plików graficznych ...................................................................................................226Najwa�niejsze funkcje ................................................................................................................227Progresywne obrazy JPEG i rysunki GIF z przeplotem ..............................................................228Wykorzystanie efektu przezroczysto�ci ......................................................................................228Animacje .....................................................................................................................................229
Wstawianie rysunków .......................................................................................................................230Rozmieszczanie rysunków ................................................................................................................232
Spis tre�ci 11
Opis wy�wietlany w przegl�darkach tekstowych ..............................................................................235Wymiary i skalowanie rysunków ......................................................................................................236Obramowanie rysunków ...................................................................................................................238Mapy obrazu .....................................................................................................................................239
Definiowanie mapy obrazu .........................................................................................................240Definiowanie obszarów aktywnych ............................................................................................240Po��czenie poszczególnych rozwi�za� .......................................................................................243
Podsumowanie ..................................................................................................................................244
Rozdzia� 13. Obiekty multimedialne ............................................................... 245Animowane obrazy ...........................................................................................................................246Formaty animacji i klipów wideo, pluginy oraz odtwarzacze ...........................................................248
Popularne formaty i odtwarzacze ................................................................................................250Windows Media Player ...............................................................................................................251
Osadzanie multimediów przy u�yciu znacznika <object> ................................................................251Osadzanie odtwarzacza Windows Media Player przy u�yciu znacznika <object> ...........................255Osadzanie klipów wideo z serwisu YouTube ...................................................................................256Umieszczanie plików d�wi�kowych na stronach WWW ..................................................................260Tworzenie plików multimedialnych ..................................................................................................261Podsumowanie zagadnie� wykorzystania multimediów na stronach WWW ....................................261Podsumowanie ..................................................................................................................................262
Rozdzia� 14. Znaki specjalne ........................................................................... 263Kodowanie znaków ...........................................................................................................................263Znaki specjalne .................................................................................................................................264Znaki spacji i my�lników ..................................................................................................................265Symbol praw autorskich i znaku towarowego ...................................................................................266Symbole walut ..................................................................................................................................267Rzeczywiste znaki cudzys�owu .........................................................................................................267Strza�ki ..............................................................................................................................................268Znaki zawieraj�ce symbole akcentu ..................................................................................................269Litery alfabetu greckiego i symbole matematyczne ..........................................................................271Inne u�yteczne symbole ....................................................................................................................274Podsumowanie ..................................................................................................................................276
Rozdzia� 15. Projektowanie stron WWW dla obcokrajowców ...................... 277Projektowanie serwisów wieloj�zycznych i zasady lokalizacji serwisów .........................................277T�umaczenie strony internetowej ......................................................................................................279Standard Unicode ..............................................................................................................................279
Basic Latin (podstawowy �aci�ski, U+0000 – U+007F) .............................................................284Kodowanie polskich znaków diakrytycznych .............................................................................290
Podsumowanie ..................................................................................................................................290
Rozdzia� 16. Skrypty ........................................................................................ 293Skrypty serwerowe i skrypty klienckie .............................................................................................293
Skrypty klienckie ........................................................................................................................293Skrypty serwerowe .....................................................................................................................294
Okre�lanie domy�lnego j�zyka skryptowego ....................................................................................294Do��czanie skryptów .........................................................................................................................295Wywo�ywanie zewn�trznych skryptów .............................................................................................296
12 HTML, XHTML i CSS. Biblia
Wywo�ywanie skryptów za pomoc� zdarze� ....................................................................................297Ukrywanie skryptów przed starszymi przegl�darkami ......................................................................301Podsumowanie ..................................................................................................................................301
Rozdzia� 17. Dynamiczny HTML ....................................................................... 303Do czego s�u�y dynamiczny HTML? ................................................................................................303Jak dzia�a DHTML? ..........................................................................................................................304Obiektowy model dokumentu ...........................................................................................................305
Historia DOM .............................................................................................................................305Opis obiektowego modelu dokumentu ........................................................................................306W�a�ciwo�ci i metody w�z�ów DOM .........................................................................................308Poruszanie si� po drzewie DOM i modyfikacja w�z�ów .............................................................309
Obiektowy model dokumentu j�zyka JavaScript ..............................................................................312Obiekt window ...........................................................................................................................313Obiekt document .........................................................................................................................315Obiekt form .................................................................................................................................316Obiekt location ...........................................................................................................................316Obiekt history .............................................................................................................................317Obiekt this ..................................................................................................................................317
Stosowanie procedur obs�ugi zdarze� ...............................................................................................318Dost�p do elementów przy wykorzystaniu ich identyfikatorów .......................................................319Zagadnienia zgodno�ci z ró�nymi przegl�darkami ...........................................................................320
Wykrywanie u�ywanej przegl�darki ...........................................................................................320Wykrywanie obiektów ................................................................................................................321
Przyk�ady rozwi�za� DHTML ..........................................................................................................321Automatyzacja formularzy — obs�uga pól wyboru ..........................................................................322
Tworzenie efektów podmiany przy wykorzystaniu JavaScriptu .................................................323Rozwijane menu .........................................................................................................................324
Podsumowanie ..................................................................................................................................327
Rozdzia� 18. Przysz�o�� j�zyka HTML — HTML 5 ............................................. 329Wi�ksze mo�liwo�ci publikowania i okre�lania uk�adu ....................................................................329Dost�pne multimedia ........................................................................................................................331Zmiany — elementy i atrybuty .........................................................................................................332
Nowe elementy ...........................................................................................................................333Nowe atrybuty w elementach ......................................................................................................333Nowe typy pól formularzy (elementu input) ...............................................................................334Nowe globalne atrybuty ..............................................................................................................335Elementy uznane za przedawnione .............................................................................................335Przedawnione atrybuty ...............................................................................................................336
Podsumowanie ..................................................................................................................................337
Cz��� II Narz�dzia oraz inne wersje j�zyka HTML ...................... 339
Rozdzia� 19. Programy do projektowania stron internetowych ................. 341Edytory tekstowe ..............................................................................................................................342
Proste edytory tekstowe ..............................................................................................................342Inteligentne edytory tekstowe .....................................................................................................342Edytory HTML ...........................................................................................................................343
Spis tre�ci 13
Edytory HTML pracuj�ce w trybie WYSIWYG ...............................................................................345NetObjects Fusion ......................................................................................................................345Dreamweaver firmy Macromedia ...............................................................................................346Dodatki do przegl�darki Firefox .................................................................................................347
Inne narz�dzia ...................................................................................................................................349Programy graficzne .....................................................................................................................349Flash firmy Adobe ......................................................................................................................351
Podsumowanie ..................................................................................................................................352
Rozdzia� 20. Publikacja witryn ........................................................................ 353Wprowadzenie do FTP ......................................................................................................................353Programy klienty FTP .......................................................................................................................354Popularne klienty FTP ......................................................................................................................356Podstawowe zasady organizacji plików w obr�bie witryny WWW ..................................................358Podsumowanie ..................................................................................................................................359
Rozdzia� 21. Wprowadzenie do j�zyka XML ................................................... 361Podstawy j�zyka XML ......................................................................................................................362Sk�adnia j�zyka XML .......................................................................................................................363
Deklaracje XML i DOCTYPE ....................................................................................................364Elementy .....................................................................................................................................364Atrybuty ......................................................................................................................................366Komentarze .................................................................................................................................367Dane nieprzetwarzane .................................................................................................................367Sta�e tekstowe .............................................................................................................................367Przestrzenie nazw .......................................................................................................................368Arkusze stylów ...........................................................................................................................369
Definicje typu dokumentu (DTD) .....................................................................................................369U�ycie elementów w definicji typu dokumentu ..........................................................................371Definiowanie atrybutów w DTD .................................................................................................373Definiowanie i u�ycie sta�ych tekstowych w definicji DTD .......................................................374U�ycie danych typu PCDATA i CDATA w definicji typu .........................................................375
Schematy XML .................................................................................................................................375U�ycie schematów ............................................................................................................................376Zastosowanie dokumentów XML .....................................................................................................378
Przekszta�cenia XSLT .................................................................................................................379Edycja kodu XML ......................................................................................................................379Analiza kodu XML .....................................................................................................................379
Podsumowanie ..................................................................................................................................380
Rozdzia� 22. Tworzenie stron dla urz�dze przeno�nych ............................ 381Ewolucja internetu mobilnego ..........................................................................................................381
Mroczne pocz�tki internetu mobilnego .......................................................................................382Organizacja Open Mobile Alliance i nowe standardy .................................................................383Podsumowanie ............................................................................................................................383
J�zyk XHTML Basic 1.1 ..................................................................................................................384Deklaracja doctype XHTML Basic 1.1 .......................................................................................384Elementy j�zyka XHTML Basic 1.1 ...........................................................................................384Zagadnienia wymagaj�ce szczególnej uwagi ..............................................................................385
Narz�dzia do tworzenia stron dla urz�dze� przeno�nych ..................................................................388Podsumowanie ..................................................................................................................................389
14 HTML, XHTML i CSS. Biblia
Rozdzia� 23. Porz�dkowanie i walidacja dokumentów ................................. 391Porz�dkowanie kodu HTML .............................................................................................................391
HTML Tidy ................................................................................................................................394Pobieranie narz�dzia HTML Tidy ..............................................................................................394Uruchamianie narz�dzia HTML Tidy .........................................................................................394
Sprawdzanie poprawno�ci kodu ........................................................................................................397Okre�lanie poprawnego typu dokumentu ....................................................................................397Narz�dzia do weryfikacji poprawno�ci kodu ..............................................................................397Jak weryfikowa dokumenty? .....................................................................................................397
Dodatkowe testy i walidacja .............................................................................................................399Testowanie kodu w ró�nych przegl�darkach ..............................................................................399Testowanie w ró�nych rozdzielczo�ciach ekranu .......................................................................400
Podsumowanie ..................................................................................................................................400
Rozdzia� 24. Sztuczki i triki w j�zyku HTML .................................................... 401Wst�pne wczytywanie rysunków ......................................................................................................401Kontrolowanie podzia�u tekstu w komórkach tabeli .........................................................................403Paski tytu�u o zmiennej szeroko�ci ...................................................................................................404Symulowanie gazetowego uk�adu kolumn ........................................................................................406Do��czanie rozmiaru rysunków w celu przyspieszenia ich wczytywania .........................................408Zabezpieczenia adresów e-mail ........................................................................................................409Automatyzacja formularzy ................................................................................................................411
Operacje na obiektach formularzy ..............................................................................................411Weryfikacja warto�ci pól ............................................................................................................413
Modyfikowanie �rodowiska przegl�darki .........................................................................................416Koncepcja ...................................................................................................................................416Implementacja ............................................................................................................................416Zastosowane funkcje JavaScript .................................................................................................421
Podsumowanie ..................................................................................................................................422
Cz��� III Kontrolowanie prezentacji za pomoc� CSS .................. 423
Rozdzia� 25. Wprowadzenie do kaskadowych arkuszy stylów ..................... 425Przeznaczenie CSS ............................................................................................................................425Style i HTML ....................................................................................................................................4261., 2. i 3. poziom CSS .......................................................................................................................428Definiowanie stylów .........................................................................................................................429Kaskada stylów .................................................................................................................................430Podsumowanie ..................................................................................................................................432
Rozdzia� 26. Tworzenie regu� stylów ............................................................. 433Zapis definicji stylów ........................................................................................................................433Przedstawienie selektorów ................................................................................................................435
Dopasowywanie elementów wed�ug typu ...................................................................................435Korzystanie z selektora uniwersalnego .......................................................................................435Dopasowywanie elementów wed�ug klasy .................................................................................436Dopasowywanie elementów przy u�yciu identyfikatora .............................................................437Dopasowywanie elementów, które zawieraj� okre�lony atrybut ................................................437Korzystanie z elementów dzieci, potomków oraz elementów przystaj�cych ..............................438
Omówienie dziedziczenia .................................................................................................................440
Spis tre�ci 15
Pseudoklasy i ich stosowanie ............................................................................................................441Definiowanie stylów ��czy ..........................................................................................................441Pseudoklasa :first-child ...............................................................................................................442Pseudoklasa :lang ........................................................................................................................442
Pseudoelementy ................................................................................................................................443Stosowanie stylów dla pierwszego wiersza tekstu w elemencie .................................................443Stosowanie stylów dla pierwszej litery elementu ........................................................................444Definiowanie przed danym tekstem i po nim ..............................................................................445
Wyra�enia skrótowe ..........................................................................................................................446Podsumowanie ..................................................................................................................................448
Rozdzia� 27. Warto�ci i jednostki w j�zyku CSS ............................................. 449Ogólne zasady podawania warto�ci w�a�ciwo�ci ..............................................................................449Jednostki warto�ci w�a�ciwo�ci .........................................................................................................451
Warto�ci w postaci s�ów kluczowych .........................................................................................452Standardowe jednostki miar ........................................................................................................452Miary rozdzielczo�ci ekranu .......................................................................................................453Miary wzgl�dne ..........................................................................................................................454Funkcje zwi�zane z kolorami i adresami URL ...........................................................................455Jednostki d�wi�kowe ..................................................................................................................456
Podsumowanie ..................................................................................................................................457
Rozdzia� 28. Dziedziczenie i kaskadowanie w j�zyku CSS ............................. 459Dziedziczenie ....................................................................................................................................459Kaskadowanie ...................................................................................................................................461Specyficzno� selektorów .................................................................................................................463Podsumowanie ..................................................................................................................................464
Rozdzia� 29. W�a�ciwo�ci czcionek ................................................................. 465Wprowadzenie do czcionek ..............................................................................................................465Rodzaje czcionek ..............................................................................................................................466Okre�lanie rozmiaru czcionki ...........................................................................................................468Okre�lanie stylu czcionki ..................................................................................................................469Interlinie ............................................................................................................................................470Zagnie�d�anie czcionek w dokumencie ............................................................................................470Podsumowanie ..................................................................................................................................472
Rozdzia� 30. Formatowanie tekstu ................................................................ 473Wyrównywanie tekstu .......................................................................................................................473
Kontrolowanie wyrównania poziomego .....................................................................................474Kontrolowanie wyrównania pionowego .....................................................................................476
Tworzenie wci�cia w tek�cie ............................................................................................................479Kontrolowanie znaków niewidocznych w tek�cie .............................................................................479
Obiekty przestawne ....................................................................................................................479W�a�ciwo� white-space .............................................................................................................481
Kontrolowanie odst�pów mi�dzy literami i s�owami ........................................................................483Definiowanie wielkich liter ...............................................................................................................484Dekorowanie tekstu ..........................................................................................................................486Tekst generowany automatycznie .....................................................................................................487Definiowanie stylów tabeli ...............................................................................................................487
16 HTML, XHTML i CSS. Biblia
Kontrolowanie atrybutów tabeli ........................................................................................................488Obramowanie tabeli ....................................................................................................................488Odst�py w ramce tabeli ...............................................................................................................489Pojedyncze obramowanie ...........................................................................................................491Obramowania wokó� pustych komórek ......................................................................................492
Uk�ad graficzny tabeli .......................................................................................................................493Wyrównywanie i pozycjonowanie podpisów ....................................................................................493Podsumowanie ..................................................................................................................................495
Rozdzia� 31. Formatowanie list ...................................................................... 497Ogólne informacje o listach ..............................................................................................................497CSS — ka�dy element pasuje ...........................................................................................................498W�a�ciwo� list-style-type ................................................................................................................499Pozycjonowanie markerów ...............................................................................................................501Punktory rysunkowe .........................................................................................................................501Podsumowanie ..................................................................................................................................502
Rozdzia� 32. Obramowania, odst�py i marginesy ......................................... 503Omówienie modelu formatowania pojemnika ..................................................................................503Dodawanie odst�pu do elementu .......................................................................................................506Dodawanie obramowania ..................................................................................................................507
Szeroko� obramowania .............................................................................................................507Styl obramowania .......................................................................................................................508Kolor ramki .................................................................................................................................510Najwi�kszy skrót: w�a�ciwo� border .........................................................................................510Dodatkowe w�a�ciwo�ci obramowa� ..........................................................................................511
Definiowanie marginesów elementu .................................................................................................511Wykorzystywanie dynamicznego obramowania ...............................................................................513Podsumowanie ..................................................................................................................................514
Rozdzia� 33. Kolory i t�o .................................................................................. 515Kolory elementów .............................................................................................................................515
Kolor pierwszoplanowy ..............................................................................................................515Kolory t�a ....................................................................................................................................516
Obrazy t�a ..........................................................................................................................................519Powtarzanie i przewijanie obrazów t�a .......................................................................................522Okre�lanie pozycji obrazów t�a ...................................................................................................523Skrótowa w�a�ciwo� background ..............................................................................................525
Podsumowanie ..................................................................................................................................525
Rozdzia� 34. Definiowanie uk�adów stron ..................................................... 527Omówienie pozycjonowania elementów ...........................................................................................527
Pozycjonowanie statyczne ..........................................................................................................528Pozycjonowanie wzgl�dne ..........................................................................................................529Pozycjonowanie bezwzgl�dne ....................................................................................................529Pozycjonowanie sta�e ..................................................................................................................530
Okre�lanie pozycji elementu .............................................................................................................532Elementy dryfuj�ce do lewej lub prawej strony ................................................................................534Definiowanie szeroko�ci i wysoko�ci elementu ................................................................................537
Dok�adne definiowanie rozmiarów .............................................................................................537Definiowanie rozmiaru maksymalnego oraz minimalnego .........................................................538Kontrola przepe�nienia elementu ................................................................................................539
Spis tre�ci 17
Uk�adanie elementów na stosie .........................................................................................................540Kontrolowanie widoczno�ci elementu ..............................................................................................544Podsumowanie ..................................................................................................................................546
Rozdzia� 35. Pseudoelementy i wygenerowane tre�ci ................................. 547W�a�ciwo� content ..........................................................................................................................547Pseudoelementy ................................................................................................................................549
Stosowanie stylów dla pierwszego wiersza tekstu w elemencie .................................................550Stosowanie stylów dla pierwszej litery elementu ........................................................................550Pseudoelementy :before i :after ..................................................................................................552
Definiowanie znaków cudzys�owu ....................................................................................................553Automatyczne numerowanie elementów ..........................................................................................553
Obiekt counter ............................................................................................................................554Zmienianie warto�ci obiektu counter ..........................................................................................554Przyk�ad zastosowania liczników: numery rozdzia�ów i podrozdzia�ów ....................................555W�asne numerowanie list ............................................................................................................556
Podsumowanie ..................................................................................................................................558
Rozdzia� 36. Dynamiczny HTML i CSS ............................................................... 559Korzystanie z w�a�ciwo�ci CSS w kodzie JavaScript .......................................................................559U�yteczne operacje z u�yciem CSS ..................................................................................................565
Ukrywanie i wy�wietlanie tekstu ................................................................................................565Powi�kszanie obrazków ..............................................................................................................567Podmieniane menu ......................................................................................................................569
Podsumowanie ..................................................................................................................................572
Rozdzia� 37. Typy mediów i definiowanie stron do druku ........................... 573Typy mediów obs�ugiwane przez CSS ..............................................................................................574
Okre�lanie typu mediów .............................................................................................................574Przygotowywanie dokumentu do drukowania ..................................................................................577
Model formatowania pojemnika strony ......................................................................................577Definiowanie rozmiaru strony ....................................................................................................577W�a�ciwo�ci page-break .............................................................................................................580Zarz�dzanie wdowami i sierotami ..............................................................................................583Przygotowanie dokumentu do drukowania dwustronnego ..........................................................584
Tworzenie dokumentów dla ró�nych mediów ..................................................................................585Dokument do prezentacji w internecie ........................................................................................585Ponowne formatowanie strony ...................................................................................................589
Podsumowanie ..................................................................................................................................590
Rozdzia� 38. Przysz�o�� CSS — CSS 3 ............................................................... 591Po prostu lepsze ................................................................................................................................592Modularno� .....................................................................................................................................592Stosowanie w�a�ciwo�ci CSS 3 ju� dzi� ............................................................................................594Wi�ksza kontrola nad wybieranymi elementami ...............................................................................595Zaokr�glone wierzcho�ki elementów raz jeszcze ..............................................................................596Podsumowanie ..................................................................................................................................597
18 HTML, XHTML i CSS. Biblia
Cz��� IV Dodatkowe narz�dzia CSS ............................................. 599
Rozdzia� 39. Style interfejsu u�ytkownika .................................................... 601Modyfikacje wygl�du wska�nika myszy ..........................................................................................601Kolory interfejsu u�ytkownika ..........................................................................................................603Czcionki interfejsu u�ytkownika .......................................................................................................606Podsumowanie ..................................................................................................................................607
Rozdzia� 40. Testowanie i walidacja kodu CSS ............................................... 609Sprawdzanie sk�adni w czasie tworzenia stylów ...............................................................................609S�owo o formatowaniu ......................................................................................................................611Walidacja kodu CSS .........................................................................................................................612Dodatki do przegl�darki Firefox s�u��ce do edycji CSS ...................................................................613Podsumowanie ..................................................................................................................................614
Rozdzia� 41. Sztuczki i triki w j�zyku CSS ....................................................... 615Wysuni�cie .......................................................................................................................................615Rozszerzaj�ce si� przyciski ...............................................................................................................617Wyró�nione cytaty ............................................................................................................................620Menu w formie zak�adek ...................................................................................................................622
Elementy z zaokr�glonymi wierzcho�kami .................................................................................624Elementy p�ywaj�ce ....................................................................................................................627Tekst otaczaj�cy inne elementy ..................................................................................................630
Podsumowanie ..................................................................................................................................634
Dodatki ....................................................................................... 635
Dodatek A Krótki przegl�d elementów j�zyka HTML .................................... 637Lista elementów ................................................................................................................................638
<a> ..............................................................................................................................................638<abbr> ........................................................................................................................................639<acronym> ..................................................................................................................................639<address> ....................................................................................................................................640<area> (rzadko stosowany) .........................................................................................................641<b> .............................................................................................................................................641<base> ........................................................................................................................................642<bdo> ..........................................................................................................................................642<big> ..........................................................................................................................................643<blockquote> ..............................................................................................................................643<body> ........................................................................................................................................644<br> ............................................................................................................................................645<button> .....................................................................................................................................645<caption> ....................................................................................................................................646<cite> ..........................................................................................................................................647<code> ........................................................................................................................................647<col> ...........................................................................................................................................648<colgroup> .................................................................................................................................648<dd> ............................................................................................................................................649<del> ...........................................................................................................................................649<dfn> ..........................................................................................................................................650<div> ..........................................................................................................................................650
Spis tre�ci 19
<dl> ............................................................................................................................................651<dt> ............................................................................................................................................651<em> ...........................................................................................................................................652<fieldset> ....................................................................................................................................652<form> ........................................................................................................................................653<h1>, <h2>, <h3>, <h4>, <h5>, <h6> ........................................................................................654<head> ........................................................................................................................................654<hr> ............................................................................................................................................655<html> ........................................................................................................................................655<i> ..............................................................................................................................................656<img> .........................................................................................................................................656<input> .......................................................................................................................................657<ins> ...........................................................................................................................................658@<kbd> ......................................................................................................................................659<label> ........................................................................................................................................659<legend> .....................................................................................................................................660<li> .............................................................................................................................................660<link> .........................................................................................................................................661<map> .........................................................................................................................................662<meta> ........................................................................................................................................662<noscript> ...................................................................................................................................663<object> ......................................................................................................................................664<ol> ............................................................................................................................................665<optgroup> .................................................................................................................................665<option> .....................................................................................................................................666<p> .............................................................................................................................................666<param> ......................................................................................................................................667<pre> ..........................................................................................................................................668<q> .............................................................................................................................................668<samp> .......................................................................................................................................669<script> .......................................................................................................................................669<select> ......................................................................................................................................670<small> .......................................................................................................................................671<span> ........................................................................................................................................672<strong> ......................................................................................................................................672<style> ........................................................................................................................................673<sub> ..........................................................................................................................................674<sup> ..........................................................................................................................................674<table> ........................................................................................................................................674<tbody> ......................................................................................................................................676<td> ............................................................................................................................................676<textarea> ...................................................................................................................................677<tfoot> ........................................................................................................................................678<th> ............................................................................................................................................678<thead> .......................................................................................................................................679<title> .........................................................................................................................................680<tr> .............................................................................................................................................680<tt> .............................................................................................................................................681<ul> ............................................................................................................................................682<var> ..........................................................................................................................................682
20 HTML, XHTML i CSS. Biblia
Atrybuty zdarze� ...............................................................................................................................683Zdarzenia standardowe ...............................................................................................................683Inne zdarzenia .............................................................................................................................683
Inne cz�sto spotykane atrybuty .........................................................................................................684Atrybuty podstawowe .................................................................................................................684Atrybuty umi�dzynarodawiania ..................................................................................................684Kody cz�sto u�ywanych kolorów ...............................................................................................684
Dodatek B Krótki przegl�d znaków specjalnych j�zyka HTML ..................... 685
Dodatek C Krótki przegl�d w�a�ciwo�ci j�zyka CSS ...................................... 695Lista w�a�ciwo�ci ..............................................................................................................................696
Lista w�a�ciwo�ci — zestawienie ...............................................................................................696T�o ..............................................................................................................................................698Listy ............................................................................................................................................700Wygenerowane dane ...................................................................................................................702Czcionki i tekst ...........................................................................................................................703Kierunek tekstu ...........................................................................................................................707Bloki ...........................................................................................................................................708Okre�lanie pozycji elementów ....................................................................................................711Obramowania ..............................................................................................................................713Tabele .........................................................................................................................................716Druk ............................................................................................................................................717Ró�ne ..........................................................................................................................................718
Dodatek D Krótki przegl�d selektorów j�zyka CSS ....................................... 721Podstawowe selektory elementów ....................................................................................................722Selektory potomków .........................................................................................................................722Selektory dzieci .................................................................................................................................722Selektory pierwszego brata ...............................................................................................................723Selektory klas ....................................................................................................................................723Selektory identyfikatorów .................................................................................................................723Selektory atrybutów ..........................................................................................................................724
Dodatek E Krótki przegl�d pseudoelementów i pseudoklas ....................... 725Pseudoelementy ................................................................................................................................726Pseudoklasy ......................................................................................................................................726
Skorowidz ...................................................................................................... 729
Rozdzia� 36.Dynamiczny HTML i CSS
W tym rozdziale:
� Korzystanie z w�a�ciwo�ci CSS w kodzie JavaScript
� U�yteczne operacje z u�yciem CSS
Kaskadowe arkusze stylów mog� by pot��nym narz�dziem umo�liwiaj�cym tworzenie�adnie sformatowanych stron WWW. W tym rozdziale opisano, w jaki sposób w ró�nychprzegl�darkach mo�na manipulowa warto�ciami w�a�ciwo�ci CSS, by nada dokumen-tom HTML dynamiczny charakter. Dowiesz si� z niego, w jaki sposób mo�na uzyskiwadost�p do w�a�ciwo�ci CSS oraz jak operowa nimi w skryptach, aby wykonywa takieoperacje jak zmiana koloru tekstu. Jak si� oka�e, mo�na zmieni warto� ka�dej w�a�ci-wo�ci CSS.
Jak si� przekonasz, niektóre przegl�darki (mamy tu na my�li g�ównie program InternetExplorer) udost�pniaj� mo�liwo� tworzenia dynamicznych efektów wizualnych, takichjak cienie i rozmycia, z wykorzystaniem sk�adni zbli�onej do CSS.
Korzystanie z w�a�ciwo�ci CSSw kodzie JavaScript
Przegl�darki fundacji Mozilla (Firefox) oraz Internet Explorer zapewniaj� mo�liwo�dost�pu do w�a�ciwo�ci CSS poziomu 1. w kodzie JavaScript, za po�rednictwem obiek-towego modelu dokumentu (DOM). Niestety, pomi�dzy DOM stosowanym w przegl�-darkach Firefox oraz Internet Explorer wyst�puj� pewne ró�nice. W obu tych rozwi�za-niach zosta�y cz��ciowo zaimplementowane mo�liwo�ci standardu CSS2, jednak nie s�to te same mo�liwo�ci, przez co wykorzystuj�cy je skrypt, który dzia�a w jednej z tychprzegl�darek, mo�e nie dzia�a w drugiej. Nale�y zwróci uwag�, �e silnik Gecko (u�y-wany do przetwarzania i wy�wietlania stron WWW w przegl�darkach Mozilli) obs�u-guje wszystkie w�a�ciwo�ci standardu CSS poziomu 2.
Ogólnie rzecz bior�c, z w�a�ciwo�ci CSS korzysta si� w standardowy sposób — ichwarto�ci s� odczytywane w sposób typowy dla w�a�ciwo�ci i ustawiane przy u�yciumetod. Aby odwo�a si� do w�a�ciwo�ci CSS w kodzie JavaScript, nale�y po prostu podajej nazw�, o ile tylko nie zawiera ona ��cznika. W przypadku nazw kilkucz�onowych znak
560 Cz��� III � Kontrolowanie prezentacji za pomoc� CSS
��cznika nale�y usun�, a znak znajduj�cy si� bezpo�rednio za nim nale�y zapisa wielk�liter�. Wszystkie pozosta�e znaki nazwy w�a�ciwo�ci s� zapisywane ma�ymi literami. Naprzyk�ad w�a�ciwo�:font-size
staje si� w kodzie JavaScript:fontSize
Tak uzyskan� nazw� w�a�ciwo�ci dodaje si� do nazwy (lub identyfikatora) obiektu zawie-raj�cego kolekcj� stylów. Na przyk�ad, aby odwo�a si� do w�a�ciwo�ci font-size obiektuo nazwie bigText, nale�y u�y nast�puj�cego wyra�enia:bigText.style.fontSize
Powy�sze wyra�enie mo�e zosta u�yte tak�e do okre�lenia nowej warto�ci w�a�ciwo-�ci. Na przyk�ad poni�sza instrukcja przypisuje w�a�ciwo�ci font-size obiektu bigTextwarto� xx-large:bigText.style.fontSize = "xx-large";
Przeanalizuj kod poni�szego przyk�adu. Kiedy klikniemy wy�wietlony na stronie akapittekstu, procedura obs�ugi zdarze� onClick wywo�a funkcj� SuperSizeMe(), która z koleiprzypisuje w�a�ciwo�ci font-size akapitu warto� xx-large (przez co tekst akapitu zostajepowi�kszony). Pocz�tkowy wygl�d strony zosta� przedstawiony na rysunku 36.1, natomiastrysunek 36.2 przedstawia t� sam� stron� po klikni�ciu akapitu.
Rysunek 36.1.Pocz�tkowo,przed klikni�ciem,tekst jest wy�wietlonyczcionk� o �redniejwielko�ci (medium)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"><html><head>
Rozdzia� 36. � Dynamiczny HTML i CSS 561
Rysunek 36.2.Po klikni�ciu wielko��czcionki zostajezmieniona na bardzodu�� (xx-large)
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Powi�kszanie akapitu</title> <style type="text/css"> #bigText { font-size: medium; } </style>
<script type="text/javascript">
function SuperSizeMe(obj) { obj.style.fontSize = "xx-large"; } </script></head>
<body>
<p id="bigText" onClick="SuperSizeMe(this);">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam nibh. Sed egestas ornare turpis. Integer augue nisl, bibendum interdum, ultrices at, mattis sit amet, ligula. Integer ornare. Duis leo leo, ultricies placerat, egestas sed, sagittis vel, tellus. Proin ante quam, rutrum id, lobortis molestie, dictum consectetur, erat. In et lectus eget leo placerat adipiscing. Donec facilisis dui non elit. Vivamus et diam. Donec lectus augue, facilisis non, interdum at, bibendum adipiscing, odio. Pellentesque ullamcorper aliquet mauris. Integer sed erat. Nullam tincidunt placerat dui. Nulla nisl risus, mollis in, pellentesque nec, porttitor blandit, nibh. Mauris vehicula eros. Mauris risus velit, ullamcorper non, tincidunt ut, hendrerit ac, quam. Proin tincidunt.</p></body></html>
A teraz musimy po�wi�ci troch� czasu na to, by dobrze przeanalizowa i zrozumie, jakdzia�a powy�szy przyk�ad. Mo�na s�dzi, �e kolekcja style zapewnia dost�p do stylów
562 Cz��� III � Kontrolowanie prezentacji za pomoc� CSS
przypisanych danemu elementowi, niezale�nie od tego, sk�d one pochodz�. Okazuje si� jed-nak, �e tak nie jest. Kolekcja style zapewnia mo�liwo� odwo�ywania si� i operowaniana atrybucie style umieszczonym w znaczniku obiektu. Oznacza to, �e wykonanie poni�-szego fragmentu kodu JavaScript bezpo�rednio po wy�wietleniu naszej przyk�adowej stronyw przegl�darce spowodowa�oby wy�wietlenie okienka informacyjnego z napisem „null”:alert(document.getElementById("bigText").style.fontSize);
W�a�ciwo� style.fontSize ma warto� null, poniewa� w elemencie bigText nie zosta�okre�lony atrybut style. W jaki sposób zatem dzia�a powy�szy przyk�ad, skoro nie zmie-nia on warto�ci medium atrybutu font-size okre�lonego w arkuszu stylów umieszczonymw elemencie <style> w sekcji nag�ówka strony? Odpowied� jest prosta — wcale niemusi on zmienia warto�ci w�a�ciwo�ci okre�lonych w elemencie <style>, zmienia onwarto�ci przechowywane w atrybucie style elementu. Warto�ci te maj� bowiem wy�szypriorytet ni� w�a�ciwo�ci zdefiniowane w arkuszach stylów w sekcji nag�ówka strony.
Oczywi�cie, gdyby warto�ci przechowywane w atrybucie style zosta�y podane, to mo�naby odczyta ich warto�ci przy u�yciu atrybutu style.
Aby odczyta w�a�ciwo�ci podane w sekcji <style>, nale�y u�y jednej z dwóch metod:jedna z nich dzia�a w przegl�darkach Internet Explorer, a druga w przegl�darkach Fire-fox. W pierwszym przypadku korzystamy z udost�pnianej przez Internet Explorera w�a-�ciwo�ci currentStyle; z kolei w przegl�darce Firefox obiekt window udost�pnia metod�getComputedStyle.
Korzystanie z w�a�ciwo�ci currentStyle w Internet Explorerze jest wyj�tkowo proste —wystarczy odszuka interesuj�cy element strony, u�ywaj�c w tym celu jego identyfika-tora, a nast�pnie skorzysta z w�a�ciwo�ci, by pobra warto� odpowiedniego stylu. Poka-zano to na poni�szym przyk�adzie:obj = document.getElementById(id);value = obj.currentStyle['fontSize'];
Nale�y zwróci uwag�, �e nazwa stylu jest zapisana bez ��cznika, zatem ma ona postafontSize, a nie font-size.
W przegl�darce Firefox nale�y wykona dodatkowy, po�redni krok, gdy� wywo�aniemetody getComputedStyle() zwraca kolekcj�, z której dopiero mo�na odczyta intere-suj�c� nas warto� stylu. Ten etap po�redni wymaga u�ycia metody getPropertyValue().Ca�y proces wygl�da nast�puj�co:obj = document.getElementById(id);objstyles = window.getComputedStyle(obj,null);value = objstyles.getProperty('font-size');
Warto zauwa�y, �e w tym rozwi�zaniu stosowane s� standardowe nazwy w�a�ciwo�ciCSS, a nie ich przekszta�cone wersje bez ��czników. Niemniej jednak w obu przedstawio-nych przypadkach efekt b�dzie taki sam — w zmiennej value zostanie zapisana warto�w�a�ciwo�ci font-size.
Dzi�ki wykorzystaniu niezbyt skomplikowanego kodu okre�laj�cego rodzaj u�ywanejprzegl�darki istnieje mo�liwo� po��czenia obu przedstawionych wcze�niej rozwi�za�
Rozdzia� 36. � Dynamiczny HTML i CSS 563
i zaimplementowania ich w postaci jednej funkcji. Poni�szy listing przedstawia kod funk-cji, która zwraca warto� stylu na podstawie przekazanej w wywo�aniu nazwy elementuoraz nazwy w�a�ciwo�ci CSS (przy czym u�ywana jest tu prawid�owa nazwa w�a�ciwo�ci,a nie nazwa zapisywana bez ��cznika):
// Funkcja zwraca warto�� w�a�ciwo�ci CSS o nazwie propName// odczytanej z elementu okre�lonego przy u�yciu identyfikatora id
function getStyleVal (id, propName) { // Czy w ogóle mo�emy cokolwiek zrobi� [czy uda si� nam // pobra� obiekt elementu przy u�yciu metody getElementById()]? if (obj = document.getElementById(id)) { // Czy dost�pna jest w�a�ciwo�� currentStyle (IE)? if (obj.currentStyle) { // Konwertujemy nazw� w�a�ciwo�ci na format u�ywany w IE if (propName.indexOf("-") != -1) { hyp = propName.indexOf("-"); propName = propName.substr(0,hyp) + propName.charAt(hyp+1).toUpperCase() + propName.substr(hyp+2); } return obj.currentStyle[propName]; }
// Czy jest dost�pna metoda getComputedStyle (Mozilla)? if (window.getComputedStyle) { compStyle = window.getComputedStyle(obj,null); return compStyle.getPropertyValue(propName); } } // Koniec instrukcji if (obj == document.getElementById(id))
// Nie uda�o si� odszuka� elementu — zwracamy pusty �acuch znaków return "";}
Zwró uwag�, �e w pierwszej kolejno�ci funkcja sprawdza, czy u�ywana przegl�darkaudost�pnia metod� document.getElementById() (wszystkie nowoczesne przegl�darki j�udost�pniaj�). Je�li metoda ta nie jest dost�pna, funkcja ko�czy dzia�anie, zwracaj�c pusty�a�cuch znaków. Nast�pnie funkcja sprawdza, z jakiego sposobu odczytu warto�ci stylumo�e skorzysta — tego stosowanego w przegl�darkach Internet Explorer czy tego z prze-gl�darek Mozilli. Korzystaj�c z jednego z tych dwóch sposobów, funkcja odczytuje war-to� podanej w�a�ciwo�ci stylu i zwraca j�. Dodatkowo, w razie potrzeby, funkcja konwer-tuje nazw� w�a�ciwo�ci na format stosowany w przegl�darkach IE. Praktyczne wynikiwykorzystania tej funkcji zosta�y przedstawione na rysunkach: 36.3 (w Internet Explo-rerze) oraz 36.4 (w przegl�darce Firefox). W obu przypadkach u�yto tej samej strony,zawieraj�cej nast�puj�cy fragment kodu: <style type="text/css"> #bigText { font-size: medium; } </style>...<p id="bigText" onClick="alert(getStyleVal('bigText','font-size'));">Loremipsum dolor sit amet, consecterur adipisicing elit, ...
Po klikni�ciu tekstu wy�wietlonego na stronie zostanie wy�wietlone informacyjne okienkodialogowe, a w nim informacje o warto�ci w�a�ciwo�ci font-size we wskazanym akapicie.
564 Cz��� III � Kontrolowanie prezentacji za pomoc� CSS
Rysunek 36.3. Funkcja getStyleVal() zosta�a tu zastosowana do wy�wietlenia warto�ci w�a�ciwo�cifont-size w przegl�darce Internet Explorer
Rysunek 36.4. Funkcja getStyleVal() zosta�a tu zastosowana do wy�wietlenia warto�ciw�a�ciwo�ci font-size w przegl�darce Firefox
Warto zwróci� uwag�, �e w przypadku wykonywania funkcji getStyleVal() w przegl�darceFirefox zwraca ona warto�� bezwzgl�dn� wyra�on� w pikselach. Ze wzgl�du na sposóbdzia�ania tej funkcji mo�e si� okaza�, �e zwracane przez ni� warto�ci b�d� zapisanew innym formacie ni� ten, jakiego u�yto do okre�lania danej w�a�ciwo�ci stylu. Na przyk�ad,mimo �e kolor jakiego� elementu okre�lisz w stylu przy u�yciu warto�ci szesnastkowej#FFA500, funkcja zwróci nazw� koloru — orange. Albo, jak w zaprezentowanym wcze�niejprzyk�adzie, zamiast wielko�ci wzgl�dnych (medium) — bezwzgl�dne warto�ci wyra�onew pikselach.
A zatem dlaczego nie mo�na by u�ywa dwóch przedstawionych wcze�niej rozwi�za�do manipulowania stylami? Wyt�umaczenie jest proste — obie pozwalaj� jedynie naodczyt warto�ci stylów. Warto�ci stylów mo�na podawa bezpo�rednio, w sposób przed-stawiony na pocz�tku tego podrozdzia�u.
Rozdzia� 36. � Dynamiczny HTML i CSS 565
U�yteczne operacje z u�yciem CSSPrzyk�ady przedstawione we wcze�niejszej cz��ci rozdzia�u pokaza�y, w jaki sposóbmo�na operowa na w�a�ciwo�ciach zwi�zanych z postaci� czcionki. Cho s� to ca�-kiem przydatne operacje, to jednak bardziej z�o�one manipulacje w�a�ciwo�ciami CSSz poziomu kodu JavaScript mog� pozwoli nam tworzy jeszcze bardziej atrakcyjneefekty wizualne. W tej cz��ci rozdzia�u znajdziesz kilka przyk�adów, które mo�esz wyko-rzysta jako punkt startowy do dalszych, w�asnych eksperymentów.
Ukrywanie i wy�wietlanie tekstu
Dzi�ki wykorzystaniu kaskadowych arkuszy stylów i JavaScriptu bez wi�kszych pro-blemów mo�na ukrywa i wy�wietla teksty oraz inne elementy stron. Rozwi�zanie takiemo�e by wykorzystane w przeró�nych sytuacjach, takich jak tworzenie rozwijanegomenu b�d� ukrywanie fragmentu strony do momentu, gdy u�ytkownik zdecyduje si� gowy�wietli. Na przyk�ad przeanalizujmy stron� zawieraj�c� list� pyta� i odpowiedzi.Mo�na s�dzi, �e u�ytkownik nie b�dzie chcia� ogl�da ca�ej listy odpowiedzi, ju� bezpo-�rednio po wy�wietleniu strony. Jest bardziej prawdopodobne, �e b�dzie chcia� selek-tywnie wy�wietla odpowiedzi tylko na te pytania, które go interesuj�. Dzi�ki zastoso-waniu w�a�ciwo�ci CSS display napisanie skryptu zapewniaj�cego takie mo�liwo�cifunkcjonalne nie nastr�cza �adnych problemów.
Przeanalizuj poni�szy kod strony, w którym odpowiedzi na pytania s� pocz�tkowo ukryte,a przegl�darka wy�wietli je dopiero po klikni�ciu du�ej litery „P” lub tekstu pytania.Rysunek 36.5 przedstawia stron� bezpo�rednio po wy�wietleniu (z ukryt� odpowiedzi�),natomiast rysunek 36.6 — stron� po wy�wietleniu odpowiedzi.<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"><html><head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Ukrywanie i wy�wietlanie tekstu</title> <style type="text/css">
/* Pocz�tkowo ukrywamy wszystkie odpowiedzi */ .hideseek { display: none; }
/* Ró�ne stany widoczno�ci pyta i odpowiedzi */ .Q { font-size: xx-large; padding-bottom: 0; margin-bottom:0; cursor: pointer; } .Qtext { margin-left: 20px; margin-top: 0; padding-top: 0; } .A { font-size: xx-large; padding-bottom: 0; margin-bottom: 0; clear: left; }
566 Cz��� III � Kontrolowanie prezentacji za pomoc� CSS
Rysunek 36.5. Odpowiedzi na pytania s� pocz�tkowo ukryte
Rysunek 36.6. Odpowied jest wy�wietlana po klikni�ciu du�ej litery P (b�d dowolnego innegofragmentu pytania). Ponowne klikni�cie powoduje ukrycie odpowiedzi
.Atext { margin-left: 20px; margin-top: 0; padding-top: 0; }
</style>
<script type="text/javascript">
// Naprzemiennie ukrywamy i wy�wietlamy element function hideseek(id) { obj = document.getElementById(id); // Je�li styl nie jest okre�lony, to mo�emy za�o�y�, // �e element nie by� jeszcze modyfikowany i jest niewidoczny
Rozdzia� 36. � Dynamiczny HTML i CSS 567
if ((obj.style.display == "") || (obj.style.display == "none")) { obj.style.display = "block"; } else { obj.style.display = "none"; } }
</script></head><body> <div onClick="hideseek('A1');"> <p class="Q" >P:</p> <p class="Qtext">Jakiego komputera i urz�dze peryferyjnych potrzebuj�, by móc wzi�� udzia� w rozgrywkach sieciowych?</p> </div> <div id="A1" class="hideseek"> <p class="A" >O:</p> <p class="Atext"> Musisz przynie�� komputer o nast�puj�cej (minimalnej) konfiguracji: Pentium 4 z co najmniej 2 GB pami�ci RAM i wysokiej jako�ci kart� graficzn�; do tego monitor LCD (nie wi�kszy ni� 19 cali), klawiatur�, myszk� i kabel sieciowy (o minimalnej d�ugo�ci 2 metrów). Nie przyno� niczego wi�cej (a w szczególno�ci nie próbuj u�ywa� dwóch komputerów)! </p> </div></body></html>
Powy�szy przyk�ad wykorzystuje funkcj� JavaScript, która odczytuje bie��c� warto�w�a�ciwo�ci display i ustawia j� na warto� przeciwn�, co powoduje naprzemiennewy�wietlanie i ukrywanie elementu. Funkcja ta jest wywo�ywana przez procedur� obs�ugizdarze� onClick, zdefiniowan� w elemencie <div> zawieraj�cym pytanie. W wywo�aniufunkcji umieszczony jest identyfikator elementu <div> zawieraj�cego odpowied�, dzi�kiczemu wie ona, na jakim elemencie ma operowa.
Jak ju� wcze�niej wspomniano, takie rozwi�zanie mo�e by stosowane w przeró�nychcelach. Wystarczy ukry element, który pocz�tkowo ma by niewidoczny (wykorzy-stuj�c do tego celu w�a�ciwo� display z warto�ci� none), a nast�pnie wy�wietla goprzy u�yciu funkcji wywo�ywanej po klikni�ciu przycisku lub zaj�ciu jakiegokolwiekinnego zdarzenia.
Powi�kszanie obrazków
Innym cz�sto spotykanym zastosowaniem mo�liwo�ci CSS do tworzenia ciekawychefektów wizualnych jest powi�kszanie obrazków, które pocz�tkowo s� wy�wietlanew postaci miniaturek. Technika ta jest powszechnie wykorzystywana we wszelkiego typugaleriach internetowych lub w innych witrynach, na których wy�wietlanie obrazków w pe�-nej wielko�ci jest po��dane, lecz kosztowne.
Prezentowana tu technika jest podobna do rozwi�zania przedstawionego w poprzednimpunkcie rozdzia�u — tak�e w tym przypadku generowane przez u�ytkownika zdarzeniewywo�uje skrypt, który odpowiednio modyfikuje w�a�ciwo�ci CSS danego elementu.
568 Cz��� III � Kontrolowanie prezentacji za pomoc� CSS
W prezentowanym przyk�adzie skrypt operuje na w�a�ciwo�ci display miniatury orazpe�nowymiarowego obrazka. Poni�ej przedstawiony zosta� kod przyk�adowej strony WWW:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"><html><head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Powi�kszanie obrazków</title> <style type="text/css"> .zoom { display: none; margin: 0px 10px; float: left;} .zoom p {margin: 0;} .thumb { display: block; margin: 0px 10px; float: left; } .thumb p {margin: 0;} </style> <script type="text/javascript"> function PicZoom(id) { pic = document.getElementById(id); thum = document.getElementById("T"+id); if ((pic.style.display == "") || (pic.style.display == "none")) { pic.style.display = "block"; thum.style.display = "none"; } else { pic.style.display = "none"; thum.style.display = "block"; } } </script></head>
<body>
<div id="1" class="zoom"><p><img src="cats.jpg" alt="Kotki" onMouseOut="PicZoom(1)"/> </p></div> <div id="T1" class="thumb"><p><img src="cats_thumb.jpg" alt="Kotki" onMouseOver="PicZoom(1)" /></p></div> <div class="text"><p> Z rozrzewnieniem wspominam czasy m�odzieczych zabaw z mymi bra�mi i siostrami. Czasy pozbawione zmartwie i wype�nione niekocz�cymi si� igraszkami, gonitwami, skokami, wyimaginowanymi polowaniami na wielkie, t�uste myszy. Czasy, kiedy frasunkiem, a i to niewielkim, by�o znalezienie matki i posilenie si� wcze�niej ni� pozosta�e rodzestwo. Z rozrzewnieniem wspominam ten czas, czas bez dylematów i rozterek, bez w�tpliwo�ci i konieczno�ci dokonywania wyborów. A teraz? Có�... teraz musz� wybra�, co jest dla mnie wa�niejsze: czy duma i pozornie nieskr�powana wolno�� nie do koca dzikiego drapie�nika, walcz�cego o egzystencj� na obrze�ach miejskiej d�ungli, czy te� syta i bezproblemowa egzystencja domowego kiciusia... </p></div></body></html>
Aby u�atwi formatowanie strony i zapewni wi�ksz� elastyczno�, wszystkie obrazki,zarówno miniaturka, jak i obrazek pe�nowymiarowy, zosta�y umieszczone w elementach<div>. W�a�ciwo� display elementu <div> zawieraj�cego miniaturk� ma pocz�tkowowarto� block, co sprawia, �e element ten jest widoczny. Natomiast w elemencie <div>
Rozdzia� 36. � Dynamiczny HTML i CSS 569
zawieraj�cym pe�nowymiarowy obrazek w�a�ciwo� display ma pocz�tkowo warto� none,a zatem element ten jest pocz�tkowo ukryty. W elemencie img prezentuj�cym miniaturk�zdefiniowano procedur� obs�ugi zdarze� onMouseOver, w której wywo�ywana jest funk-cja PicZoom(). Dzi�ki temu funkcja ta zostanie wywo�ana w momencie umieszczeniawska�nika myszy na miniaturce. Dzia�anie funkcji PicZoom() polega na zamianie warto-�ci w�a�ciwo�ci display elementów <div> zawieraj�cych obrazki; innymi s�owy, pojawisi� pe�nowymiarowy obrazek, a miniaturka zniknie. Wska�nik myszy pozostanie w tymsamym po�o�eniu — w obszarze pe�nowymiarowego zdj�cia. Kiedy u�ytkownik prze-sunie go poza obrazek, zostanie zg�oszone zdarzenie onMouseOut, a w efekcie ponowniezostanie wywo�ana funkcja PicZoom(), która tym razem ukryje pe�nowymiarowy obrazeki wy�wietli miniaturk�.
Dzia�anie tej strony zosta�o zilustrowane na rysunkach 36.7 oraz 36.8. Pierwszy z nichprzedstawia stron� w jej pocz�tkowej postaci, z widoczn� miniaturk�; natomiast na rysun-ku 36.8 widoczna jest strona po wy�wietleniu obrazka pe�nowymiarowego.
Rysunek 36.7. Pocz�tkowo, po wy�wietleniu strony, widoczna jest miniaturka, natomiastpe�nowymiarowy obrazek jest ukryty
Podobnie jak w pozosta�ych przyk�adach przedstawionych w tym rozdziale, podobnyefekt mo�na uzyska� na wiele sposobów. Jeden z nich polega na umieszczeniu wszystkichobrazków na jednym du�ym i przesuwanie go w taki sposób, by w danym momencieby� widoczny jego odpowiedni fragment. Inne rozwi�zanie polega na modyfikowaniuatrybutu src znacznika <img> tak, by wy�wietlany by� w nim odpowiedni obrazek. Istniejetak�e bardziej z�o�ona technika, bazuj�ca na wykorzystaniu warstw i odpowiednichmodyfikacjach w�a�ciwo�ci z-index wybranego elementu. Nic nie stoi na przeszkodzie,by� wymy�li� tak�e swoje w�asne rozwi�zanie.
Podmieniane menu
We wszystkich przyk�adach przedstawionych we wcze�niejszej cz��ci rozdzia�u uzyski-wali�my zamierzony efekt wizualny, stosuj�c kod JavaScript do modyfikowania w�a�ciwo-�ci CSS. Jak na razie nie skorzystali�my z pseudoklas CSS dost�pnych w elementach��czy, które pozwalaj� na uzyskanie podobnych efektów.
570 Cz��� III � Kontrolowanie prezentacji za pomoc� CSS
Rysunek 36.8. Po umieszczeniu wskanika myszy na miniaturce, zamiast niej w przegl�darcejest wy�wietlany obrazek w pe�nych wymiarach
Pseudoklasy elementów <a> przedstawione zosta�y w tabeli 36.1.
Tabela 36.1. Pseudoklasy elementu <a>
Pseudoklasa Zastosowanie lub efekt
:link Formatuje elementy wybrane przez selektor jako ��cza, które jeszcze nie zosta�y odwiedzone.
:visited Formatuje elementy wybrane przez selektor jako odwiedzone ��cza.
:hover Formatuje elementy wybrane przez selektor w momencie umieszczenia na nich wska�nikamyszy.
:active Formatuje elementy wybrane przez selektor jako aktywne ��cza.
Pseudoklasy wymienione w tabeli 36.1 s� zazwyczaj stosowane do okre�lania wygl�duelementów traktowanych jak dynamiczne ��cza. Na przyk�ad, korzystaj�c z pseudoklasy:hover, mo�na dynamicznie zmienia wygl�d elementu w momencie umieszczenia nadnim wska�nika myszy — czyli dok�adnie tak samo, jak zachowuj� si� ��cza.
Na przyk�ad przedstawiony poni�ej dokument HTML wykorzystuje pseudoklas� :hover,by zmienia wygl�d ��czy po wskazaniu ich mysz�. Uzyskany efekt przypomina dyna-micznie modyfikowane menu tworzone przy u�yciu kodu JavaScript. Efekty jego dzia�aniazosta�y przedstawione na rysunku 36.9.
Rozdzia� 36. � Dynamiczny HTML i CSS 571
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"><html><head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Menu wykorzystuj�ce pseudoklasy</title> <style type="text/css"> .nav tr td {border: 1px solid black;} .menu { color: black; background-color: white; text-transform: none; text-decoration: none; } .menu:hover { color: white; background-color: black; text-transform: uppercase; text-decoration: none; } .menucase { width: 100px; } </style></head>
<body> <div class="menucase"> <table border="0" width="100%" class="nav"> <tr><td><a class="menu" href="index.html">Strona g�ówna</a></td></tr> <tr><td><a class="menu" href="produkty.html">Produkty</a></td></tr> <tr><td><a class="menu" href="uslugi.html">Us�ugi</a></td></tr> <tr><td><a class="menu" href="wsparcie.html">Wsparcie</a></td></tr> <tr><td><a class="menu" href="onas.html">O nas</a></td></tr> </table> </div></body></html>
Rysunek 36.9. Pseudoklasy mog� by� stosowane do tworzenia dynamicznego menu, w tymprzypadku wskazany element menu jest pod�wietlany
572 Cz��� III � Kontrolowanie prezentacji za pomoc� CSS
Nale�y zauwa�y, �e cho technika polegaj�ca na zastosowaniu pseudoklas w celu uzyska-nia ciekawych efektów wizualnych jest bardzo popularna, to jednak nie jest ona zgodnaz zasad� separacji dzia�a� od prezentacji. Dlatego te� znacznie lepszym rozwi�zaniemjest tworzenie podobnych efektów przy wykorzystaniu kodu JavaScript.
Zwró� uwag�, �e opisana tu technika mo�e by� stosowana w po��czeniu niemalze wszystkimi elementami HTML. Jednak pseudoklas mo�na u�ywa� wy��czniedo formatowania znaczników ��czy, a zatem by odpowiednio formatowa� ��czaw dokumencie, nale�y korzysta� z innych znaczników.
PodsumowanieW tym rozdziale przedstawione zosta�y technologie DHTML i CSS. Dowiedzia�e� si�,jak u�ywa JavaScriptu, by modyfikowa style CSS elementów i uzyskiwa ciekaweefekty wizualne, oraz jak tworzy takie efekty przy u�yciu pseudoklas CSS. W nast�pnymrozdziale zamieszczone zosta�y informacje dotycz�ce stosowania kaskadowych arkuszystylów do okre�lania postaci stron przeznaczonych do wydruku. W kolejnych rozdzia-�ach, od 38. do 41., przedstawione zosta�y bardziej specjalistyczne zagadnienia zwi�zaneze stosowaniem kaskadowych arkuszy stylów.