Informatyka w zarządzaniu III rok - HTML Wstęp Języki programowania (technologie) powiązane z Internetem w kolejności zgodnej ze wzrastającym stopniem skomplikowania: HTML i XHTML, arkusze stylów (CSS), JavaScript i skrypty DOM, skrypty po stronie serwera, XML, Java. HTML to skrót od Hypertekst Markup Language, tłumaczony jako język znaczników hipertekstowych. Hyper oznacza, że HTML nie jest językiem liniowym. Języki programowania mają zazwyczaj strukturę liniową innymi słowy struktura programu określa kolejność jego wykonania (stąd też potwierdzenie, że HTML nie jest typowym językiem programowania jak, np. C++). W przypadku strony WWW użytkownik ma możliwość skorzystania z dowolnej opcji strony w dowolnym czasie. Drugi człon nazwy, Text, to narzędzie, którym się posługujemy, a jest nim zwykły (no, może nie całkiem zwykły) tekst. Niezwykłość tekstu bierze się stąd, że umieszczany jest on w specjalnych znacznikach, < >, </>, i one właśnie są odpowiedzialne za kolejny człon nazwy: Mark-up. Dzięki znacznikom przeglądarka wie, że ma do czynienia z kodem strony WWW, a nie ze zwykłym tekstem. Znaczniki nadają specjalne atrybuty i instruują przeglądarkę jak interpretować wygląd tekstu. Ostatnia litera w skrócie HTML to L od Language, co oznacza język. HTML jest bowiem językiem publikowania w sieci WWW, a co najważniejsze, językiem niezależnym od stosowanej platformy sprzętowej, czyli rodzaju komputera, z jakiego korzystamy. HTML (HyperText Markup Language) jest więc językiem wykorzystywanym do tworzenia dokumentów strony internetowej. Jego uaktualniona wersja XHTML (extensible HTML), jest zasadniczo tym samym językiem o bardziej rygorystycznych regułach składni. Często można się spotkać z połączonym zapisem (X)HTML oznaczającym HTML oraz XHTML. (X)HTML nie jest językiem programowania, jest językiem znaczników, co oznacza, że jest systemem identyfikacji oraz opisu rożnych komponentów dokumentu, takich jak nagłówki, akapity czy listy. HTML pozwala: Publikować dokumenty zawierające nagłówki, tekst, tabele, listy, zdjęcia, formularze, itp. Pobierać za pośrednictwem połączeń hipertekstowych informacje z Internetu (mówiąc w skrócie polega to na klikaniu połączeń, co uaktywnia pobieranie danych). Projektować formularze pozwalające na korzystanie ze zdalnych usług, takich jak na przykład wyszukiwanie informacji, dokonywanie rezerwacji oraz zamawianie produktów. Umieszczać w dokumentach arkusze kalkulacyjne, klipy wideo oraz inne aplikacje. Podsumowując: Język HTML język przeznaczony do opisywania dokumentów hipertekstowych, prezentowanych i odczytywanych następnie w sieci WWW za pomocą przeglądarki. Poszczególne elementy składowe strony WWW, takie jak tytuły, akapity, obrazy, dźwięki, łączniki z innymi dokumentami, adresy stron WWW są wyróżniane w tym języku za pomocą znaczników, które pełnią funkcję poleceń dla przeglądarki. Dzięki temu hipertekst może być opisany z użyciem bardzo prostego edytora tekstowego. 1
Podczas gdy (X)HTML wykorzystywany jest do opisywania zawartości strony internetowej, kaskadowe arkusze stylów (CSS) opisują to, w jaki sposób zawartość ta ma wyglądać. W świecie projektowania stron internetowych wygląd witryny określany jest mianem prezentacji. CSS jest teraz oficjalnym i standardowym mechanizmem formatowania tekstu oraz układu elementów na stronie. CSS udostępnia również metody kontrolowania sposobu prezentacji dokumentów w mediach innych od tradycyjnej przeglądarki na ekranie, na przykład w druku, czy w urządzeniach trzymanych w dłoni. Zawiera również reguły określające prezentację niewizualną dokumentów, na przykład sposób ich brzmienia w czytnikach ekranu (ang. screen reader). Arkusze stylów są również świetnym narzędziem pozwalającym zautomatyzować tworzenie witryny, ponieważ można wprowadzić zmiany do wszystkich jej podstron, edytując pojedynczy dokument z arkuszem stylu. Arkusze stylów są obsługiwane do pewnego stopnia przez wszystkie nowoczesne przeglądarki. Choć da się publikować strony internetowe z użyciem samego (X)HTML, najprawdopodobniej będzie się wolało dodać do witryny arkusze stylów, by nie być ograniczonym do domyślnych stylów przeglądarki. Współczesne projektowanie stron internetowych często przedstawia się jako składające się z trzech niezależnych warstw : Treść dokumentu wraz ze znacznikami (X)HTML składa się na warstwę struktury. Stanowi ona podstawę, do której stosuje się pozostałe warstwy. Po umieszczeniu struktury dokumentu na właściwym miejscu można dodać informacje z arkusza stylów, które pozwalają na kontrolowanie wyglądu treści dokumentu. Warstwa ta nosi nazwę warstwy prezentacji. W końcu warstwa zachowania zawiera skrypty, które sprawiają, że strona staje się interaktywna. Dodatkowe pojęcia niezbędne do zrozumienia istoty tworzenia stron internetowych: Strona WWW (World Wide Web) dokument napisany w języku HTML i w takiej postaci przechowywany w serwerze WWW. Zawiera hipertekst uzupełniony elementami graficznymi i multimedialnymi. Osoba zainteresowana obejrzeniem danej strony może ją pobrać z serwera, posługując się przeglądarką zainstalowaną we własnym komputerze. World Wide Web (w skrócie WWW) to sieć komputerów nazywana popularnie Internetem. Tworzą ją komputery z całego świata. Serwer WWW to odpowiednio oprogramowany komputer podłączony na stałe do Internetu, udostępniający zasoby obsługiwanych przez siebie witryn WWW zgłaszającym się przeglądarkom (komunikacja z serwerami wymaga określonych protokołów sieciowych zestawów reguł umożliwiających porozumiewanie się odległych komputerów najbardziej rozpowszechnionym protokołem jest HyperText Transfer Protocol, oznaczany skrótowo jako http://). Miejsce na serwerze można wykupić u dowolnego dostawcy usług internetowych lub można skorzystać z darmowego serwisu internetowego, udostępniającego miejsce na swoich serwerach. Warto poświęcić trochę miejsca komputerom, z których składa się Internet. Ponieważ serwują one dokumenty na żądanie, zostały nazwane serwerami. Serwer to tak naprawdę oprogramowanie (a nie sam komputer), które pozwala komputerowi na komunikację z innymi komputerami. Przyjęło się jednak, że słowa serwer używa się również w odniesieniu do samego komputera. Rola oprogramowania serwera polega na oczekiwaniu na żądanie informacji, pobraniu tej informacji i jak najszybszym jej odesłaniu. 2
o W samych komputerach tego typu nie ma nic specjalnego. Można je sobie wyobrazić jako cokolwiek, od maszyny o dużej mocy opartej na Uniksie po zwykły komputer osobisty. Za wszystko odpowiedzialne jest oprogramowanie serwera. By komputer mógł być częścią Internetu, musi na nim działać specjalne oprogramowanie serwera WWW pozwalające na obsługę transakcji protokołu HTTP. Serwery WWW są również nazywane serwerami HTTP. o Każdy komputer w Internecie ma przypisany unikalny liczbowy adres IP (IP pochodzi od Internet Protocol). Na przykład komputer, który udostępnia stronę oreilly.com, ma adres IP 208.201.239.37. Wszystkie te liczby mogą przyprawiać o ból głowy, dlatego na szczęście powstał system DNS (Domain Name System), który pozwala na odnoszenie się do serwera również po nazwie domeny (oreilly.com). Liczbowy adres IP jest użyteczny dla komputerów, natomiast nazwa domeny jest bardziej czytelna dla ludzi. Dopasowanie tekstowych nazw domen do odpowiadających im adresów IP jest zadaniem osobnego serwera DNS. o Możliwe jest skonfigurowanie serwera WWW w taki sposób, by więcej niż jedna domena była odwzorowywana na jeden adres IP, co pozwala wielu stronom na współdzielenie jednego serwera. Wiemy już, że serwer służy do serwowania stron, jednak co jest drugą stroną równania? Oprogramowanie wykonujące żądanie nazywane jest klientem. W Internecie oprogramowaniem klienta przesyłającym żądania dokumentów jest przeglądarka. Żądania danej strony dokonujemy poprzez podanie jej adresu URL. Następnie serwer zwraca dokumenty do przeglądarki, by mogła je ona wyświetlić. Adres URL to skrót od Uniform Resource Locator, co można przetłumaczyć jako uniwersalny identyfikator zasobów. Adres ten wpisujemy najczęściej w polu adresu przeglądarki. Przeglądarka wysyła wiadomość do komputera, którego adres został podany (serwera), zawierającą żądanie strony. Serwer pobiera odpowiednie dane i przekazuje je występującemu o nie komputerowi. Dokument HTML dokument napisany w języku HTML. Taki dokument można utworzyć w najprostszym edytorze tekstu, np. w Notatniku, programie ze środowiska Windows. Do odczytywania dokumentów HTML służą przeglądarki, np. Internet Explorer. Podsumowując - Jak to działa? Wszelkie informacje umieszczone w sieci zapisane są w dokumentach zwanymi stronami WWW. Strona WWW to dokument utworzony za pomocą języka HTML. Gotowe strony WWW zapisywane są na specyficznym komputerze, który nazywamy serwerem. Serwer to właściwie program, ale przyjęło się nazywać tym mianem także komputer, na którym go zainstalowano. Serwer jest odpowiedzialny za realizację żądania przesłania dokumentów do tego komputera, który wystąpił z takim żądaniem. Jest także konieczny do opublikowania dokumentów w Internecie. Internet z kolei stanowi sieć komputerów połączonych ze sobą. Oczywiście nie fizycznie. Komputery mogą jednak komunikować się ze sobą i przesyłać sobie dane, czyli informacje. Strony WWW stanowią jedno ze źródeł informacji. Aby przeglądać strony WWW, konieczne jest nawiązanie połączenia z Internetem za pośrednictwem modemu lub łącza stałego i uruchomienie specjalnego programu, który nazywa się przeglądarką. Przeglądarkę należy poinformować, gdzie ma szukać danych. Informacja ta zawarta jest w adresie URL. 3
4
Znaczniki Dokument HTML zawiera tekst, który ma być umieszczony na stronie i polecenia (zwane znacznikami lub tagami), które stanowią informacje dla przeglądarki, jak ten dokument ma być wyświetlony na ekranie. Polecenia, dla odróżnienia od zwykłego tekstu umieszcza się w nawiasach kątowych < >. Prawie każde polecenie języka HTML składa się z dwóch części otwierającej i zamykającej. Różnią się one tym, że część zamykająca poprzedzona jest znakiem / (czyli </ >). Znaczniki kontrolują formatowanie i układ dokumentu na ekranie przeglądarki. Aby lepiej zrozumieć funkcjonowanie języka HTML, spróbuj potraktować znaczniki HTML jako przymiotniki. Kolor obiektu, na przykład piłki, można opisać korzystając z takich przymiotników jak niebieska, czerwona czy żółta. Relację względem innego obiektu można z kolei wyrazić za pomocą słów takich jak: z lewej, z prawej, w centrum. Podobnie HTML pomaga opisać wygląd i ulokowanie tekstu, obrazów i innych obiektów na Twojej stronie WWW. Budowa dokumentu HTML Dokumenty (X)HTML, tak jak człowiek, mają głowę (ang. head) oraz ciało (ang. body). Głowa dokumentu, nazywana również nagłówkiem, zawiera opisowe informacje o samym dokumencie, w tym jego tytuł, wykorzystywany arkusz stylów, skrypty i inne rodzaje metainformacji. Ciało dokumentu zawiera treść wyświetlaną w oknie przeglądarki. Dokument w języku HTML jest zawarty między znacznikami: <html> i </html> i dzieli się na dwie części: nagłówek - głowę dokumentu między tagami <head>.. </head> treść - ciało dokumentu między tagami <body>.. </body> Nagłówek rozpoczyna się poleceniem <head>, a treść poleceniem <body>. Przed dokumentem, tj. przed otwierającym znacznikiem <html> należy dodać jeszcze zalecaną definicję typu dokumentu, czyli tzw. Prolog, który informuje że strona jest tworzona w języku HTML. Definicja typu dokumentu, DTD, to specyfikacja towarzysząca każdemu dokumentowi stworzonemu w języku SGML (Standard Generalized Markup Language), której zadaniem jest dostarczenie przeglądarce istotnych informacji o składni dokumentu. Innymi słowy definicje DTD umożliwiają określenie zasad stosowania znaczników. 5
DTD zawiera przeważnie definicje nazw i zawartości wszystkich rodzajów elementów, jakie mogą wystąpić w danym dokumencie. Może także określać wymaganą kolejność elementów oraz zasady ich zagnieżdżania, dopuszczalne atrybuty wraz z ich domyślnymi wartościami, warunki rezygnacji ze znaczników końcowych czy nazwy predefiniowanych symboli, do których można się odwoływać w dokumencie. DTD wstawiamy w następujący sposób: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/tr/html4/strict.dtd"> Lub w skrócie: <!DOCTYPE html> A oto najprostszy szablon stworzony w języku HTML: <!DOCTYPE html> <html> <head> Treść nagłówka </head> <body> Treść dokumentu </body> </html> Zadanie 1. Otwórz program Notepad ++ oraz wybraną przeglądarkę internetową. W edytorze tekstu wprowadź szablon tworzenia stron internetowych w języku HTML. W treści wpisz dowolnie wybrane zdanie. Zapisz plik i wyświetl go w celu sprawdzenia w przeglądarce. Dodatkowe informacje dotyczące szablonów stron internetowych: Element head zawiera ogólne informacje na temat dokumentu. Umieszczane są one między innymi w znaczniku <meta>. Najczęściej są to informacje przydatne przeglądarkom lub słowa kluczowe wykorzystywane przez serwisy wyszukujące. W znaczniku <meta> można na przykład umieścić adres url, pod który przeglądarka ma się skierować, aby wyświetlić nową wersję strony WWW lub opis dokumentu. Można także umieścić nowy adres url, pod który użytkownik zostanie automatycznie skierowany po określonym czasie. Sekcja head (głowa) zawiera więc tzw. metainformacje (zawarte w znacznikach <meta>) o dokumencie, takie jak: sposób kodowania liter - charset tytuł - title autor strony - author tematyka (opis) - description słowa kluczowe keywords 6
Sekcja head: Tytuł strony <title>tytuł strony</title> Sposób kodowania znaków <meta http-equiv="content-type" content="text/html; charset=iso-8859-2" /> Sposób kodowania strony <meta name="description" content="tu podaj opis twojej strony" /> Słowa kluczowe <meta name="keywords" content="wyraz1, wyraz2, wyraz3..." /> Język strony <meta http-equiv="content-language" content="język" /> Autor strony <meta name="author" content="tu wpisz swoje imię i nazwisko" /> Częstotliwość odświeżania <meta http-equiv="refresh" content="s" /> Data utworzenia <meta http-equiv="creation-date" content="data" /> Data modyfikacji <meta http-equiv="last-modified" content="data" /> Tytuł: W nagłówku znajduje się tekst tytułu poprzedzony poleceniem <title> - nie oznacza on jednak śródtytułu (nagłówka) na stronie, ale zawarta między tymi znacznikami treść ukaże się w pasku tytułowym przeglądarki, a nie w dokumencie. Zadanie 2. We wcześniej stworzonym szablonie dokumentu dodaj znacznik <title>, wprowadź dowolny tekst tytułu, zapisz dokument i wyświetl w przeglądarce w celu sprawdzenia efektów. Sposób kodowania znaków: Język HTML musi mieć możliwość obsługi różnych rodzajów języków, a co za tym idzie różnych rodzajów znaków narodowych. W związku z tym zostały określone różne strony kodowe dla różnych języków i części świata. Dla naszego kraju odpowiednim standardem jest strona kodowa ISO-8859-2 Jest to strona kodowa działająca na wszystkich platformach systemowych: Windows, Unix, Linux, MacOS i wielu innych, dlatego projektując stronę internetową powinniśmy stosować tą normę. Oczywiście istnieje inna możliwość kodowania np. pod systemem Windows 1250, ale ten rodzaj kodowania zadziała tylko pod systemem Windows, a na pozostałych systemach może mieć efekty przez nas niepożądane. Dokumenty powinny być sporządzane w tym standardzie: <meta http-equiv="content-type" content="text/html; charset=iso-8859-2"> W przypadku pokazanym niżej użyto kodowania polskich liter stosowanego w Ms Windows co podano deklaracją: < meta http-equiv ="content-type" content ="text/html; charset =windows-1250"> Można również użyć skrótów rozpoznawanych przez przeglądarki i zastosować: <meta charset= iso-8859-2"> <meta charset= windows-1250"> 7
Zadanie 3. W swoim edytorze HTML utwórz nową stronę i wpisz na niej cały poniższy kod. Na stronie powinien znaleźć się tylko poniższy tekst. <!DOCTYPE html> <html> <head> <META HTTP-EQUIV="content-type" CONTENT="text/html; charset=iso-8859-2"> </head> <body> ą ć ę ł ń ó ś ź ż Ą Ć Ę Ł Ń Ó Ś Ź Ż </body> </html> Następnie powtórz operację wpisując charset= windows-1250. Zapisz dokumenty i wyświetl w przeglądarce w celu sprawdzenia efektów. Uwaga: Jeżeli nadal, pomimo kodowania ze znacznikiem <meta>, pojawiają się krzaczki zamiast właściwych polskich znaków oznacza to, że ustawienie kodowania nie może ograniczać się jedynie do ustawienia kodowania dla przeglądarek, gdzie aby strona WWW przyjęła i obsłużyła poprawnie kodowanie należy w sekcji <head></head> do dokumentu wstawić odpowiedni znacznik <meta> definiujący typ treści oraz kodowanie znaków w formacie "typ/treści; charset=kodowanie". Należy wrócić do edytora tekstu z tego powodu, że najczęściej nasze dane odczytuje przeglądarka w dokumencie html i mimo tego, że zapisaliśmy nasz tekst w poprawnym kodowaniu, to aby prawidłowo odczytać znaki należy ustawić kodowanie jeszcze w edytorze. Najczęściej przy otwieraniu pliku mamy okienko możliwością wybrania kodowania, można także na stałe w ustawieniach edytora ustawić odpowiednie. Jeśli stosujemy Windows 1250, to odpowiednikiem w edytorze jest ANSI. Dla ISO trzeba ustawić: Format/zestaw znaków/wschodnioeuropejskie i tu ISO -8859-2. Obecnie coraz częściej stosuje się jednak uniwersalny system kodowania UTF-8. O ile ISO-8859-2 jest standardem kodowania dla polskich znaków, to UTF-8 jest standardem kodującym wszystkie znaki specjalne itd. różnych alfabetów świata (język unicode). Możemy więc nie tylko ustawić kodowanie w edytorze na UTF-8, ale również ustawić kodowanie dla przeglądarek (zamiast standardu ISO) jako: <meta http-equiv="content-type" content="text/html; charset=utf-8"> lub <meta charset="utf-8"> Zadanie 4. W swoim edytorze HTML utwórz nową stronę i wpisz na niej cały poniższy kod. Na stronie powinien znaleźć się tylko poniższy tekst. 8
<!DOCTYPE html> <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> </head> <body> ą ć ę ł ń ó ś ź ż Ą Ć Ę Ł Ń Ó Ś Ź Ż </body> </html> Zapisz dokument i wyświetl w przeglądarce w celu sprawdzenia efektów. Pozostałe informacje z sekcji head: Description i keywords powinny być umieszczane do każdego artykułu oddzielnie, ab umożliwić odnalezienie przez wyszukiwarkę naszej strony. Słowa kluczowe wymieniamy rozdzielając je przecinkiem. Datę utworzenia dokumentu wpisujemy w formacie GMT, np.: "Tue, 20 Aug 1996 14:25:27 GMT". W Polsce strefa czasowa jest przesunięta o +1 godz. (czas zimowy) lub +2 godz. (czas letni). Dlatego w przypadku tworzenia daty GMT, należy odjąć od czasu lokalnego odpowiednio: 1 lub 2 godziny. Zadanie 5. Na podstawie przedstawionej przykładowej strony internetowej postaraj się odtworzyć zapis w języku HTML (dla sprawdzenia zapisz i wyświetl w przeglądarce). Treść wyświetlona na stronie przeglądarki: Inne informacje: Słowa kluczowe: szkodniki, chwasty, grzyby, rośliny, kwiaty, warzywa Autor: podaj swoje imię i nazwisko Dodatkowo: 9
Formatowanie czcionek i akapitów Nagłówki W języku HTML jest zdefiniowanych sześć poziomów nagłówków. Służą do tego znaczniki od <H1> do <H6>, gdzie znak h oznacza heading - nagłówek. Im mniejszy numer nagłówka, tym większą czcionką jest złożony. <h1> Nagłówek 1 </h1> <h2> Nagłówek 2 </h2> <h3> Nagłówek 3 </h3> <h4> Nagłówek 4 </h4> <h5> Nagłówek 5 </h5> <h6> Nagłówek 6 </h6> Jeśli uważa się, że element h1 wyświetlany przez przeglądarkę jest zbyt duży i niezgrabny, wystarczy zmienić to za pomocą arkusza stylów. Należy oprzeć się pokusie oznaczenia nagłówka innym elementem tylko po to, by wyglądał on lepiej (na przykład używając h3 w miejsce h1, by element ten nie był aż tak duży). W czasach kiedy obsługa arkuszy stylów nie była tak powszechna, w taki właśnie sposób nadużywano znaczników. Teraz, gdy istnieją arkusze stylów kontrolujące wygląd projektu, zawsze powinno się wybierać elementy zgodnie z tym, jak opisują one zawartość strony, i nie należy się przejmować domyślnym wyglądem nadawanym przez przeglądarkę. Zadanie 6. Do poprzednio stworzonej strony dodaj nagłówek (wyniki zapisz i wyświetl w przeglądarce): Zadanie 7. Dla porównania zapisz nagłówek wszystkimi rodzajami nagłówków. Formatowanie akapitów Nagłówki oraz akapity rozpoczynają się od nowych wierszy i nie są zapisane ciągiem jeden po drugim. Jest tak, ponieważ są one przykładami elementów blokowych (ang. Blocklevel element). Przeglądarki traktują elementy blokowe tak, jakby znajdowały się w małych prostokątnych pojemnikach, ułożone jeden na drugim. Każdy element blokowy rozpoczyna się od nowego wiersza i zazwyczaj nad całym elementem oraz pod nim domyślnie dodawany jest jakiś odstęp. Inaczej wygląda to w przypadku tekstu oznaczonego element wewnętrzny (ang. inline element). Elementy wewnętrzne nie rozpoczynają nowych wierszy, pozostają na swoim miejscu. Rozróżnienie pomiędzy elementami blokowymi a wewnętrznymi jest istotne. W języku (X)HTML to, czy element jest blokowy, czy wewnętrzny, wpływa na to, jakie elementy może zawierać. Nie można na przykład umieścić elementu blokowego wewnątrz elementu wewnętrznego (na przykład akapitu w środku odnośnika). Elementy blokowe oraz wewnętrzne zachowują się również inaczej, jeśli chodzi o stosowanie arkuszy stylów. 10
Akapit tekstu oznaczamy znacznikiem <p> (p = paragraph) Każdy tekst, który nie jest objęty specjalnym znacznikiem, jest interpretowany jako "masa tekstowa". Gdybyśmy wpisali dłuższy fragment tekstu, rozdzielając w edytorze akapity za pomocą klawisza Enter, przeglądarka zignoruje znaki końca wierszy i akapitów w edytorze i wyświetli jednolity blok tekstu. Aby naprawdę rozdzielić akapity, należy się posłużyć poleceniem <p>, które wstawi interlinie między poszczególne fragmenty tekstu, czyli spowoduje przejście do nowego wiersza i odsunięcie rozpoczynającego się akapitu od poprzedniego. <p> tekst danego akapitu </p> Oprócz akapitów istnieje możliwość oznaczenia bloku tekstu (który oczywiście może zawierać kilka akapitów). Blok tekstu oznaczany jest znacznikiem <div>. <div> Tak oznacza się blok tekstu <p> Blok tekstu może zawierać kilka akapitów </p> </div> Zadanie 8. Na podstawie przedstawionej przykładowej strony internetowej postaraj się odtworzyć zapis w języku HTML (dla sprawdzenia zapisz i wyświetl w przeglądarce). Treść wyświetlona na stronie: Elementy puste znaczniki puste Niektóre znaczniki nie mają zawartości tekstowej, ponieważ są one wykorzystywane jako proste instrukcje. O takich elementach mówi się, że są puste (ang. empty). Elementy puste to złamanie wiersza (br), linia pozioma (hr), a także elementy udostępniające informacje o dokumencie, jednak niewpływające na wyświetlaną treść, jak element meta. Składnia elementów pustych rożni się nieco w językach HTML oraz XHTML. W HTML elementy puste nie używają znaczników zamykających oznaczane są pojedynczym znacznikiem (na przykład <br>, <hr>) wstawianym do tekstu. W języku XHTML wszystkie elementy, włącznie z pustymi, muszą zostać zamknięte (zakończone). Elementy puste zamyka się, dodając na ich końcu, tuż przed nawiasem końcowym, ukośnik prawy poprzedzony spacją, jak w <img />, <br /> oraz <hr />. 11
Zmiana linii wewnątrz akapitu (przejście do nowego wiersza w ramach tego samego akapitu, czyli bez wstawiania odstępu) stosujemy tu znacznik <br> tekst <br/> nowa linia tekstu <p> W akapicie można wskazywać miejsce - <br />, od którego tekst będzie zaczynać się od nowej linijki </p> Uwaga: Niektóre znaczniki HTML ze swej natury wymuszają przejście do nowego wiersza, a wówczas nie ma potrzeby stosowania dodatkowo znacznika <br>, czy <p>. Są to m.in.: znaczniki nagłówkowe znaczniki list znaczniki tabel niektóre znaczniki formatujące Zadanie 9. Na podstawie przedstawionej przykładowej strony internetowej postaraj się odtworzyć zapis w języku HTML (dla sprawdzenia zapisz i wyświetl w przeglądarce). Treść przedstawiona na stronie: Formatowanie czcionek HTML miał być w zamierzeniach od początku wykorzystywany do nadawania znaczenia oraz struktury dokumentów prezentowanych na stronach WWW, jednak ta misja w początkowych latach istnienia Internetu została nieco wypaczona. Nie mając początkowo do dyspozycji systemu arkuszy stylów, rozszerzano HTML w taki sposób, by autorzy stron mogli zmieniać wygląd czcionek, kolory czy wyrównania. Te dodatki prezentacyjne nadal znajdują się w języku, dlatego można się na nie natknąć, przeglądając źródło dokumentu. 12
Najprostsze znaczniki do formatowania czcionek to: <b> tekst wytłuszczony </b> <i> tekst pochylony </i> <u> tekst podkreślony </u> <s> tekst przekreślony </s> Dodatkowo: <strong> tekst silnie wyróżniony (wytłuszczony) </strong> <strike> tekst przekreślony </strike> <blink> tekst migający </blink> <big> tekst powiększony </big> <small> tekst pomniejszony </small> <sub> tekst obniżony </sub> <sup> tekst podwyższony </sup> <center> tekst wyśrodkowany </center> <left> tekst dosunięty do lewej </left> Zadanie 10. Wprowadź znaczniki formatowana tekstu do edytora, zapisz i wyświetl w przeglądarce, aby zobaczyć rezultaty. Zadanie 11. Na podstawie przedstawionej przykładowej strony internetowej postaraj się odtworzyć zapis w języku HTML (dla sprawdzenia zapisz i wyświetl w przeglądarce). 13
Zachowanie formatowania kopiowanego tekstu Przeglądarki zwykle ignorują tzw. białe znaki (ang. white space), takie jak np. znaki spacji, znajdujące się w dokumentach źródłowych. W pewnych typach informacji, takich jak przykłady kodu czy utwory poetyckie, białe znaki są jednak istotne dla przekazywania znaczenia. Z tego powodu istnieje element sformatowanego tekstu (pre, od angielskiego preformatted sformatowany). Jest to unikalny element, który umożliwia wyświetlenie tekstu dokładnie w ten sposób, w jaki go wpisano. Tekst przeformatowany zachowuje spacje oraz tabulatory jeżeli zastosujemy znaczniki: <pre> Odpowiednio sformatowany tekst </pre> Zadanie 12. Odszukaj treść wiersza Leopolda Staffa Ogród przedziwny, a następnie stwórz kolejną stronę według wzoru (dla sprawdzenia efektów zapisz i wyświetl w przeglądarce): Centrum Ogrodnicze Rajski Ogród Tytuł (podkreślony) autor (podwyższony) i tekst wiersza (według znalezionego formatowania) Tworzenie list (wykazów) Język HTML obsługuje kilka formatów list, są to: lista numerowana (uporządkowana) lista wypunktowana (nieuporządkowana) lista słownikowa Każdy typ listy jest definiowany innymi znacznikami. Listy numerowane Wykaz uporządkowany służy do sporządzenia wykazu numerowanego, w którym istotna jest dla nas kolejność elementów. List uporządkowanych używamy gdy kolejność elementów ma znaczenie dla treści. Np. spis treści jest uporządkowaną listą elementów. Listę uporządkowaną definiuje się znacznikiem <ol> (ordered list), a poszczególne jej elementy przez <li> (list item). Przykład prostej listy numerowanej: <ol> <li> Punkt pierwszy </li> <li> Punkt drugi </li> <li> Punkt trzeci </li> <li> Punkt czwarty </li> <li> Punkt piąty </li> </ol> Treści stanowiących poszczególne pozycje listy nie należy rozpoczynać od kolejnych liczb, ponieważ zostaną one wyświetlone przez przeglądarkę automatycznie. 14
Zadanie 13. Na podstawie przedstawionej przykładowej strony internetowej postaraj się odtworzyć zapis w języku HTML (dla sprawdzenia zapisz i wyświetl w przeglądarce). Istnieje kilka sposobów numerowania list. W celu wybrania odpowiedniego sposobu numerowania stosuje się specjalne atrybuty type dla list <ol>. Atrybuty to instrukcje określające lub modyfikujące element. Składnia atrybutów jest następująca: <element nazwa-atrybutu= wartość > Zawartość </element> lub w przypadku elementów pustych: <element nazwa-atrybutu= wartość /> Argumenty: list-style-type: 1, 2, 3, 4 dziesiętne - decimal (jest to sposób używany standardowo i nie wymaga podawania żadnego atrybutu) 01, 02, 03, 04 dziesiętne z wiodącym zerem- decimal-leading-zero i, ii, iii, iv - liczby rzymskie małe - lower-roman I, II, III, IV - liczby rzymskie duże - upper-roman a, b, c, d litery małe - lower-alpha A, B, C, D - litery duże - upper-alpha wymienienie bez numeracji - none (nothing) Aby zdefiniować typ stylu wykazu, należy wpisać w definicji stylu: "list-style-type: wartość", np.: <ol style="list-style-type: upper-roman (lub inny atrybut)"> Jeżeli zaistnieje konieczność przerwania numerowania listy i wstawienia tekstu nienumerowanego, po czym chcemy kontynuować numerowanie stosujemy argument start. (zamykamy pierwszą listę znacznikiem </ol> wstawiamy tekst nie należący do listy, następnie rozpoczynamy kolejną listę znacznikiem <ol> z atrybutem start=n, gdzie n to liczba, od której wznawiamy numerowanie). Argument start wskazuje od jakiej cyfry/litery zaczynamy wyliczanie: <ol start= 5 (lub inna cyfra) > 15
Zadanie 14. Na podstawie przedstawionej przykładowej strony internetowej postaraj się odtworzyć zapis w języku HTML (dla sprawdzenia zapisz i wyświetl w przeglądarce). Możemy zagnieżdżać kilka poziomów listy uporządkowanej. Każdy kolejny, niższy poziom powinien zawierać własną definicję listy i powinien się kończyć jej zamknięciem. Należy pamiętać zawsze o stosowaniu znaczników domykających punkty listy, ponieważ nie domknięcie znacznika jest błędem we współcześnie stosowanych standardach webmasterskich. Wyjątkiem od zamykania punktów wykazu w tym samym wierszu jest wprowadzanie zagnieżdżonych wykazów niższego szczebla - zamknięcie punktu następuje po zagnieżdżonym wykazie. W trakcie zagnieżdżania wykazów niższego poziomu zamknięcie punktu wykazu nadrzędnego szczebla następuje za zagnieżdżonym wykazem. Kiedy zagnieżdża się listę nieuporządkowaną wewnątrz innej listy nieuporządkowanej, przeglądarka automatycznie zmienia styl znaku wypunktowania drugiej listy. Niestety, styl numerowania nie jest domyślnie zmieniany, kiedy zagnieżdża się listy uporządkowane. Należy to zrobić samodzielnie w arkuszu stylów. Naturalnie możemy swobodnie manipulować typami stylu wykazu, np. na pierwszym poziomie dać cyfry rzymskie, a na drugim arabskie, na pierwszym cyfry arabskie, a na drugim cyfry arabskie z wiodącym zerem, itd. 16
Przykład (złożonej) listy: <ol> (otwarcie listy na pierwszym poziomie) <li> Punkt 1 </li> <li> Punkt 2 (bez znacznika zamykającego) <ol> (otwarcie listy na drugim poziomie) <li> Podpunkt 2.1 </li> <li> Podpunkt 2.2 </li> </ol> (zamknięcie listy na drugim poziomie) </li> (zamknięcie Punktu 2) <li> Punkt 3 (bez znacznika zamykającego) <ol> (otwarcie listy na drugim poziomie) <li> Podpunkt 3.1 </li> <li> Podpunkt 3.2 </li> </ol> (zamknięcie listy na drugim poziomie) </li> (zamknięcie Punktu 3) </ol> (zamknięcie całej listy) Zadanie 15. Zmodyfikuj właściwie tekst źródłowy stworzony w poprzednim zadaniu, aby uzyskać następujący efekt: Listy wypunktowane: Wykaz nieuporządkowany - służy do sporządzenia wykazu nienumerowanego, w którym kolejne punkty są wyróżniane punktorami. Polecenie <ul> </ul> (od unordered list) tworzy ramy wykazu, natomiast polecenia <li> </li> (od list item element listy )wprowadzają konkretne punkty. Znacznik <ul> 17
Argumenty: list-style-type: disc wypełnione koło (jest to sposób używany standardowo i nie wymaga podawania żadnego atrybutu) o circle niewypełnione koło square wypełniony kwadrat Np: <ul style="list-style-type: disc"> Możemy zagnieżdżać kilka poziomów listy nieuporządkowanej. Każdy kolejny, niższy poziom powinien zawierać własną definicję listy i powinien się kończyć jej zamknięciem. <ul> (otwarcie listy na pierwszym poziomie) <li> Punkt 1 </li> <li> Punkt 2 (bez znacznika zamykającego) <ul> (otwarcie listy na drugim poziomie) <li> Podpunkt 2.1 </li> <li> Podpunkt 2.2 (bez znacznika zamykającego) <ul> (otwarcie listy na trzecim poziomie) <li> Podpunkt 2.2.1 </li> <li> Podpunkt 2.2.2 </li> </ul> (zamknięcie listy na trzecim poziomie) </li> (zamknięcie podpunktu 2.2) </ul> (zamknięcie listy na drugim poziomie) </li> (zamknięcie Punktu 2) <li> Punkt 3 (kontynuacja punktów pierwszego poziomu) </li> <li> Punkt 4 </li> </ul> (zamknięcie całej listy) W przypadku listy nienumerowanej również można dowolnie stosować atrybuty dla sposobu wyświetlenia podpunktów na różnych poziomach. Zadanie 16. Przekształć listę z zadania 15. w listę wypunktowaną, tak aby osiągnąć podany poniżej efekt: 18
Można również mieszać elementy listy numerowanej i punktowanej. Zadanie 17. Na podstawie przedstawionej przykładowej strony internetowej postaraj się odtworzyć zapis w języku HTML (dla sprawdzenia zapisz i wyświetl w przeglądarce). Definicje: Listy definicji, inaczej listy słownikowe (określane znacznikiem <dl> definition list) zawierają dwa rodzaje elementów termin (<dt> definition term) i jego objaśnienie, opis (<dd> definition description). <dl> </dl> Początek i koniec listy definicji <dt> </dt> Termin <dd>...</dd> Terść definicji <dl> początek listy definicyjnej <dt> pierwszy termin </dt> <dd> wyjaśnienie pierwszego terminu </dd> <dt> drugi termin </dt> <dd> wyjaśnienie drugiego terminu </dd> </dl> koniec listy definicyjnej Element <dl> może zawierać jedynie elementy <dt> oraz <dd>. Można umieścić kilka definicji dla jednego pojęcia oraz odwrotnie. Nie można umieszczać elementów blokowych (takich jak nagłówki 19
czy akapity) w pojęciach <dt>, ale w definicjach <dd> już tak mogą się tam znajdować dowolne elementy blokowe oraz wewnętrzne. Zadanie 18. Na podstawie przedstawionej przykładowej strony internetowej postaraj się odtworzyć zapis w języku HTML (dla sprawdzenia zapisz i wyświetl w przeglądarce). Listy definicyjne można również mieszać z listami numerowanymi i nienumerowanymi. Zadanie 19. Na podstawie przedstawionej przykładowej strony internetowej postaraj się odtworzyć zapis w języku HTML (dla sprawdzenia zapisz i wyświetl w przeglądarce). 20
Styl strony Style wbudowane (in-line) formatowanie konkretnego elementu w dokumencie HTML a. Stosuje się tu atrybut style w poszczególnym znaczniku HTML (np. <p>, <h1>, <hr/>) np. <selektor style="cecha: wartość; cecha2: wartość2...">...</selektor> Styl wbudowany pozwala na nadanie formatowania konkretnemu pojedynczemu elementowi strony. Dlatego właśnie styl tego rodzaju nazywa się także styl inline (ang. "w linii"), ponieważ jest wstawiany w tej samej linii, w której znajduje się element formatowany. O tym, który to będzie element, decyduje słowo kluczowe "selektor". Jest to pierwszy z elementów kaskadowych arkuszy stylów (CSS), które szerzej zostaną omówione później. Linia (oddzielanie) Czasem nie da się właściwie podzielić dokumentu za pomocą nagłówków, a jeśli chce się dodać separator rozdzielający części strony, można wstawić pomiędzy bloki tekstu element linii poziomej <hr/> (od "horizontal rule" - czyli wyliniowanie poziome). Element hr jest elementem pustym, więc po prostu wstawia się go w miejscu, w którym ma się pojawić linia, czyli pozioma kreska ciągnąca się przez całą szerokość okna, w którym została umieszczona. Ponieważ linie poziome są elementami blokowymi, zawsze rozpoczynają się od nowego wiersza, a nad nimi oraz pod nimi znajduje się odstęp. Znacznik <hr/> nie może być umieszczany wewnątrz akapitów. Służy on do ich oddzielania. 1. Znacznik linii poziomej - <hr /> Zadanie 20 Na podstawie przedstawionej przykładowej strony internetowej postaraj się odtworzyć zapis w języku HTML (dla sprawdzenia zapisz i wyświetl w przeglądarce). 21
Linii możemy nadać dowolną grubość i kolor: <hr style="height: 5px; color: red"/> Linia może mieć określoną długość w pikselach lub procentach: <hr style="width: 50%"/> height wysokość width - szerokość Wymienione kategorie określające sposób wyświetlenia linii mogą być łączone w jeden znacznik zawierający wszystkie interesujące nas elementy (wstawiamy go w miejscu gdzie chcemy wstawić linię. 2. <hr style="color: green; background-color: green; height: 3px; width: 50%" /> Zadanie 21. Na podstawie strony zmodyfikuj linie z poprzedniego zadania. (zapisz i sprawdź efekt wyświetlając w przeglądarce). 22
Kolor czcionki i tła: W podobny sposób możemy zmieniać kolor czcionki oraz tła dokumentu: Znaczniki stosowane w tych przypadkach to: Kolor czcionki w danym akapicie: <p style= color:blue > Kolor tła i tekstu w całym dokumencie: <body style="background-color: beige; color: blue"> Podstawowe kolory stosowane w języku HTML to: 23
Zadanie 22. Zmodyfikuj wcześniej stworzoną stronę zgodnie z przykładem poniżej. Zapisz i wyświetl w celu sprawdzenia w przeglądarce. Użycie innych nazw jest błędem i nie gwarantuje interpretacji we wszystkich obecnych i przyszłych przeglądarkach! W zamian należy używać kodów HEX. (szesnastkowych) Każdą barwę można utworzyć mieszając w odpowiednich proporcjach trzy kolory podstawowe: czerwony, zielony i niebieski (RGB - od angielskich słów: Red - czerwony, Green - zielony, Blue - niebieski). Nasycenie każdego z kolorów zapisujemy w definicji barwy w postaci: #RRGGBB, gdzie: RR - nasycenie koloru czerwonego; GG - nasycenie zielonego; BB - nasycenie niebieskiego (znak # oznacza, że definiujemy kolor w kodzie HEX). Wszystkie składowe muszą być podane w systemie szesnastkowym i poprzedzone znakiem #. Im większa liczba, tym jaśniejszy kolor. Liczba musi się składać z sześciu cyfr, nawet jeśli są to same zera! Przypominam, że w systemie szesnastkowym (HEX) jest szesnaście podstawowych cyfr: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F. Aby w prostszy sposób ustalić właściwy numer określający specyfikację koloru możemy skorzystać ze specjalnych programów lub stron internetowych, gdzie mamy wgląd w wygląd koloru, a system podaje nam odpowiednią kombinacje w kodzie HEX, np. http://www.colorpicker.com 24
Zadanie 23. Na podanej stronie stwórz własne kolory z odpowiednim zapisem w kodzie szesnastkowym i dowolnie zmodyfikuj wcześniej stworzoną stronę internetową (zapisz i wyświetl w przeglądarce w celu sprawdzenia wyników). Znaki specjalne: Znaki specjalne są często używane aby wstawić do dokumentu HTML znaki, których normalnie nie można użyć (ponieważ używany zestaw znaków, np. ISO-8859-2, na to nie pozwala), lub też dany znak jest trudny do wpisania (tzn. nie ma go na klawiaturze). Obecnie ze względu na możliwość zastosowania standardu kodowania znaków UTF-8 (lub innego opartego na Unicode) pierwszy argument stracił znacznie na aktualności, ale drugi nadaj jest aktualny. W dokumencie źródłowym w ich miejsce stosuje się tak zwane znaki ucieczki (ang. escape characters). Oznacza to, że zamiast wpisywać sam znak, zastępuje się go liczbowym lub nazwanym odniesieniem do znaku. Kiedy przeglądarka napotyka odniesienie do znaku, zastępuje je prawdziwym znakiem, w czasie gdy strona jest wyświetlana. Istnieją dwie możliwości odniesienia się do określonego znaku: za pomocą przypisanej mu wartości numerycznej (encji liczbowej) albo za pomocą zdefiniowanej skróconej nazwy tego znaku (nazywanej encją znakową). Wszystkie odniesienia do znaków rozpoczynają się od znaku & i kończą się średnikiem (;). Każdy znak specjalny musi rozpoczynać się od znaku ampersand "&", i kończyć znakiem średnika ";". Warto także wiedzieć że znaki specjalne HTML mogą zostać napisane na jeden z trzech sposobów: poprzez podanie nazwy znaku, np: & poprzez podanie kodu dziesiętnego znaku poprzedzonego znakiem "#", np: & poprzez podanie kodu szestnastkowego znaku poprzedzonego znakami "#x", np: & W poniższej tabeli znajdziesz wszystkie znaki specjalne które są najczęściej używane: Symbol Nazwa encji Numer encji & & & < < < > > > Spacja nierozdzielająca     Cent ¢ ¢ Funt £ £ Yen ¥ ¥ © © ® ® ° ° ± ± ± &dagger † &trade ™ 25
Jeśli chce się zobaczyć wszystkie, pełna lista odniesień do znaków została opublikowana w Internecie http://www.webstandards.org/learn/reference/charts/entities Zadanie 24. Na podstawie poniższej przykładowej strony internetowej zmodyfikuj wcześniej stworzoną przez Ciebie stronę wykorzystując właściwe znaki specjalne. Zapisz i sprawdź wyniki w przeglądarce. 1. Odsyłacze i odnośniki Odnośniki Odnośniki stosujemy głównie gdy chcemy się powołać na źródło, np. w cytatach. W cytatach stosujemy znaczniki: <q>...</q> - krótki cytat (od angielskiego quotation cytat) Zgodnie z rekomendacją HTML 4.01 przeglądarki zwykle automatycznie ujmują tekst tego znacznika w znaki cudzysłowu, dlatego nie należy wstawiać dodatkowych cudzysłowów ręcznie w dokumencie źródłowym. Wewnątrz tego znacznika umieszcza się treść krótkich cytatów, które nie zawierają żadnych akapitów, np.: Matthew Carter mówi: <q>nasz alfabet od wieków się nie zmienił.</q> 26
<blockquote>...</blockquote> - blok cytowany Jeśli powołujemy się na jakieś źródła, np. umieszczamy na stronie długi cytat, referencję czy fragment pochodzący z innego źródła, szczególnie gdy rozciąga się on na cztery wiersze lub więcej, można oznaczyć go za pomocą elementu <blockquote>. Każdy wiersz w bloku cytowanym rozpoczyna się zwykle tabulatorem (wcięciem). Zaleca się, by treść znajdująca się wewnątrz takich cytatów blokowych została ujęta w inne elementy, na przykład akapity, nagłówki czy listy, jak w poniższym przykładzie: <p>sławny projektant czcionek Matthew Carter mówi o swojej profesji:</p> <blockquote> <p>nasz alfabet od wieków się nie zmienił. Projektant niewiele może zrobić z poszczególnymi literami.</p> <p>podobnie jest z utworem z dziedziny muzyki klasycznej. Partytura jest rozpisana niewiele można z tym zrobić jednak każdy dyrygent interpretuje ją w odmienny sposób. W interpretacji drzemie siła.</p> </blockquote> <cite>...</cite> - odwołanie, odniesienie do źródła Element <cite> wykorzystywany jest do identyfikowania odniesienia do innego dokumentu, takiego jak książka (tytuł, imię i nazwisko autora), magazyn, artykuł i tym podobne. Można w nim więc umieścić np. imię i nazwisko autora, którego cytujemy (ale nie sam cytat!) albo tytuł książki, do której się odnosimy. Odwołania zazwyczaj wyświetlane są jako kursywa. Przykład: <p> Fragmenty niniejszego artykułu zostały napisane na podstawie książki <cite> Kompletny przewodnik po typografii </cite>, której autorem jest James Felici.</p> Możemy wstawić w bloku cytowanym informację ze źródłem cytowanego tekstu, jest to przydatne w sytuacji aktualizacji danych na stronie przez kilku administratorów. <blockquote cite= adres źródła ><p>..</p> </blockquote> np. <blockquote cite=" http://pl.wikipedia.org/wiki/leopold_staff "><p>..</p> </blockquote> Zadanie 25. Na podstawie przedstawionej poniżej przykładowej strony spróbuj odtworzyć zapis w języku HTML, aby uzyskać zbliżony efekt (dopisz do ćwiczenia ze skopiowaną treścią wiersza) Zapisz i wyświetl w przeglądarce w celu sprawdzenia. 27
Odsyłacze (linki od links - łączniki) Praktycznie na każdej stronie WWW spotyka się odsyłacze. Najczęściej stanowi je specjalnie wyróżniony krótki tekst (lub obrazek), po kliknięciu którego, następuje przeniesienie do innej strony. Przy czym strona taka może wchodzić w skład tego samego serwisu, ale równie dobrze może znajdować się na drugim końcu świata. Przeglądarki internetowe wyświetlają odsyłacze najczęściej w innym kolorze oraz podkreślają je, w ten sposób są one lepiej widoczne i odróżniają się od zwykłego tekstu. Do tworzenia odnośnika używa się znacznika <a> i </a> (od anchor zakotwiczenie) jest to znacznik kotwicy, czyli łącza hipertekstowego. Jest to atrybut (znacznik) łącza sprawiający, ze tekst ujęty w ten znacznik będzie wyróżniony od pozostałego tekstu na stronie (np. kolorem niebieskim) i stanie się łączem hipertekstowym. Podstawowym atrybutem znacznika <a> służącym do wskazania miejsca docelowego jest href (hypertext reference odwołanie hipertekstowe) służący do wskazania adresu URL (wprowadzany w... ), pod który mamy zostać przeniesieni: <a href=... > tekst, po kliknięciu na który następuje odesłanie w inne miejsce </a> Istnieją dwa sposoby podawania adresu URL: 1. Bezwzględny adres URL zawiera pełny adres dokumentu wraz z protokołem (http://), nazwą domeny oraz właściwą nazwą ścieżki. Kiedy wskazuje się dokumenty znajdujące się w Internecie, należy korzystać z tej formy. Przykład: href= http://www.helion.pl/ 28
2. Względny adres URL opisuje ścieżkę do pliku względem bieżącego dokumentu. Nie wymaga podawania nazwy protokołu ani domeny wystarczy sama ścieżka. Względne adresy URL mogą być wykorzystywane wtedy, gdy tworzy się odnośnik do dokumentu znajdującego się na naszej własnej stronie (to znaczy na naszym serwerze). Przykład: href= recipes/index.html Ważne: Ponieważ kotwice są elementami wewnętrznymi, mogą one zawierać jedynie inne elementy wewnętrzne lub tekst. Nie można pomiędzy znacznikami tego elementu umieścić akapitu, nagłówka lub innego elementu blokowego. 1. Linki do zewnętrznych stron (znajdujących się w Internecie) Umożliwiają zamieszczanie na stronie odsyłaczy (linków) dowolnych stron istniejących w Internecie. <a href="adres_url"> Widoczny tekst odsyłacza </a> Zadanie 26. Według poniższego przykłady strony internetowej stwórz link do strony umożliwiającej pobranie programu do otwierania dokumentów w MS Word. Odtworzoną z przykładu stronę zapisz i wyświetl w przeglądarce w celu sprawdzenia wyników. Adres strony w Internecie to: https://www.microsoft.com/pl-pl/download 29
Nowe okno Żeby otworzyć nowe okno za pomocą kodu (X)HTML, należy skorzystać z atrybutu target elementu kotwicy (<a>) w celu przekazania przeglądarce nazwy okna, w którym chce się otworzyć dokument z odnośnika. Należy ustawić wartość tego atrybutu na _blank lub na wybraną nazwę. W tej metodzie nie ma się kontroli nad wielkością otwieranego nowego okna, powinno ono jednak mieć taki sam rozmiar jak ostatnie otwarte okno w przeglądarce użytkownika. Jeśli chcemy, aby po kliknięciu odsyłacza otworzyło się nowe okno, należy wpisać następujący kod: <a href="adres_url target= _blank"> Widoczny tekst odsyłacza </a> Ustawienie target= _blank zawsze sprawia, że przeglądarka otwiera zupełnie nowe okno. Otwieranie nowych okien przeglądarki jest problematyczne z punktu widzenia dostępności. Nowe okna mogą być mylące dla niektórych użytkowników, szczególnie tych, którzy oglądają stronę ze pomocą czytnika ekranu lub innego narzędzia pomocniczego. Może to także być traktowane przez użytkowników jako złośliwość, a nie wygoda, szczególnie teraz, gdy jesteśmy bombardowani reklamami w wyskakujących oknach. Poza tym ponieważ użytkownicy często konfigurują swoje przeglądarki w ten sposób, by blokowały one wyskakujące okna, ryzykuje się tym, że zawartość nowego okna w ogóle nie dotrze do odwiedzających stronę. Zadanie 27. Przekształć odsyłacz z poprzedniego zadania, w ten sposób aby po kliknięciu strona docelowa, do której następuje przeniesienie, otwierała się w nowym oknie. 2. Linki do dokumentów na dysku lokalnym Oprócz linków do innych stron internetowych, które już istnieją w Internecie możemy tworzyć odnośniki do innych (naszych) stron, które mają zostać wzajemnie połączone. Odwołania do materiałów w tym samym folderze Najbardziej oczywistym względnym adresem URL, jaki można napisać, jest odnośnik do innego pliku z tego samego katalogu. Kiedy tworzy się taki odnośnik, wystarczy podać nazwę pliku. Jeśli adres URL jest samodzielną nazwą pliku, serwer szuka tego pliku w katalogu bieżącym (czyli katalogu zawierającym dokument (X)HTML, w którym znajduje się odnośnik). Jeżeli mamy drugi dokument zapisany w tym samym folderze stosujemy znacznik: <a href="nazwa_pliku.html"> Widoczny tekst odsyłacza </a> Bardzo ważne: w nazwach plików lepiej nie używać: wielkich liter znaków, np.: \ / : *? " < > spacji (jeśli musisz, w zamian używaj podkreślnika "_") polskich liter (ą, ć, ę, ł, ń... itd.) nie należy rozpoczynać od file://. - to wskazuje, że plik jest lokalny i sprawia, że odnośnik przestanie działać, kiedy strona znajdzie się na serwerze. 30
Jeśli nie zastosujesz się do tych zaleceń, może się okazać, że po wprowadzeniu strony do Internetu, pliki takie nie wczytają się (nawet jeśli na Twoim komputerze wszystko jest w porządku)! Zadanie 28. Do poprzedniego zadania dodaj kolejny odsyłacz przekierowujący do podstrony z diagnozowaniem liści, tak jak to widać w załączonym przykładzie. Zapisz i sprawdź wyniki w przeglądarce (możesz zastosować dowolnie otwieranie w tym samym oknie lub w nowym oknie w drugim przypadku rozszerz znacznik o atrybut <a target="_blank" href > ) Jeżeli plik z dokumentem, do którego ma zostać dokonane przekierowanie jest zapisany w innym folderze (katalogu dyskowym) należy atrybut <a href > uzupełnić o ścieżkę dostępu do tego dokumentu. Gdy dokument docelowy znajduje się w podfolderze <a href="nazwa_podfoldera/nazwa_pliku.html"> Widoczny tekst odsyłacza </a> W sytuacji gdyby była konieczność zejścia jeszcze o kolejne poziomy niżej to katalogi rozdziela się znakami ukośnika prawego (/). Element kotwicy dla takiego pliku mówi przeglądarce: W bieżącym katalogu odszukaj podkatalog o danej nazwie. Tam znajdziesz kolejny podkatalog o kolejnej nazwie, a w nim interesujący mnie plik html. Zawsze rozpoczyna się od nazwy katalogu znajdującego się w tej samej lokalizacji co plik bieżący i po każdej kolejnej nazwie katalogu umieszcza się znak ukośnika prawego dopóki nie dotrze się do pliku z odnośnika. 31
Gdy dokument docelowy znajduje się w nadrzędnym folderze <a href="../nazwa_pliku.html"> Widoczny tekst odsyłacza </a> W systemach Unix istnieje konwencja zapisu ścieżek do plików służąca właśnie do tego, zwana kropka-kropka-ukośnik (w oryginale dot-dot-slash ), czyli../. Kiedy rozpoczyna się ścieżkę do pliku od znaków../, jest to równoważne z nakazaniem przeglądarce, by wróciła o jeden poziom do góry w hierarchii katalogów, a dalej postępowała zgodnie z resztą ścieżki do pliku. Nie trzeba podawać nazwy katalogu znajdującego się na wyższym poziomie w ścieżce do pliku, ponieważ znaki../ ją zastępują. W celu przejścia o dwa poziomy w gorę hierarchii katalogów wystarczy dwukrotnie użyć zapisu kropka-kropka-ukośnik <a href="../../nazwa_pliku.html"> Widoczny tekst odsyłacza </a> Gdy dokument jest zapisany w dowolnym miejscu względem katalogu głównego Każda strona internetowa ma katalog główny, czyli zawierający wszystkie katalogi oraz pliki tej strony. Dotychczas wszystkie zaprezentowane ścieżki do plików były określane względem dokumentu zawierającego odnośnik. Innym sposobem zapisania ścieżki jest rozpoczęcie od katalogu głównego i wymienienie listy nazw podkatalogów aż do pliku, do którego prowadzić ma odnośnik. <a href= /nazwa _katalogu/nazwa_pliku.html> Widoczny tekst odsyłacza </a> Zgodnie z konwencją zapisu z Uniksa do katalogu głównego odnosi się za pomocą znaku ukośnika prawego (/) znajdującego się na początku ścieżki do pliku. Poniższa ścieżka określona względem katalogu głównego mówi: Przejdź do katalogu głównego strony, następnie otwórz katalog o określonej nazwie, a znajdziesz w nim plik html. Nie jest konieczne podawanie nazwy katalogu głównego w adresie URL zastępuje ją znak ukośnika prawego (/), który kieruje przeglądarkę do najwyższego poziomu w hierarchii katalogów strony. Stąd wystarczy tylko podać katalogi, w których przeglądarka ma szukać pliku. Ponieważ ścieżka do pliku w odnośniku rozpoczyna się od katalogu głównego, będzie działała z każdego dokumentu na serwerze bez względu na to, w jakim podkatalogu się on znajduje. Odnośniki tego typu przydają się w sytuacji, gdy określona treść może nie zawsze znajdować się w tym samym katalogu lub w przypadku materiałów generowanych dynamicznie. W ten sposób łatwo jest również kopiować i wklejać odnośniki między rożnymi dokumentami. Minus jest jednak taki, że takie odnośniki nie będą działały na komputerze lokalnym, gdyż będą określane względem twardego dysku. By sprawdzić, czy odnośniki działają poprawnie, trzeba będzie poczekać do umieszczenia strony na serwerze. Zadanie 29. Przetestuj powyższe odsyłacze umieszczając plik z podstroną diagnozowanie liści w podfolferze o nazwie artykuły. Spróbuj również zapisać ścieżkę odsyłacza rozpoczynając od katalogu głównego (mimo, że nie będzie działało hiperłącze przed wrzuceniem strony na serwer). 32
3. Link do określonych miejsc w dokumencie (etykiety) Można również utworzyć odnośnik do określonego miejsca na stronie. Przydaje się to jako skrót do informacji znajdującej się na samym dole bardzo długiej, przewijanej strony albo do szybkiego powrotu na gorę strony za jednym kliknięciem. Czasami odnośniki do określonych punktów strony określa się mianem odnośników do fragmentu dokumentu. Tworzenie odnośnika do miejsca znajdującego się na tej samej stronie jest procesem składającym się z dwóch etapów. Najpierw należy zidentyfikować miejsce docelowe, a następnie utworzyć do niego odnośnik. Dzięki stosowaniu znaczników miejsc docelowych dla tzw. etykiet, nawigacja w serwisie staje się dużo łatwiejsza. Po kliknięciu odsyłacza do etykiety, przeglądarka internetowa przenosi użytkownika bezpośrednio do podrozdziału, a nie na początek strony, przez co nie jest on zmuszony do samodzielnego odszukania wybranego tematu (co w przypadku obszernych dokumentów mogłoby długo potrwać). Etykietę można zdefiniować w dowolnym miejscu strony Etykieta - inaczej zakładka lub kotwica - to pewne zaznaczone miejsce na stronie. Jeśli zdefiniujemy taką zakładkę, będziemy mogli się później do niej bezpośrednio przenosić. Etykiety są wykorzystywane, gdy w jednym dokumencie znajduje się więcej ważnych miejsc - podrozdziałów, a wstawienie ich do osobnych plików, byłoby uciążliwe, ze względu na ich liczbę. Krok 1. Nazwanie miejsca docelowego Żeby utworzyć miejsce docelowe, należy wykorzystać atrybut id do nadania elementowi docelowemu unikalnej nazwy (unikalnej w tym sensie, że w dokumencie może wystąpić raz, a nie w znaczeniu wyjątkowo fajnej i interesującej). Jeśli chcemy używać etykietę, najpierw należy ją zdefiniować w wybranym miejscu strony za pomocą polecenia: <znacznik id= nazwa_etykiety > Widoczny tekst etykiety </znacznik> np. etykieta jest podpięta do nagłówków: <h2 id= nazwa_etykiety >H</h2> Dawnym sposobem identyfikowania miejsca docelowego w dokumencie było umieszczanie w nim nazwanej kotwicy. Nazwana kotwica to element a wykorzystujący atrybut name do udostępnienia unikalnego identyfikatora w miejsce atrybutu href, na przykład: <h2><a name="nazwa_etykiety"> H </a></ h2> Nazwane kotwice nie są podkreślane, kiedy strona wyświetlana jest w przeglądarce. Atrybut name nie jest już w XHTML wykorzystywany w połączeniu z elementem a, dlatego zaleca się identyfikowanie samego elementu za pomocą atrybutu id. Krok 2. Utworzenie odnośnika do miejsca docelowego Kiedy identyfikator jest gotowy, następnie możemy się do niej odwoływać, zarówno z tej samej, jak i z innej strony, za pomocą zwykłych odsyłaczy. Tak jak w przypadku każdego odnośnika, element a wraz z atrybutem href wykorzystano do określania lokalizacji odnośnika. Żeby wskazać, że odnośnik kieruje do fragmentu strony, należy użyć symbolu krzyżyka (#) przed nazwą tego fragmentu określoną za pomocą elementu id: <a href="#nazwa_etykiety"> Widoczny tekst odsyłacza </a> 33
Istnieją dwa rodzaje odsyłaczy do etykiet: 1. Etykieta zdefiniowana na tej samej stronie <h2 id="nazwa_etykiety > Widoczny tekst etykiety </h2> (...) jakiś tekst na stronie oddzielający link od miejsca, do którego chcemy się przenieść <a href="#nazwa_etykiety"> Widoczny tekst odsyłacza </a> 2. Etykieta zdefiniowana na innej stronie Na stronie, do której ma nastąpić przeniesienie w odpowiednim miejscu umieszczamy etykietę <h2 id="nazwa_etykiety"> Widoczny tekst etykiety </h2> Na stronie gdzie mamy link umieszczamy odsyłacz: <a href="ścieżka dostępu lub adres internetowy#nazwa_etykiety">widoczny tekst odsyłacza </a> Zadanie 30. a) Stwórz kolejną podstronę w języku HTML według podanego przykładu (wykorzystaj tekst podany w dodatkowym dokumencie Word, aby zaoszczędzić czas na przepisywanie ręczne): 34
b) W obrębie tej strony dodaj odsyłacze wykorzystując listę umieszczoną na górze strony i nagłówki nad poszczególnymi akapitami. c) Wstaw odsyłacze na stronie głównej z listą Najnowsze artykuły (wykorzystywana wcześniej na tych ćwiczeniach, aby na niej wygląd zmienił się tak jak na przykładzie poniżej) do poszczególnych akapitów na stworzonej w tym zadaniu stronie 35
d) Wstaw odsyłacz do całej strony stworzonej w tym zadaniu (podlinkuj na liście Najnowsze artykuły podpunkt Wersja HTML ) e) W ten sam sposób podlinkuj podstronę ze słowniczkiem (zadanie z poprzednich zajęć, gdzie była tworzona lista definicyjna) f) Zapisz dokument w Wordzie z tekstem wykorzystanym do strony stworzonej w tym zadaniu w swoim folderze na komputerze, a następnie podlinkuj go korzystając z podpunktu Dokument Microsoft Word znajdujący się na stronie z lista Najnowsze artykuły. 36
4. Odsyłacze pocztowe. Dość często spotykanym odsyłaczem na stronach WWW jest konstrukcja umożliwiająca czytelnikowi strony wysłać pocztę elektroniczną do jakiejś osoby (np. autora). Po kliknięciu takiego odnośnika, list oczywiście nie zostanie wysłany natychmiastowo, lecz nastąpi otwarcie domyślnego programu pocztowego użytkownika (np. Outlook Express), w którym będzie on mógł wpisać treść listu, a potem go wysłać do wskazanego adresata, którego e-mail pojawi się automatycznie. Konstrukcja takiego odsyłacza wygląda następująco: <a href="mailto:adres e-mail"> Tekst odsyłacza </a> np. <a href=mailto:3rok.infotmatyka@gmail.com> Wyślij do mnie e-maila (czy inny tekst odsyłacza) </a> W miejscu wyświetlenia komunikatu można umieścić adres e-mail, by był widoczny bezpośrednio na ekranie przeglądarki, np.: <a href=mailto:3rok.infotmatyka@gmail.com> 3rok.infotmatyka@gmail.com </a> Zadanie 31. Do stworzonej strony z listą Najnowsze artykuły dodaj kontakt z administratorem strony, aby uzyskać poniżej przedstawiony efekt (jako adres mailowy podaj: 3rok.informatyka@gmail.com) 37
5. Dymek narzędziowy W celu uzyskania dodatkowych informacji o stronie, do której ma nastąpić przeniesienie możemy zastosować dodatkowy znacznik, który skutkuje tym, że po wskazaniu odsyłacza myszką, wyświetli się tekst pomocniczy w "dymku" narzędziowym. Wymagane jest tu zastosowanie atrybutu title="...". <a href="odsyłacz tworzony jak wcześniej" title="treść podana w dymku">treść odsyłacza</a> Zadanie 32. Dodaj dymek narzędziowy o treści Wyślij do manie e-mail do właściwej opcji na stronie z listą Najnowsze artykuły. 8. Arkusze stylów Arkusze stylów służą do formatowania treści i wyglądu strony. Arkusz stylów składa się z jednej lub większej liczby instrukcji stylów (nazywanych regułami) opisujących, w jaki sposób element lub grupa elementów powinny być wyświetlane. Pierwszym krokiem w nauce CSS jest zapoznanie się z częściami reguły. Są one dość intuicyjne. Każda reguła wybiera element i deklaruje, w jaki sposób powinien on działać. Poniższy przykład zawiera regułę, która sprawia, że wszystkie elementy <h1> w dokumencie będą zielone: h1 { color: green; } W terminologii CSS dwie główne części reguły to selektor (ang. selector) identyfikujący element lub elementy, na które reguła ma wpływ, oraz deklaracja zawierająca instrukcje dotyczące wyświetlania. Deklaracja z kolei składa się z właściwości (ang. properties) (takiej jak color) oraz jej wartości (ang. values) (jak green) rozdzielonych dwukropkiem i spacją. Deklaracje umieszcza się wewnątrz nawiasów klamrowych. Deklaracja składa się z pary właściwość-wartość. W pojedynczej regule może znajdować się większa liczba deklaracji. Każda deklaracja musi się kończyć średnikiem w celu oddzielenia jej od kolejnej deklaracji. Nawiasy klamrowe oraz deklaracje, które one zawierają, często określa się mianem bloku deklaracji (ang. declaration block). Sposoby umieszczania stylów w dokumentach HTML określane są jako: 1. Style wbudowane (in-line) formatowanie konkretnego elementu w dokumencie HTML a. Stosuje się tu atrybut style w poszczególnym znaczniku HTML (np. <p>, <h1>, <hr/>) np. <selektor style="cecha: wartość; cecha2: wartość2...">...</selektor> 38
Styl wbudowany pozwala na nadanie formatowania konkretnemu pojedynczemu elementowi strony. Dlatego właśnie styl tego rodzaju nazywa się także styl in-line (ang. "w linii"), ponieważ jest wstawiany w tej samej linii, w której znajduje się element formatowany. O tym, który to będzie element, decyduje słowo kluczowe "selektor" (widoczny powyżej, w deklaracji stylu). Właściwości oraz wartości można więc zastosować do pojedynczego elementu za pomocą atrybutu style umieszczonego w tym elemencie, jak poniżej: <h1 style= color: red >Wprowadzenie</h1> By dodać kilka właściwości, wystarczy rozdzielić je średnikami, jak w poniższym przykładzie: <h1 style= color: red; margin-top: 2em >Wprowadzenie</h1> Style wewnętrzne (ang. inline styles) mają zastosowanie tylko do elementu, w którym się pojawiły. Powinno się unikać ich stosowania, o ile nadpisanie stylów pochodzących z osadzonego lub zewnętrznego arkusza stylów nie jest absolutnie konieczne. Style wewnętrzne są dość problematyczne, ponieważ umieszczają one informacje o prezentacji wewnątrz kodu nadającego dokumentowi strukturę. Sprawiają także, że wprowadzanie zmian jest o wiele trudniejsze, ponieważ w kodzie źródłowym trzeba w takim przypadku odnaleźć każde wystąpienie atrybutu style. 2. Style osadzone (embedded), zwane inaczej stylami wewnętrznymi (internal) formatują całe dokumenty a. Stosuje się element (znacznik) <style> w sekcji <head> <html> <head> <style type= text/css > selektor 1{ cecha: wartość; cecha2: wartość2... } selektor 2{ cecha: wartość; cecha2: wartość2... } </style> </head> <body> </body> </html> Umieszczane są w dokumencie za pomocą elementu style, a ich reguły odnoszą się tylko do danego dokumentu. Wewnętrzny arkusz stylów wstawia się zawsze w części nagłówkowej dokumentu (pomiędzy znacznikami <head> a </head>) i musi zawierać atrybut type identyfikujący zawartość elementu style jako text/css (aktualnie jest to jedyna dopuszczalna wartość). Można go zastosować, gdy elementy które pragniemy poddać formatowaniu, występują wielokrotnie na stronie i wszystkim chcemy nadać takie same atrybuty (inne niż domyślne). Na przykład chcemy, aby wszystkie paragrafy miały automatycznie kolor zielony. Wystarczy wpisać odpowiednią deklarację stylów w arkuszu (w treści nagłówkowej) i nie trzeba już nic dopisywać przy samym elemencie. Poniższy przykład zawiera również komentarz Czasami przydaje się możliwość pozostawienia w arkuszu stylów komentarzy. Specyfikacja CSS ma własną składnię komentarzy, zaprezentowaną poniżej: /* miejsce na komentarz */ 39
Treść znajdująca się pomiędzy znakami /* oraz */ zostanie zignorowana podczas analizy arkusza stylów, co oznacza, że komentarz można zostawić w dowolnym miejscu arkusza nawet wewnątrz reguły, np.: body { font-size: small; /* tymczasowo */ }). <head> <title>miejsce na wymagany tytuł dokumentu</title> <style type= text/css > /* miejsce na reguły stylow */ </style> </head> 3. Style dołączane, inaczej zwane zewnętrznymi (external) a. Stosuje się odnośnik do zewnętrznego arkusza stylów CSS, w którym określony jest wygląd poszczególnych elementów na stronie W pliku HTML wstawiamy link do pliku CSS: <html> <head> <link rel="stylesheet" type="text/css" href="nazwa_pliku.css" /> </head> <body> </body> </html> W pliku CSS wstawiamy: selektor 1{ cecha: wartość; cecha2: wartość2... } selektor 2{ cecha: wartość; cecha2: wartość2... } Zewnętrzny arkusz stylów jest odrębnym dokumentem tekstowym, który zawiera pewną liczbę reguł stylów. Musi mieć rozszerzenie.css. Odnośnik do tego dokumentu.css podawany jest następnie w dokumentach (X)HTML lub też jest do nich importowany. Pozwala on zdefiniować takie samo formatowanie określonych elementów na wielu stronach jednocześnie. Dzięki temu, za pomocą tego jednego arkusza stylów (.css), wszystkie nasze strony w obrębie całego serwisu mogą mieć pewne wspólne cechy. W ten sposób wszystkie liki witryny internetowej mogą korzystać z jednego arkusza stylów. To rozwiązanie daje największe możliwości i jest też preferowaną metodą dołączania arkuszy stylów do treści dokumentów. Jeśli w ostatniej chwili zdecydujemy się zmienić np. rodzaj czcionki na wszystkich stronach, możemy to zrobić, modyfikując jedynie zewnętrzny arkusz stylów, bez konieczności zmiany każdej strony osobno. 40
Zadanie 33. a) Przekształć poprzednie zadanie 24 (gdzie formatowane były kolory czcionek, tło, linie przy użyciu stylu wbudowanego) w ten sposób, aby wygląd strony pozostał bez zmian, ale aby został zastosowany styl osadzony (wewnętrzny) do sformatowania strony. b) Przekształć poprzednie zadanie 24 (gdzie formatowane były kolory czcionek, tło, linie przy użyciu stylu wbudowanego) w ten sposób, aby wygląd strony pozostał bez zmian, ale aby został zastosowany styl zewnętrzny do sformatowania strony (arkusz stylów nazwij style.css). Kaskadowe arkusze stylów Style trzech wcześniej omawianych rodzajów (dołączane, osadzane i wbudowane) mogą być swobodnie ze sobą mieszane w tym samym dokumencie. Na przykład: na naszej stronie używamy zewnętrznego arkusza stylów, deklaracji stylów w nagłówku strony, a także stylów typu inline, przy czym dotyczą one formatowania dokładnie tego samego elementu (np. kroju czcionki). Co się stanie w takim przypadku? Czy nie powstaną konflikty? A może komputer się "zawiesi"? Nic z tych rzeczy! A to właśnie ze względu na kaskadowość. Kaskadowość stylów określa pierwszeństwo w oddziaływaniu na te same elementy strony stylów z różnych źródeł. To od niej wzięły swoją nazwę style: CSS - (ang. Cascading Style Sheets) Kaskadowe Arkusze Stylów. Jeśli w dokumencie znajduje się kilka źródeł stylów, pierwszeństwo mają te, które znajdują się "bliżej" formatowanego elementu. Zatem priorytet ważności stylów (pierwszeństwo) wyglądałby tak: 1. Styl lokalny (inline) 2. Rozciąganie stylu (<span>) 3. Wydzielone bloki (<div>) 4. Wewnętrzny arkusz stylów 5. Import stylów do wewnętrznego arkusza 6. Zewnętrzny arkusz stylów 7. Import stylów do zewnętrznego arkusza 8. (Atrybuty prezentacyjne HTML - np. align="...", bgcolor="...", color="...", height="...", width="..." i inne) 41
Kaskadowość stylów pozwala zatem pracować z kilkoma źródłami stylów, bez obawy o wystąpienie konfliktów. Takie rozwiązanie jest bardzo wygodne, ponieważ możemy np. zdefiniować ogólny wygląd naszego serwisu w zewnętrznym arkuszu i dodatkowo zmienić nieco wybrane strony poprzez wewnętrzny arkusz, a jeśli zajdzie konieczność zmodyfikować pojedyncze elementy za pomocą stylu lokalnego. Zadanie 35. W poprzednim ćwiczeniu, gdzie styl formatowania został ustawiony jako styl zewnętrzny (w arkuszu style.css) dodaj w pojedynczym paragrafie lub nagłówku inne formatowanie (inny kolor czcionki) w celu sprawdzenia, który z nich będzie stanowił wartość nadrzędną odczytywaną przez przeglądarkę. Szczegółowe przykłady formatowania: Kilka cech dla jednego selektora: np. <style> hr { color: red; background-color: red; height: 10px; width: 50%;} </style> Jedna cecha dla kilku selektorów np. <style> h1, h2, h3, h4, h5, h6 { color: red} </style> Jeśli chce się zastosować tę samą właściwość stylu do większej liczby elementów, można pogrupować selektory w jedną regułę, rozdzielając je przecinkami. Jedna reguła daje wtedy ten sam efekt co pięć reguł wymienionych wcześniej. Pogrupowanie ich sprawia, że przyszłe edycje dokumentu wykonywane będą w sposób bardziej wydajny, a dodatkowo sam plik będzie miał mniejszy rozmiar, np.: h1, h2, p, em, img { border: 1px solid blue; } Teraz znamy już dwa rodzaje selektorów prosty selektor elementów oraz selektory pogrupowane. Element zagnieżdżone (np. listy) np. <style> ul {list-style-type: square} - pierwszy poziom ul ul {list-style-type: disc} - drugi poziom ul ul ul {list-style-type: circle} - trzeci poziom </style> 42
3. Wielkość liter: font-size np. <style> h1 { color: red; font-size: 14px;} </style> Jednostki miary w CSS W specyfikacji CSS2 podano różne jednostki miary. Generalnie dzielą się one na dwie ogólne kategorie: bezwzględne oraz względne. Jednostki bezwzględne Jednostki bezwzględne mają zdefiniowane znaczenie lub odpowiedniki w świecie rzeczywistym. pt punkty (zgodnie z CSS2.1, 1 punkt równy jest 1/72 cala) pc pica (1 pica = 12 punktów) mm milimetry cm centymetry in cale Powinno się unikać określania wielkości na stronach internetowych w jednostkach bezwzględnych, ponieważ nie są one właściwe dla ekranu komputera. Jeśli jednak tworzy się arkusz stylów dla dokumentu drukowanego, jednostki bezwzględne są dobrym rozwiązaniem. Jednostki względne Jednostki względne oparte są na jakiejś innej wielkości, na przykład domyślnej wielkości tekstu czy rozmiarze elementu rodzica. em jednostka miary odpowiadająca aktualnej czcionce ex wielkość zbliżona do wysokości litery x danej czcionki px piksel; zaliczany do jednostek względnych, ponieważ jego wielkość różni się w zależności od rozdzielczości ekranu w szczególności w przypadku porównania niskiej rozdzielczości ekranu z wysoką rozdzielczością materiałów drukowanych % wartości procentowe; choć jako tako nie są jednostką miary, są innym sposobem na określenie wielkości w sposób względny Zaleca się wykorzystywanie em, wartości procentowych oraz połączenia tych dwóch możliwości w określaniu wielkości tekstu. Rozmiar tekstu można określić na kilka sposobów: Podając konkretną wartość z wykorzystaniem jednej z miar długości używanych w CSS (kompletna lista znajduje się w ramce Jednostki miary w CSS ) jak poniżej: h1 { font-size: 1.5em; } Kiedy podaje się wielkość jako liczbę jednostek, nie należy wstawiać znaku spacji pomiędzy liczbą a skrótem jednostki, jak poniżej: NIEPOPRAWNE h1 { font-size: 1.5 em; } /* spacja przed em */ Podając wartość procentową, zmniejszającą lub zwiększającą rozmiar domyślny lub odziedziczony elementu: h1 { font-size: 150%; } 43
Wykorzystując jedno z bezwzględnych słów kluczowych: xx-small (bardzo, bardzo mała), x -small (bardzo mała), small (mała), medium (średnia), large (duża), x-large (bardzo duża), xx-large (bardzo, bardzo duża). W większości aktualnych przeglądarek medium odpowiada domyślnej wielkości czcionki: h1 { font-size: x-large; } Wykorzystując względne słowo kluczowe (larger większa lub smaller mniejsza) w celu wyświetlenia tekstu jako większy lub mniejszy od otaczającego go: h1 { font-size: larger; } Pomimo istnienia wszystkich tych opcji jedynymi akceptowanymi wartościami dla właściwości fontsize w nowoczesnym projektowaniu stron internetowych są wielkości podawane w em, wartościach procentowych oraz za pomocą słów kluczowych. Są one preferowane, ponieważ pozwalają użytkownikom na zmianę wielkości tekstu z wykorzystaniem opcji dostępnej w przeglądarce. Oznacza to, że można dowolnie zmieniać rozmiar tekstu (na przykład definiować go jako mniejszy od najczęściej spotykanego domyślnego rozmiaru szesnastu pikseli), jednak jednocześnie zachować pewność, że użytkownicy będą mogli powiększyć tekst, jeśli będą mieli taką potrzebę lub chęć. Choć może się wydawać kuszące, by podawać tekst w pikselach, żadna z wersji przeglądarki Internet Explorer nie pozwala na zmianę wielkości tekstu zdefiniowanego w pikselach. Oznacza to, że użytkownicy zostaną pozostawieni z czcionką o wielkości dziesięciu czy jedenastu pikseli, nawet jeśli nie będą jej w stanie odczytać. Absolutnie nie powinno się tego robić ze względu na dostępność strony. Dodatkowo wszystkie jednostki bezwzględne, takie jak pt, pc, in, mm oraz cm, są odrzucane, ponieważ nie mają zastosowania do monitorów komputerów (choć mogą być użyteczne w arkuszach stylów przeznaczonych dla druku). 4. Czcionka: font-family: np. W arkuszu stylu (wewnętrznym lub zewnętrznym) do wyboru kroju czcionki czy też rodziny czcionek stosujemy właściwość font family: p {font-family: Arial, Helvetica, sans-serif} W znaczniku (stylu in-line): <p style="font-family: Arial, Helvetica, sans-serif"> Podanie kilku rodzajów czcionek spowoduje, że jeśli użytkownik nie będzie posiadał pierwszego, to zostanie wybrany następny w kolejności. Najlepszym sposobem na określenie czcionek dla strony internetowej jest rozpoczęcie od naszego pierwszego wyboru, podanie podobnych alternatyw, a na końcu podanie rodziny gatunkowej, by użytkownicy mogli otrzymać przynajmniej czcionkę o właściwym stylu. Właściwość font-family wykorzystuje się do podania czcionki lub listy czcionek zgodnie z ich nazwami, jak w poniższych przykładach: 44
body { font-family: Arial; } h1 { font-family: Courier, monospace; } p { font-family: Trebuchet MS, Verdana, sans-serif; } Wszystkie nazwy czcionek z wyjątkiem rodzin gatunkowych muszą być pisane wielką literą, jak na przykład Arial w miejsce arial. Warto zwrocić uwagę na to, że nazwy czcionek zawierające znaki spacji (jak Trebuchet MS w trzecim przykładzie) muszą znajdować się w cudzysłowie. Przecinkami rozdziela się z kolei kilka nazw czcionek, co widać w drugim i trzecim przykładzie. Oprócz podania rodzaju czcionki wprost, możliwe jest także wpisanie rodziny ogólnej: o serif - czcionka szeryfowa (końcówki znaków posiadają "ozdobniki" - dekoracyjne szeryfy, wyglądające jak niewielkie pociągnięcia pędzlem, na końcu niektórych kresek liter), np.: Times New Roman, Georgia, Garamond, Bodoni o sans-serif - czcionka bezszeryfowa (końcówki znaków są proste - mają proste kreski liter, na końcach których brakuje szeryfow, generalnie uznawane są za łatwiejsze do odczytania na ekranie komputera), np.: Arial, Verdana, "Trebuchet MS, Helvetica, Univers, Futura o monospace - czcionka o stałej szerokości znaków - monotypiczna (wygląda, jak pisana na maszynie) - wszystkie znaki zajmują tę samą ilość miejsca w wierszu. Wielka litera W nie będzie na przykład szersza od małego i, np.: Courier, Courier New, Andale Mono o cursive - czcionka mająca pewne cechy pochyłej (wygląda, jak pisana ręcznie) - rzadko są stosowane na profesjonalnych stronach internetowych, np. Apple Chancery, Zapf- Chancery, Comic Sans o fantasy - czcionka fantazyjna (dekoracyjna) - mają czysto dekoracyjny charakter i nadają się do zastosowania w nagłówkach i podobnych elementach strony. Czcionki fantazyjne rzadko wykorzystywane są na stronach internetowych ze względu na brak dostępności na rożnych platformach oraz ograniczoną czytelność.,np. Impact, Western 45
Style czcionki: o Pogrubienie: font-weight normal - czcionka normalna (podstawowa) bold - czcionka pogrubiona 100, 200, 300, 400 (odpowiednik "normal"), 500, 600, 700 (odpowiednik "bold"), 800, 900 - każdy następny numer wskazuje wagę czcionki przynajmniej tak samo wytłuszczonej jak dla poprzedniej wartości w sekwencji np. p {font-weight: bold} <p style="font-weight: bold"> o Kursywa: font-style normal - czcionka normalna (podstawowa) italic - czcionka pochylona (jeżeli niedostępna, automatycznie wybierany jest styl oblique) oblique - również czcionka pochylona (podobna jak poprzednio - Różnica polega na tym, że italic to tak naprawdę osobno zaprojektowany krój czcionki z nachylonymi literami, natomiast oblique to zwykły krój czcionki nachylony przez przeglądarkę, w większości przeglądarek oba mogą wyglądać identycznie, np. p {font-style: italic} <p style="font-style: italic"> Właściwość font musi zawierać przynajmniej wartość font-size oraz font-family w tej właśnie kolejności. Pominięcie jednej z tych wartości lub umieszczenie ich w złej kolejności sprawia, że cała reguła staje się nieważna. Po spełnieniu wymagań związanych z umieszczeniem rozmiaru oraz rodziny czcionek pozostałe wartości są opcjonalne i mogą się pojawić w dowolnej kolejności przed wartością font-size. Dekoracja tekstu: text-decoration p{text-decoration: underline} inne: - none - bez zmian - underline - podkreślenie - line-through - przekreślenie - overline - nadkreślenie - blink - migotanie tekstu (tylko Netscape/Mozilla/Firefox i Opera) Ułożenie tekstu (wyrównanie): text-align h1 {text-align: center} inne wartości argumentu text-align: - left - wyrównanie do lewej - center - wyśrodkowanie - right - wyrównanie do prawej - justify - wyjustowanie 46
Odstępy: o Miedzy literami: letter-spacing <p style="letter-spacing: 1px> Ten tekst będzie zawierał określona szerokość miedzy literami.</p> p {letter-spacing: 1px} o Miedzy wyrazami: word-spacing h1, h2, p {word-spacing: 4px} o Między wierszami (interlinia): line-height p {line-height: 150%} lub p {line-height: 2} Akapity: o Wcięcie pierwszego wiersza w nowym akapicie: text-indent p {text-indent: 20px} o Marginesy: margin p {margin: 20px} wszystkie marginesy będą takie same lub body { margin-top: 100px; margin-right: 40px; margin-bottom: 10px; margin-left: 70px;} każdy margines ustawiany osobno 47
gdzie: o Margines wewnętrzny (wypełnienie, dopełnienie): padding Umożliwia określenie odległości pomiędzy tekstem akapitu, nagłówka, komórki tabeli, itp. od innych elementów znajdujących się przed i za tym obiektem, jest przydatne również w połączeniu tekstu z tłem znajdującym się pod nim (szerokość zakreślenia) p {padding: 20px} wszystkie odległości będą równe lub p { padding-top: 20px; padding- right: 10px; padding-bottom: 20px; padding-left: 10px;} Obramowanie akapitu o Typ obramowania: border-style p {border-style: solid} całe obramowanie lub p { border-top-style: dotted; border-bottom-style: dotted border-left-style: solid border-right-style: solid } 48