O kursie
Kilka słów na temat przeznaczenia oraz historia kursu.
Gdy w czerwcu 2002 r. tworzyłem pierwszą wersję kursu HTML, jego głównym celem było usystematyzowanie, pogrupowanie i opisanie wszystkich aktualnie zalecanych elementów oraz atrybutów języka HTML. Niedługo potem dodałem pełny opis stylów CSS.
Organizacja World Wide Web Consortium od lat wyznacza standardy języków HTML i CSS, które powinny być przestrzegane przez producentów przeglądarek. Firmy nie stosują się jednak do tych zaleceń i często wprowadzają w swoich przeglądarkach własne elementy języka HTML czy CSS, które nie działają poprawnie w pozostałych programach.
Kurs ma nauczyć posługiwania się tylko tymi poleceniami języka HTML i CSS, które mają przyszłość i są lub będą poprawnie interpretowane w każdej przeglądarce. Niektóre przeglądarki już radzą sobie z większością opisanych tutaj poleceń HTML i niemal wszystkimi stylami CSS 2.
Publikacja na pomóc w szybkim odnalezieniu polecenia i poznaniu jego składni oraz dopuszczalnych wartości lub atrybutów. Zgromadzone są także informacje o przeglądarkach, w których dany element języka jest poprawnie wyświetlany. Wśród wielu poleceń, które kiedyś były standardem, część nie jest już zalecana i w kursie znajdziesz ich zamienniki.
To ogromny podręcznik, który pomaga nie tylko początkującym twórcom stron, ale stanowi również świetną ściągawkę dla webmasterów doświadczonych. Każde z ponad 330 poleceń poparte jest przykładami, których łącznie w kursie jest niemal 700. Całość uzupełniają dodatkowe artykuły, tabele i wskazówki praktyczne.
Z kursu korzysta wiele szkół, uczelni, instytucji edykacyjnych, firm, dostawców Internetu i osób prywatnych. Kurs publikowany jest na krążkach CD czasopism, dołączany do różnych programów i umieszczany w niezliczonej ilości serwisów WWW.
W 2003 r. czytelnicy magazynu PC World Komputer wybrali kurs jednym z Produktów Roku - nigdy nie sądziłem, że zdobędzie on tak wielką popularność. Jestem bardzo wdzięczy za wszystkie uwagi i listy dotyczące kursu. Dziękuję. Mam nadzieję, że również Tobie kurs przypadnie do gustu i stanie się pomocnym narzędziem w codziennej pracy.
Sposób opisywania elementów, atrybutów i stylów.
Notacja zastosowana do opisywania poszczególnych poleceń może wydawać się skomplikowana, ale w rzeczywostości jest bardzo prosta. Wystarczy chwila aby poznać wszystkie symbole i oznaczenia.
• APPLET - czerwona kropka przy jakimkolwiek poleceniu informuje, że nie jest ono zalecane i w przyszłości przeglądarki mogą go nie obsługiwać. Przy opisie każdego takiego polecenia znajdziesz jego zalecany zamiennik.
Każde polecenie ma pewne cechy, które skrótowo opisane są w jego definicji. Aby przeczytać więcej informacji o wybranym atrybucie wystarczy kliknąć w jego nazwę. Czasami ten sam atrybut znaczy zupełnie coś innego w kilku elementach HTML więc opisy tego samego atrybutu w poszczególnych elementach mogą być inne. Wyjaśnienie przykładowych opisów dwóch atrybutów poniżej:
opis dla przeglądarek, które nie pokazują tego elementu
wyrównanie względem innych elementów (nie zalecany)
1. Atrybut alt może przyjmować wartość tekstową, np. alt="Opis obrazka". Atrybut jest opcjonalny, co znaczy, że nie musi wystąpić w opisywanym elemencie HTML (niektóre atrybuty muszą wystąpić, np. "src" w elemencie IMG). Interpretowany jest poprawnie przez przeglądarki Internet Explorer w wersji 3 i nowsze oraz Netscape 2 i nowsze. Zawsze poniżej znajduje się skrócony opis atrybutu.
2. Atrybut align może przyjmować wartości "bottom" lub "middle" lub "top" lub "left" lub "right", np. align="right". Domyślną wartością jest "left". Atrybut jest opcjonalny, co znaczy, że nie musi wystąpić w opisywanym elemencie HTML. Interpretowany jest poprawnie przez przeglądarki Internet Explorer w wersji 3 i nowsze oraz Netscape 2 i nowsze oraz Opera 3.5 i nowsze. Poniżej znajduje się skrócony opis atrybutu. "Nie zalecany" oznacza, że atrybut jest wycofywany ze standardu HTML i kolejne przeglądarki mogą go nie interpretować poprawnie. Zwykle można go zastąpić innymi atrybutami lub stylami CSS.
Elementy, atrybuty i style bardzo często powiązane są z elemenatmi podobnymi, co pozwala natychmiast zobaczyć np. jakie atrybuty ma element TABLE lub do jakich elementów powinien być przypięty atrybut align.
Przy opisach elementów znajdują się także inne cechy poleceń, np. odpowiedniki HTML dla stylów CSS, informacje o obowiązkowym znaczniku zamykającym lub położeniu elementów wewnątrz określonej struktury (np. element TD musi być w elemencie TR).
Zanim stworzysz swoją stronę WWW
Wydawać by się mogło, że do wykonania dobrej strony WWW najważniejsza jest umiejętność posługiwania się językiem HTML, znajomość programów, wiedza techniczna i doświadczenie w pracy z komputerem. Jeżeli tak myślisz, postaram się przekonać Cię, że HTML i CSS to ostatnia rzecz, jakie musisz znać przy projektowaniu dobrej strony.
Dla mnie zakodowanie strony w języku HTML (lub jakimkolwiek innym) jest ostatnim etapem pracy przy witrynie. Wcześniej projekt serwisu dojrzewa od kilkunastu dni nawet do kilku lat (!) w mojej głowie i na wielu kartkach papieru. Gdybym chciał określić procentowo ilość czasu jaki poświęcam na kodowanie i projektowanie serwisu, to myślę, że projekt zajął by mi nawet do 98 proc. czasu potrzebnego na powstanie strony, a kodowanie wszystkiego w postaci stron HTML to dosłownie "chwila".
Wstęp do HTML i CSS
Wiedz czego chcesz
Wiele osób chce mieć stronę, jednak sama chęć nie wystarcza. Już po chwili rodzą się różne pytania. Jaki wygląd ma mieć strona? Co powinna zawierać? Jakich narzędzi użyć do jej stworzenia? Czy można na niej zarobić?
Warto usiąść i określić co chcemy na niej zamieścić oraz wypisać funkcje, które ma spełniać. Nie są to łatwe decyzje, ale trzeba je podjąć już na wstępie. Od nich zależy konstrukcja menu, wygląd strony głównej, ilość działów, nawigacja, liczba dokumentów i grafik, które będą nam potrzebne do zbudowania serwisu.
Wczuj się w rolę czytelnika, pomyśl co zrobi gdy wejdzie na Twoją witrynę, czego będzie szukał, co możesz mu zaoferować, jaki jest koszt stworzenia strony. Swoje przemyślenia przedstaw kilku osobom i zapytaj co sądzą o pomyśle. Z pewnością podpowiedzą Ci, co ich zdaniem należałoby dodać lub zmienić.
Pamiętaj, że serwis internetowy różni się od książki lub gazety. Nikt nie czyta długich tekstów, jeżeli nie musi lub nie chce. Treść musi być na tyle ciekawa, aby zatrzymać użytkownika na dłużej. Jeżeli witryna będzie interesująca i oryginalna, wiele osób będzie z niej korzystać, a przecież o to chodzi!
Pierwsze wrażenie
Pamiętaj, że pierwsze wrażenie można zrobić tylko raz. Internet to miliony stron - jeżeli wejdę na jedną z nich i nie zrobi na mnie dobrego wrażenia, już na nią nie powrócę. Szkoda czasu. Więc bardzo ważne jest, aby strona była możliwie najlepiej dopracowana już podczas jej pierwszej prezentacji w Internecie. Ba, ale jak to osiągnąć? Jest kilka sposobów...
Teksty - nie mogą być nudne, zbyt długie, rozlazłe i niestarannie napisane. Sprawdzaj błędy ortograficzne, czytaj je po kilka razy, zastanów się nad używanym słownictwem. Jeżeli tekst jest dłuższy stosuj punkty, akapity lub rozdziały. Gdy powołujesz się na jakieś informacje zawsze umieszczaj ich źródło. Nie możesz napisać, że w Polsce 10% ludzi korzysta z Internetu, jeżeli nie podasz skąd masz takie dane (no, chyba, że sam to zbadasz). Zastanów się, czy teksty będziesz pisać samemu, czy może pozyskasz je od innych autorów lub serwisów.
Grafika - musi być odpowiednio dobrana do serwisu. Jeżeli nie masz zdolności plastycznych, popytaj znajomych, czy nie mogliby pomóc. Ważny jest dobór kolorów, kształtów, zestawienie grafik z innymi elementami strony. Pomyśl o zdjęciach - urozmaicają tekst i przyciągają oko. Możesz je robić samodzielnie, zlecić wykonanie fotografowi lub postarać się o nie z innych źródeł. Jeżeli będziesz robić wiele zdjęć, może przydałby się aparat cyfrowy lub skaner? Pamiętaj, że grafika ma ułatwiać, a nie utrudniać poruszanie się po stronie.
Nawigacja - dzięki niej możesz bardzo wiele zyskać. Bezproblemowe poruszanie się po serwisie, wyszukiwanie informacji czy proste przechodzenie pomiędzy różnymi działami to jedne z najważniejszych cech dobrej witryny. Użytkownik zawsze wybierze serwis, który sprawia mu mniej kłopotów podczas wędrówki - pamiętaj o tym podczas projektowania przejść pomiędzy stronami. Im więcej kliknięć, pułapek i niespodzianek czega na odbiorcę, tym bardziej będzie on poirytowany. Przygotuj mapę serwisu, jeżeli jest bardzo rozbudowany. Nikt nie będzie szukał przez godzinę informacji, z których korzysta na co dzień. Jeżeli to możliwe zbadaj preferencje użytkowników i to, z czego korzystają najczęściej, umieść na stronie głównej. Pamiętaj o umożliwieniu kontaktu z Tobą lub z osobą, która odpowiada za witrynę. Jeżeli nie chcesz odpowiadać na listy użytkowników to najlepiej zapomnij o Internecie i zabierz się za uprawę buraków pastewnych - ułatwisz w ten sposób życie sobie i wielu osobom.
Prawa autorskie - przestrzegaj je zawsze i za wszelką cenę, a jeżeli masz wątpliwości, pytaj o zgodę autorów. Pamiętaj, że wszystko co nie jest Twoje należy do kogoś innego. Jeżeli chcesz użyć czyjegoś tekstu, grafiki, zdjęcia lub oryginalnego pomysłu, MUSISZ mieć jego zgodę i to najlepiej na piśmie. Jeżeli wykorzystasz czyjeś prace bez poszanowania praw autorskich grozi Ci nie tylko zepsucie opinii w środowisku, ale również odpowiedzialność karna, a wtedy straty finansowe mogą być bardzo dotkliwe i wielokrotnie przewyższać koszt zakupu wykorzystywanych materiałów. Zawsze pytaj o zgodę jeżeli chcesz coś przedrukować lub zamieścić na własnej stronie. Zwykle firmy lub osoby prywatne udzielają zgody bez problemu jeżeli nie prowadzisz serwisu komercyjnego. W Internecie jest też wiele materiałów bezpłatnych, z których można korzystać również do celów komercyjnych (jak ten kurs HTML). Ale musi to być wyraźnie napisane - jeżeli tak nie jest, najlepiej wyjaśnij wątpliwości u autora prac.
Aktualizacja - to magnes na czytelnika. Witryna nie może być martwa. Staraj się przewidzieć jak często będzie dodawana nowa zawartość. Im częściej będzie się pojawiać coś nowego, tym częściej ludzie będą przychodzić aby to zobaczyć. Jeżeli nie będziesz w stanie uzupełniać witryny codziennie, staraj się aby chociaż raz w tygodniu dodać choćby kilka słów od siebie.
Nie wiem co chcę pokazać!
To częsty problem. Chcesz mieć stronę, ale nie wiesz co na niej umieścić... Na szczęście jest wiele elementów, które są wspólne dla różnych witryn. Możesz też odwiedzić inne, podobne strony, aby zobaczyć jakie informacje umieszcza konkurencja. Warto zrobić własne "badanie rynku", bo dzięki temu zobaczysz, czy to co chcesz zrobić nie zostało już wcześniej wykonane. Pół biedy, jeżeli Twój pomysł ktoś zrealizował w kiepski sposób i możesz wykonać lepszą witrynę. Gorzej, gdy serwis, który planujesz uruchomić, konkurencja zrobiła już dawno temu i cieszy się on dużą popularnością, a na dodatek nie masz szans zrobić go lepiej. Wtedy masz poważny problem.
"Kontakt". Zacznij od strony kontaktowej - może to być adres e-mail, telefon, ulica, miasto, mapka opisująca jak do Ciebie dojechać. Jeżeli lubisz zaskakiwać podaj np. szerokość i długość geograficzną. Jeżeli ktoś ma GPS może dotrzeć do Ciebie wykorzystując dane satelitarne.
"O autorze/O firmie/O serwisie". Napisz kilka zdań o sobie - kim jesteś, co robisz, ile masz lat, czym się interesujesz. Możesz też dodać swoje zdjęcie. Firmy w tym miejscu opisują zwykle swoją historię, ofertę, dokonania. Możesz też napisać kilka zdań o serwisie - do kogo jest skierowany, co można w nim znaleźć.
"Nowości/Informacje prasowe". Wydziel stronę, na której opisywać będziesz zmiany i zapowiedzi nowych tekstów. Firmy tworzą zwykle sekcję dla prasy, aby dziennikarze mogli pobierać najnowsze doniesienia. Pomyśl o Newsletterze. Jeżeli chcesz mieć kontakt z czytelnikami daj im możliwość pozostawienia adresów e-mail. Mając bazę adresów, możesz wysyłać im co jakiś czas informacje o nowościach. Tylko pilnuj bazy i nie udostępniaj jej innym, jeżeli czytelnicy nie wyrazili na to zgody. Chroń dane czytelników, bo jeżeli trafią one w niepowołane ręce, nigdy więcej ludzie Ci nie zaufają.
"Katalog stron WWW". Spis podobnych witryn poukładany tematycznie. Umieść też adresy swojej konkurencji - nie zaszkodzi. Gdy ktoś będzie chciał zgłębić temat wejdzie do innych serwisów. I to nic, że teraz ucieknie z Twojej strony, ale będzie do niej wracał, bo wie, że tylko u Ciebie znajdzie kompletny zestaw adresów internetowych.
"Ankieta". Ważna rzecz - zadając pytania poznasz bliżej swoich odbiorców i lepiej dostosujesz serwis do ich wymogów. Jest wiele typów ankiet, więc też musisz przemyśleć, które będą Ci najbardziej odpowiadać.
Co jeszcze... Każda strona ma swoje specyficzne działy. Jeżeli prowadzisz serwis o muzyce to pewnie przedstawisz sylwetki muzyków, wywiady, książki, nagrania w MP3, teksty piosenek. Gdy myślisz o serwisie turystycznym opiszesz trasy wycieczek, schroniska, hotele, podasz rozkłady jazdy pociągów, pogodę na najbliższe dni w różnych regionach. Jeżeli masz serwis finansowy, rozsądne jest podanie aktualnych kursów walut. W prywatnym serwisie możesz opisać swoje hobby, ulubione książki, pokazać własną twórczość, opisać drzewo genealogiczne rodziny.
Chcesz osiągnąć sukces, prawda?
Zanim cokolwiek zrobisz, przemyśl jak to zrobisz! Katalog stron WWW ma każdy, więc dlaczego Twój ma być lepszy od innych i dlaczego to właśnie z Twojego katalogu stron mają korzystać ludzie? Wszystko zależy od tego, jak go wykonasz. Ważne jest grupowanie adresów w logiczne kategorie, umieszczanie ciekawych opisów, możliwość zgłaszania nieistniejących stron. Zastanów się czy dodasz wszystkie adresy stron WWW czy tylko te najepsze? Musisz mieć coś więcej niż konkurencja aby zaistnieć w Internecie. I nie jest to wcale zadanie proste.
Nie staraj się robić strony o wszystkim. Wiem, że interesują Cię sporty wodne, lotnictwo, książki, muzyka, aerobik, jazda konna i GSM. Lepiej jest się jednak skupić na jednym temacie, ale za to opracować go dokładnie. Tylko wtedy ludzie docenią Twój trud. Stron o telefonach komórkowych jest setki, ale czytelnicy najczęściej odwiedzają tylko kilka z nich. Wybierz jedną tematykę, na której znasz się najlepiej i jej poświęć swój czas.
Projekt musi być elastyczny i łatwy do szybkiego przebudowania. Jeżeli będziesz dodawać nowe pozycje do menu, grafika nie może Cię ograniczać. Stwórz "style book", czyli książkę standardów. Dzięki temu nie zapomnisz, jakich czcionek, kolorów i proporcji używasz do wykonania wszystkich elementów serwisu.
Już teraz pomyśl z jakimi serwisami i osobami będziesz współpracować, co zrobisz aby wypromować serwis, do których katalogów i wyszukiwarek go dodasz. Warto przemyśleć też sprawę reklamy (haseł reklamowych) i bannerów. Część miejsca w serwisie przeznacz na bannery innych. Reklama jest bardzo ważna - po co Ci serwis, o którym nikt nie wie?
Są jeszcze ograniczenia. Pewnych rzeczy nie warto robić jeżeli nie dysponujesz odpowiednimi narzędziami i technologiami. Krótka historyjka zobrazuje co mam na myśli... Zbieram bilety komunikacyjne z całego świata i mam ich niemal 10 tys. Wiele lat temu chciałem przenieść kolekcję do Internetu. Nie miałem wtedy dostępu do baz danych i PHP. Musiałbym stworzyć 10 tys. osobnych stron HTML opisujących każdy bilet. Zajęcie byłoby tak pracochłonne, że pewnie serwis tworzyłbym kilka lat, a teraz musiałbym wszystko przerabiać! To co kiedyś było niewykonalne, dzisiaj mogę zrobić szybciej i lepiej. Warto więc czasem czekać nawet kilka lat niż na siłę tworzyć coś, co z założenia nie ma sensu.
I najważniejsze - cierpliwość i pasja. W ciągu tygodnia nie osiągniesz sukcesu. Nie wystarczy miesiąc, a nawet pół roku. Dobry serwis wymaga stałej aktualizacji i wielu wyrzeczeń przez lata. Im bardziej się rozrasta tym więcej masz przy nim pracy. Zapał wygasa, przychodzą chwile zwątpienia. Reportera tworzę od 1996 r. i bardzo lubię przy nim pracować, ale miewałem okresy, kiedy chciałem rzucić to wszystko i zająć się czymś innym. Duży serwis potrafi też zmienić człowieka. Długie przebywanie przed komputerem nie jest dobre dla zdrowia, wpływa też na psychikę.
Jeżeli chcesz podjąć ryzyko i przeżyć przygodę swojego życia to zapraszam do Sieci - tu każdy ma równe szanse. Przenieś gotowy projekt do postaci stron HTML i zacznij rozwijać własną witrynę. Emocje gwarantowane...
Moja pierwsza strona WWW w 15 minut
Tworzenie stron WWW jest zajęciem w miarę prostym i bardzo przyjemnym. Podstaw języka HTML można nauczyć się w kilka godzin, a dosłownie po chwili zbudować prostą witrynę. Trzeba tylko pamiętać o przestrzeganiu kilku podstawowych zasad.
Aby wprawnie posługiwać się językiem HTML niezbędna jest praktyka. Identyczną stronę można wykonać na bardzo wiele sposobów, więc tylko doświadczony webmaster będzie w stanie stworzyć ją lepiej, szybciej, tak aby dobrze prezentowała się identycznie w każdej przeglądarce. Polecam więc eksperymentowanie, testowanie, sprawdzanie efektów w różnych przeglądarkach i ciągłe podnoszenie swoich umiejętności.
Pierwsza strona
Aby tworzyć strony WWW nie musisz mieć dostępu do Internetu. Wystarczy przeglądarka stron WWW zainstalowana Twoim komputerze. Stronę musisz zapisać w zwykłym pliku tekstowym i odpowiednio go nazwać. Do pisania stron WWW nadaje się każdy, nawet najbardziej banalny edytor tekstowy - od prostego Notatnika w systemie Windows czy Pico w Unixie, aż do specjalistycznych edytorów HTML. Każdy ma swój ulubiony edytor tekstowy, ja używam rewelacyjnego NoteTab Pro (mniej zaawansowana wersja tego edytora dostępna jest bezpłatnie).
Dokument zawierający HTML powinien mieć rozszerzenie .html lub .htm - co sugeruje, że to jest strona WWW. Przyjęło się, że główna strona serwisu ma zwykle nazwę index.html (czasem może się jednak nazywać inaczej). Pozostałe strony, do których można dotrzeć z index.html mogą mieć dowolne nazwy. Niech będą jednak czytelne i niezbyt długie.
W nazwach stron ważna jest wielkość liter - najlepiej stosować tylko małe litery bez polskich znaków. Strona Kontakt.html nie jest tą samą stroną co kontakt.html (zwróć uwagę na wielkość pierwszej litery K). Nie powinno się też używać polskich znaków w nazwach stron, uważaj też na znaki specjalne (np. %^&#$@). Nie stosuj też spacji (odstępów). Lepiej nadać nazwę: pokarm-dla-zolwia.html niż pokarm dla żółwia.html.
Każda strona ma pewne elementy wspólne. Musisz poinformować przeglądarkę, że ma do czynienia z językiem HTML, a nie zwykłym tekstem. W dodatku napisanym z polskimi znakami w standardzie ISO8859-2. Warto też nadać stronie tytuł.
Oto szablon każdej strony WWW, który możesz skopiować i modyfikować w zależności od dalszych potrzeb. Mając prostego "gotowca" szybko stworzysz dowolną inną stronę.
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<meta http-equiv="content-type"
content="text/html; charset=iso-8859-2">
<title>Tu wstaw tytuł strony</title>
</head>
<body>
Moja pierwsza strona www!
</body>
</html>
Powyższy szablon to niezbędne minimum, więc powinien znajdować się w treści każdej strony WWW. Są także strony, których budowa może być inna, ale dla większości wszystkich witryn w Internecie wspomniana konstrukcja jest standardem.
!DOCTYPE określa wariant języka HTML (Transitional w wersji 4.0 jest stosowany najczęściej). Następnie informujemy przeglądarkę, że jest to dokument HTML umieszczając całą treść dokumentu w parze elementów: <HTML> i </HTML>. Każda strona ma nagłówek znajdujący się pomiędzy elementami <HEAD> i </HEAD>. Umieszczamy w nim tytuł strony w elementach <TITLE> i </TITLE> i informację o kodowaniu polskich znaków w ISO-8859-2. Po nagłówku znajduje się część, którą widzimy w oknie przeglądarki - określają ją elementy <BODY> i </BODY>. Tu znajduje się tekst, grafika, odnośniki, tabele i inne rzeczy.
Skopiuj zawartość do edytora tekstu, zapisz wszystko na dysku pod nazwą index.html i zobacz jak wygląda strona w przeglądarce. W zasadzie już masz swoją stronę...
Kilka zasad
Jak widzisz, większość elementów HTML to pary poleceń. Jest element otwierający i zamykający, np. tytuł został otoczony parą <TITLE> i </TITLE>. Dzięki temu przeglądarka wie, co ma wyświetlić na belce przeglądarki jako tytuł strony. Jeżeli w treści strony jakiś wyraz otoczysz parą elementów <B> i </B> zostanie on pogrubiony (B to skrót od angielskiego słowa Bold). Znając pary poleceń możesz z tekstem robić dowolne rzeczy. Tak na prawdę nie musisz uczyć się par - wystarczy pamiętać nazwę polecenia, bo konstrukcja jest zwykle taka sama: <POLECENIE> ... </POLECENIE>.
Polecenia (w kursie sąto elementy HTML) mogą mieć jeszcze atrybuty. Oznacza to, że możesz zmieniać właściwości tych poleceń. Jeżeli chcesz utworzyć połączenie z inną stroną WWW wystarczy, że do polecenia A dodasz atrybut href określający adres innej strony. W praktyce wygląda to następująco:
<A href="(strona) /">odnośnik do (nazwa)</A>
Jeżeli dodasz jeszcze atrybut target, możesz określić okno, w którym otwarta zostanie strona WWW. Niech to będzie nowe okno przeglądarki, a więc target będzie miał wartość _blank (blank to czyste, nowe okno).
<A href="(strona) /" target="_blank">zobacz (strona).pl</A>
Polecenia i atrybuty mogą być pisane dużymi lub małymi literami, nie ma to znaczenia. Wyłącznie na potrzeby kursu stosuję duże litery dla elementów (poleceń), a małe litery dla atrybutów ponieważ taki sposób jest bardziej czytelny. Ale równie dobrze powyższy odnośnik mógłby zostać zapisany tak:
<a HrEf="(strona) /" tarGET="_BLaNk">zobacz (strona).pl</a>
Pewnie domyślasz się, że aby wstawić na stronę jakiś obrazek, trzeba użyć elementu odpowiedzialnego za grafikę i wskazać mu, który obrazek ma wstawić. Element IMG odpowiada za obrazki (IMG to skrót od słowa Image). Ma wiele atrybutów, a jednym z nich jest src (czyli source - źródło obrazka). Użyjmy ich więc... Niech dodatkowo obrazek będzie na środku strony (polecenie centrujące nazywa się CENTER).
<center>
<img src="../p/logo.jpg">
</center>
I oto mamy obrazek. Pamiętaj jeszcze, że wartości atrybutów powinno się umieszczać w cudzysłowach. Dzięki temu przeglądarka może je prawidłowo zidentyfikować. Pewnie chcesz mieć "klikalny" obrazek, który jest odnośnikiem do innego serwisu? Połączmy więc dotychczasową wiedzę:
<center>
<a href="http://(strona) " target="_blank">
<img src="../p/logo.gif" width="120" height="60" border="0"></a>
</center>
Nie jest to skomplikowane, choć pojawiły się kolejne atrybuty: width to szerokość obrazka, height określa wysokość, a border="0" powoduje, że znika ramka oznaczająca, że obrazek jest odnośnikiem. Nie chcę ramki, bo tylko szpeci obraz - dlatego prawie zawsze element IMG na stronach WWW ma wyłączoną ramkę...
Kolejna istotna zasada to kolejność otwierania i zamykania poleceń. Nie powinno się robić czegoś takiego:
<s>kilka <b>przykładowych</s> wyrazów</b>
kilka przykładowych wyrazów
Element S definiuje przekreślenie, ale zanim został on zamknięty, otworzyłem element B (pogrubienie), a następnie zamknąłem S zamiast B. Są one założone "na krzyż". Wygląda to mało czytelnie i nie jest zgodne z regułami, pomimo tego, że przeglądarka pokazała efekt dobrze... Oto prawidłowa kolejność:
<s>kilka</s> <b><s>przykładowych</s> wyrazów</b>
Wiem, że trzeba było użyć kilka razy S, ale opłaciło się. Przykład jest bardziej czytelny. W skomplikowanych dokumentach ma to ogromne znacznie. Dlatego podczas tworzenia strony zwracaj uwagę na jej czytelność. Nie przez przypadek wiele autorów robi charakterystyczne wcięcia w kodzie HTML. Ułatwia to odczytanie kodu po latach, gdy sam autor nie pamięta co miał na myśli robiąc stronę...
Zauważ, że już potrafisz tworzyć odnośniki i wstawiać grafikę. Każdy akapit (blok tekstu) rozpoczyna się od polecenia P (akurat on nie wymaga stosowania elementu zamykającego, choć warto go użyć). Te informacje wystarczają aby pokusić się o eksperymenty z Twoją pierwszą stroną WWW.
Podczas tworzenia stron WWW trafisz też na wiele niedogodności. Ponieważ istnieje kilka przeglądarek stron WWW, niektóre polecenia mogą w nich dawać odmienny efekt. Czasem strona z niezamkniętymi poleceniami lub tabelami (co jest oczywiście błędem) będzie wyglądała poprawnie pod Internet Explorerem. Zdarzy się i tak, że poprawna strona, wykorzystująca standard języka HTML zalecany przez organizację W3C mimo wszystko nie będzie dobrze pokazywana przez przeglądarkę Netscape. Ludzie będą chcieli stronę drukować, wysyłać mailem, zapisywać na dysku. O wszystkich potrzebach użytkownika musisz pomyśleć!
Jeżeli chcesz poznać wszystkie elementy i atrybuty języka HTML, wystarczy, że będziesz przeglądać kurs - wszędzie znajdziesz przykłady i omówienia - wystarczy je skopiować do szablonu aby sprawdzić jak działają. Dobrym treningiem jest też podglądanie innych witryn i sprawdzanie, jak autorzy poradzili sobie z wykonaniem różnych efektów. Ucząc się na przykładach poznasz wiele technik i metod tworzenia stron. Po jakimś czasie wypracujesz własne, najlepsze rozwiązania i wtedy inni będą mogli uczyć się od Ciebie...
Powodzenia!
Dołączanie i korzystanie ze stylów CSS
Style pozwalają kontrolować większość właściwości elementów HTML, które kiedyś można było ustawiać wyłącznie za pomocą atrybutów. Powtarzanie atrybutów w wielu elementach było nie tylko niewygodne, ale zwykle jakakolwiek zmiana koloru lub wyglądu strony wymagała dokonania poprawek na wszystkich stronach WWW, w każdym elemencie.
Gdy nagle tytuły miały być zielone i pogrubione, a dotychczas były czerwone i rozstrzelone, wtedy webmastera czekała bardzo niemiła robota - musiał ręcznie zmieniać wygląd wszystkich tytułów.
Organizacja W3C szybko doszła do wniosku, że trzeba oddzielić układ (konstrukcję) strony od właściwości elementów umieszczonych na niej. Za pomocą języka HTML tworzy się więc strukturę, jak np. tabele, tytuły czy akapity, a korzystając ze stylów nadaje się im odpowiednie właściwości i formatowanie, np. kolor, pogrubienie, pochylenie, tła, wielkość liter i inne elementy odpowiedzialne za kształt i wygląd.
Wystarczy więc przypisać do tytułu strony nazwę stylu, np. "glowny" i zdefiniować w jednym miejscu jakie właściwości ma mieć główny tytuł. Może być pogrubiony, niebieski, napisany czcionką Arial o wielkości 16 pikseli. Wszystkie tytuły główne mogą mieć ten sam styl zapisany w jednym pliku.
Gdy nagle trzeba zmienić wygląd tytułów, wystarczy w jednym miejscu zmienić właściwości stylu "glowny" i efekt będzie widoczny od razu na wszystkich stronach we wszystkich tytułach oznaczonych tym stylem. Prawda, że rewelacyjny (i rewolucyjny) wynalazek? Takie podejście pozwala szybko zmienić kolorystykę, kształt czy właściwości określonego stylu przypisanego konkretnym elementom HTML.
Jak zdefiniować swoje style?
Własne style możesz nazwać dowolnie, w sposób dla Ciebie czytelny. Mogą nazywać się np. "naglowek", "akapitczerwony" lub "pogrubienie". Aby je stworzyć musisz zadeklarować je w osobnym pliku lub wprost na wybranej stronie WWW.
W nagłówku strony, w sekcji HEAD umieść swoją definicję stylu pomiędzy tagami STYLE.
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html><head>
<style type="text/css"><!--
h1,td {color: green;}
.naglowek {color: red; font-size:16px;}
.pogrubiony {font-weight: bold;}
--></style>
<meta http-equiv="content-type"
content="text/html; charset=iso-8859-2">
<title>Tytuł strony</title>
</head><body>
Dalsza treść strony, gdzie będą używane Twoje style...
</body></html>
W przykładzie został zdefiniowany jeden styl dla elementów H1 i TD i dwa style o nazwach "naglowek" i "pogrubiony". Najłatwiejszą notacją (bo style można definiować na kilka sposobów) i chyba najczęściej spotykaną jest przypisanie stylu do elementu HTML. Inną popularną notacją jest kropka i nazwa stylu. Kropka określa, że styl jest selektorem klasy, czyli oznacza, że klasa będzie miała nadaną przez nas nazwę, którą można potem użyć w definicji klasy dla elementu HTML.
Brzmi nieco zawile? Też tak myśle. Teorią się nie przejmuj, ważniejsza jest praktyka. Pamiętaj o kropce i za nią umieść nazwę stylu. Następnie w nawiasach klamrowych musisz opisać jakie cechy będzie miał stworzony przez Ciebie styl.
Wszystkie tytuły H1 i komórki tabeli TD będą miały kolor zielony (color: green;) Nagłówek ma mieć czerwony kolor (color: red;) i wielkość 16 pikseli (font-size:16px;). Styl pogrubiony będzie tylko pogrubiony (font-weight: bold;).
Dowolny element HTML, który ma mieć styl naglowek powinien mieć atrybut class z nazwą naszego stylu (ale już bez kropki):
<p class=naglowek>Nagłówek strony</p>
Bez problemu możesz ten styl przypisać kilka razy do różnych elementów na stronie:
<p class=naglowek>Nagłówek strony</p>
<div class=naglowek>Inny nagłówek strony</div>
<a href="(strona) " class=naglowek>Duży link</a>
Kropka oznacza, że wszystkie elementy na stronie (polecenia HTML), dla których zdefiniujesz klasę "naglowek" będą miały ten styl. Gdy przypiszesz styl do elementu HTML, tylko te elementy mają określone właściwości (tak zrobiliśmy z komórkami tabeli i tytułami H1)
Jak już wiesz, aby kawałek tekstu miał pogrubiony styl, wystarczy go zdefiniować z kropką na początku:
.pogrubiony {font-weight: bold;}
Tak określony styl może się odnościć do dowolnych elementów HTML - możesz pogrubić akapity, tabele, linki i generalnie wszystkie tagi języka HTML. Dodając przed kropką nazwę elementu HTML, możesz ograniczyć działanie tego stylu tylko do wybranych poleceń języka HTML. Zastosujmy pogrubienie tylko w akapitach:
P.pogrubiony {font-weight: bold;}
I użyjmy go w praktyce:
<p class=pogrubiony>TYLKO TEN tekst zostanie pogrubiony</p>
<br class=pogrubiony>ten tekst nie zostanie pogrubiony</br>
<div class=pogrubiony>Ten tekst nie zostanie pogrubiony</div>
<a href="(strona) " class=pogrubiony>Link bez pogrubienia</a>
Takie zachowanie pozwala stworzyć wiele stylów o nazwie "pogrubiony", ale każdy będzie odnosił się tylko do określonego elementu języka HTML:
P.pogrubiony {font-weight: bold;}
BR.pogrubiony {font-weight: bold; color: red;}
Łatwo zapamiętać, że brak nazwy elementu przed kropką dotyczy wszystkich tagów HTML, a wyszczególniona nazwa przed kropką we własnej definicji stylu ogranicza działanie stylu tylko do tego elementu języka HTML.
Jest jeszcze jeden zapis własnej definicji stylu, gdzie zamiast kropki stosuje się znak #:
#zielony {color: green;}
Tym razem odwołanie do stylu nie następuje przez podanie atrybutu class, ale przez identyfikator elementu, czyli atrybut id:
<p id=zielony>zielony akapit</p>
Ważną rzeczą jest aby na jednej stronie nie było dwóch elementów HTML (np. dwóch lub więcej akapitów), które mają taką samą nazwę ID. Identyfikator jest unikalny. Jeżeli chcesz stosować więcej identyfikatorów musisz je np. ponumerować:
#zielony1 {color: green;}
#zielony2 {color: green;}
#zielony3 {color: green;}
<p id=zielony1>zielony akapit</p>
<span id=zielony2>zielony akapit</span>
<p id=zielony3>zielony akapit</p>
Tutaj również można ograniczyć zakres działania stylu dla wybranego elementu dodając jego nazwę przed definicją stylu:
P#zielony {color: green;}
W praktyce zapis z identyfikatorami ID nie jest często stosowany, ponieważ z definicji każdy element HTML musi mieć inny identyfikator i tych styli byłoby bardzo dużo. Natomiast styl zapisany w ten sposób ma zastosowanie w dynamicznym HTML, a więc w powiązaniu z JavaScriptem i DOMem, gdzie odwołania do elementów HTML możliwe są poprzez identyfikatory ID.
Zdecydowanie najczęściej spotykany jest przykład pierwszy, gdzie po kropce podajesz nazwę stylu, a w nawiasach określasz wszystkie style i parametry jakie mają być przypisane do danej nazwy. Potem w elementach HTML wystarczy za pomocą atrybutu class przypisać określoną nazwę stylu, aby go użyć w dowolnym miejscu na stronie.
Dołączanie stylów
Jednym ze sposobów jest umieszczenie stylów wprost przy elemencie, którego dotyczy korzystając z atrybutu style. Można w ten sposób nadać konkretny styl wybranemu elementowi HTML, bez konieczności stosowania arkusza zewnętrznego lub wewnętrznego:
<p style="color:red; font-size:16px;">
dowolny akapit
</p>
Takie rozwiązanie jest stosowane wyjątkowo, gdy trzeba zmienić wygląd jednego elementu (lub kilku elementów) na stronie lub nadpisać wygląd konkretnego elementu HTML, który wcześniej został zadeklarowany w stylach zewnętrznych lub osadzonych na stronie.
Nie powinno się stosować stylów wprost w elementach HTML, ponieważ trudno je potem znaleźć w kodzie strony i kłopotliwe jest ich poprawianie. Mimo chaosu, jaki może wprowadzić taki zapis, jest on w praktyce dosyć często stosowony z lenistwa, bo łatwiej dokonać zmiany stylu konkretnego elementu niż wypisywać wszystkie style w zewnętrznym arkuszu i potem przypisywać każdy ze stylów do poszczególnych elementów.
Definicje stylów można umieścić wprost na konkretnej stronie WWW, w sekcji nagłówkowej strony, czyli pomiędzy tagami <head> i </head>, np. zaraz po określeniu tytułu dla strony:
<head>
<meta http-equiv="content-type"
content="text/html; charset=iso-8859-2">
<title>Tytuł strony </title>
<style type="text/css"><!--
body, p {
font-family: Arial, sans-serif;
font-size: 14px;
}
a { text-decoration:none; }
.menu:active {color:navy;}
.menu:link {color:navy;}
.menu:visited {color:navy;}
.menu:hover {color:#3333cc;}
--></style>
</head>
Style są umieszczone wprost na konkretnej stronie WWW i nawet jeżeli ktoś skopiuje stronę na dysk lokalny i nie będzie miał połączenia z Siecią, w dalszym ciągu style będą w dokumencie zachowane.
To bardzo dobry sposób osadzania stylów w przypadku języków skryptowych (np. PHP), ponieważ style można dołączyć z jednego pliku za pomocą dyrektywy include.
Nieco gorzej jest z wykorzystaniem tej metody w wypadku statycznych stron HTML, gdyż modyfikacja stylu wymaga zmodyfikowania zapisu na wszystkich stronach należących do witryny. Wtedy wygodniej skorzystać z metody dołączenia zewnętrznego arkusza z dowolnego miejsca w Sieci lub z wybranego katalogu na stronie WWW.
Zamiast osadzać style CSS na stronie można je dołączyć z zewnętrznego pliku za pomocą elementu link:
<head>
<meta http-equiv="content-type"
content="text/html; charset=iso-8859-2">
<title>Tytuł strony </title>
<link rel="stylesheet" type="text/css" href="/style.css">
</head>
Można też podać pełną ścieżkę do serwera i dołączać więcej niż jeden arkusz stylów:
<link rel="stylesheet" type="text/css" href="http://serwer1/style.css">
<link rel="stylesheet" type="text/css" href="http://serwer2/style.css">
Dołączany plik style.css powinien zawierać od razu definicje stylów, jak poniżej:
body, p {
font-family: Arial, sans-serif;
font-size: 14px;
}
a { text-decoration:none; }
input { width:200px; }
Ten sposób dołączania stylów jest bardzo wygodny, ponieważ w praktyce istnieje tylko jeden plik ze stylami, który może być dołączany z dowolnej lokalizacji w Sieci. Modyfikacje wystarczy przeprowadzać tylko w jednym pliku. Jego wadą jest to, że podczas zapisywania strony na dysk, style mogą zostać zgubione i bez dostępu do pliku ze stylami strona może prezentować się mało ciekawie.
Dopuszczalna jest również kombinacja zastosowania stylów z zewnętrznego pliku w stylach znajdujących się na stronie:
<style type="text/css"><!--
@import url(http://serwer.pl/katalog/style.css)
body, p {
font-family: Arial, sans-serif;
font-size: 14px;
}
a { text-decoration:none; }
--></style>
W tym celu można skorzystać z polecenia @import dołączającego do stylów na stronie dodatkowe style znajdujące się w pliku w dowolnym miejscu w Sieci. Style znajdujące się poniżej dołączanego stylu mogą rozszerzyć style z pliku lub zastąpić je na konkretnej stronie.
Co jeszcze?
Szczerze mówiąc, o stylach można napisać całkiem sporą książkę, a przedstawione powyżej podstawy mają tylko zaznajomić Cię z tematyką i pomóc szybko zacząć je stosować na stronach. Nie przejmuj się, jeżeli od razu nie zroumiesz o co w tym wszystkim chodzi. Myśle, że każdy początkujący webmaster miał problemy ze zrozumieniem wszystkich zawiłości stylów CSS. Mam nadzieję, że ten krótki, ale treściwy wstęp, nieco wyjaśnił Ci posługiwanie się stylami w praktyce.
Kodowanie polskich znaków w ISO-8859-2
Polskie znaki narodowe, często nazywane potocznie "ogonkami", sprawiają problemy nie tylko autorom stron WWW. Do dziś istnieje wiele programów, w których zapisuje się je w różnych standardach kodowania. Doliczyłem się w sumie ok. 20 sposobów zapisywania polskich ogonków! Obecnie obowiązującą normą jest standard ISO-8859-2 (odpowiada on Polskiej Normie PN-93 T-42118). I rób wszystko co w Twojej mocy, aby strony WWW były zapisane właśnie w tym standardzie.
<head>
<meta http-equiv="content-type"
content="text/html; charset=iso-8859-2">
</head>
Informuje on przeglądarkę, że znaki na stronie WWW zapisane są w standardzie ISO-8859-2 i dzięki temu widzimy poprawnie polski litery. Przeglądarka mając taką deklarację sama przestawia się na zalecany przez autora zestaw znaków.
Może dwa słowa o standardach i kodowaniu... Komputer udostępnia nam do dyspozycji 256 różnych znaków zapisanych w tablicy znaków ASCII. Są to liczby, litery, znaki specjalne, wykrzykniki, małpki i jeszcze wiele innych, nieraz niewidocznych znaków, które pełnią jednak ważną rolę w komputerze. Wśród nich muszą się też znaleźć polskie znaki, których tradycyjny (amerykański) zestaw znaków nie przewiduje.
Aby je tam umieścić, trzeba z pewnych znaków zrezygnować. Ponieważ każdy standard kodowania rezygnuje z innych znaków, więc w tablicy ASCII polskie znaki znajdują się na różnych pozycjach w różnych standardach. Komputer znaki rozpoznaje po ich numerze - wciskając klawisz z literą A, informujemy komputer, że na ekranie ma się pojawić symbol o numerze 65, litera B ma numer 66, itd. Można to łatwo sprawdzić pisząc w języku HTML kod znaku, np. A (litera A). Więcej o kodach znaków dowiesz się z artykułu Znaki i ich kody liczbowe
Aby móc korzystać z polskich znaków trzeba mieć polską czcionkę. Linux ma instalowaną domyślnie czcionkę ISO-8859-2 więc problem z głowy, natomiast Windows ma czcionkę w standardzie Windows-1250. Różni się ona jednak od ISO-8859-2 pozycją sześciu liter w tablicy ASCII (ąśźĄŚŹ). Aby móc pisać i widzieć czcionkę ISO trzeba nieco pokombinować...
Windows nie udostępnia polskich znaków ISO, ale nic straconego. Czcionki ISO (np. autorstwa firmy EuroFont) możemy pobrać z Internetu i po zainstalowaniu jej w edytorze tekstu bez problemu będziemy widzieć wszystkie polskie znaki w standardzie ISO. Jest też malutki programik KeyPlus autorstwa Adama Strzeleckiego, który pozwala pisać w standardzie ISO. Możemy więc pisać i widzieć czcionkę ISO-8859-2. O to chodziło.
Bardziej rozbudowane edytory do stron WWW mają wbudowane mechanizmy do konwersji znaków i nawet nie zauważymy problemu polskich znaków. Piszemy tak, jak zawsze, a otrzymane strony WWW są już poprawnie zakodowane z polskimi znakami w ISO-8859-2.
Oczywiście nie zawsze możemy zainstalować polską czcionkę ISO. Być może mamy też wiele dokumentów napisanych w Windowsie. Nic straconego. W Internecie dostępnych jest wiele programów do konwertowania tekstów z jednego standardu do innego, np. napisany przez Michała Jaskólskiego program Ogonki 97. Warto korzystać z takich narzędzi w razie potrzeby.
Na koniec niespodzianka. Strony WWW można też tworzyć w standardzie Windows-1250, czyli tym, w którym domyślnie piszemy korzystając z systemu operacyjnego Windows. Nie jest to jednak sposób zalecany i jeżeli tylko możesz, przestaw się na ISO-8859-2. Jeżeli już koniecznie musisz publikować strony w standardzie Windows-1250 nie zapomnij umieścić w dokumencie HTML innej zawartości elementu META:
<head>
<meta http-equiv="content-type"
content="text/html; charset=windows-1250">
</head>
Projektuj strony dostępne dla każdego
Odbiorcami naszych stron WWW są w większości osoby cieszące się dobrym zdrowiem, używające popularnych przeglądarek, nie mające kłopotów ze sprzętem komputerowym czy wyświetlaniem grafiki. Jednak o klasie autora stron WWW świadczy takie przygotowanie witryny, aby korzystać z niej mogli także pozostali użytkownicy Sieci.
Na co zwrócić uwagę? Po prostu wczuj się w rolę tych, którzy nie dysponują najnowszą technologią lub nie mają możliwości aby poprawnie odebrać zawartość stron internetowych. Wbrew pozorom takich osób jest sporo. Czasem mogą to być osoby ważne, mające wpływ na dalsze losy Twojej strony.
Przeglądarki
Przeciętny internauta wymieni cztery przeglądarki: Internet Explorer, Netscape Navigator, Mozilla i Opera. Pewnie część osób słyszała jeszcze o Lynxie - przeglądarce pracującej w trybie tekstowym, bez grafiki. Tymczasem na świecie wykorzystywanych jest ponad 50 różnych przeglądarek stron WWW, a także równie wiele przeglądarek stosowanych w tzw. kioskach multimedialnych czy budkach informacyjnych, spotykanych np. na dworcach kolejowych lub wystawach. Wiele z tych przeglądarek pracuje na różnych systemach operacyjnych, co powoduje kolejne ograniczenia, np. ilości stosowanych kolorów lub rozdzielczości ekranu.
Każda z przeglądarek jest nieco inna, zwykle nie obsługuje najnowszych standardów WWW, a części poleceń HTML nie wykonuje wcale. Jeżeli Twoja strona aż roi się od grafik, użytkownik przeglądarki tekstowej zobaczy pustkę i będzie rozczarowany. Gorzej, gdy nie będzie mógł z niej korzystać - nie zobaczy przecież menu i nie będzie wiedział co ma kliknąć aby przejść dalej. Wymogiem jest więc stosowanie atrybutu alt w grafikach istotnych dla użytkownika.
Innym problemem jest rozdzielczość ekranu i ilość kolorów. U Ciebie ekran jest duży i wszystko na nim możesz pomieścić, ale użytkownik palmtopa czy organizera będzie musiał stronę przewijać nie tylko w pionie, ale też w poziomie. Jeżeli wykorzystuje tylko 16 kolorów, to na niewiele zdadzą mu się Twoje kolorowe zdjęcia. Może też być sytuacja odwrotna - Ty masz niewielką rozdzielczość (np. 800x600), ale użytkownik dysponuje dużym ekranem i rozdzielczość ustawi sobie na 1280x1024. Nagle strona staje się dla niego mała, a teksty, które u Ciebie składały się z kilku wierszy zajmują tylko jeden wiersz... Całość może wyglądać nieczytelnie lub mało estetycznie.
Przed opublikowaniem strony warto przetestować jej wygląd przynajmniej w trzech najpopularniejszych przeglądarkach. Opera pozwala wyłączyć grafikę co dodatkowo pokaże, czy osoba bez grafiki będzie mogła w dalszym ciągu korzystać z serwisu. Utrudnieniem jest fakt, że Internet Explorer potrafi naprawiać drobne (ale czasem istotne) błędy w kodzie HTML, np. niezamknięte tabele. Więc strona która wygląda poprawnie, wcale nie musi być dobrze napisana i w innych przeglądarkach może wyglądać okropnie.
Osoby niepełnosprawne
Czemu osoby niewidome nie odwiedzają witryn wykonanych w technologii Flash? Bo nie mają szans zobaczyć grafik i tekstów zaszytych w kodzie animacji. Za to potrafią spędzić wiele godzin na prostych witrynach, gdzie nie ma wiele grafik, a cały tekst znajduje się na jednej stronie WWW. Bardzo wiele osób niewidomych poznałem dzięki Reporterowi - publikowane tam opowiadania i artykuły łatwo mogli odczytać za pomocą syntezatorów mowy. Nic im nie przeszkadzało w skopiowaniu artykułu i odłożeniu go na potem.
Rozmowa z osobą niewidomą, korzystającą z naszych stron WWW może być bardzo pouczająca. To trochę tak, jakbyśmy mieli korzystać z serwisu bez użycia monitora. Jeżeli to możliwe, nie utrudniaj korzystania osobom, które i tak mają z tym kłopoty. Ułatw im życie - docenią to z pewnością.
Wiele osób niedowidzi, a część ma kłopoty z rózróżnianiem kolorów. Czytanie z ekranu męczy wzrok i po kilku godzinach pracy przed monitorem łatwo o przeoczenie małych elementów lub pomyłkę w odcieniach barw poszczególnych wykresów. Staraj się aby strony były maksymalnie czytelne. Dobieraj tak kolory tła, aby nie męczyły wzroku po kilkunastu minutach czytania.
Spróbuj pochodzić przez chwilę po serwisie bez korzystania z myszy. Nie każdy ma sprawną rękę i mysz. Część osób korzysta z różnych manipulatorów - płytek dotykowych, małych gumowych pałeczek przypominających dżojstik, kulek, rysików. Sprawne ręce to cenna rzecz, ale wyobraź sobie, że z Twojego serwisu korzystają też osoby starsze, którym ręka drży i nie mogą łatwo wycelować myszką w mały, graficzny odnośnik lub link w postaci miniaturowego napisu. Dla nich korzystanie z serwisu będzie trudne, więc będą sfrustrowani, że nie mogą trafić w odnośnik. Będzie im przykro, że nikt o nich nie pomyślał.
Nie tylko monitor
Ekran monitora to nie jedyne urządzenie do prezentowania strony WWW. Można je przecież wydrukować, zsyntetyzować i przedstawić w postaci głosu elektronicznego lektora lub przenieść np. na specjalne czytniki alfabetu Braila, z których mogą korzystać niewidomi. Wiele osób kopiuje stronę do edytorów tekstu lub zapisuje ją na dysk lokalny. Dobra strona daje się przenieść do każdej z tych postaci. Czasem warto zadbać o kilka wersji swojej strony, np. większe opracowania można przygotować w postaci stron HTML i dokumentu PDF.
5 maja 1999 r. organizacja W3C opublikowała dokument "Web Content Accessibility Guidelines 1.0", który opisuje jak przygotować strony aby były one dostępne dla różnych urządzeń lub osób niepełnosprawnych. Warto go poznać, jeżeli chcesz tworzyć serwisy uniwersalne.
Zauważ, że już CSS2 przewiduje obsługę stron WWW na takich urządzeniach, jak: aural - syntezatory mowy, braille - dotykowe czytniki Braila, embossed - drukarki Braila, handheld - czytniki w urządzeniach naręcznych (np. palmtopy), print - drukarki, projection - projektory, screen - monitory komputerowe, tty - terminale, tv - telewizory.
Inne drobiazgi
Jest jeszcze wiele istotnych udogodnień, ważnych dla odbiorców naszych stron. Chociażby umożliwienie kontaktu z czytelnikiem bez potrzeby korzystania z programu pocztowego. Mały formularz z polem na tekst umożliwi wysłanie listu z dowolnego miejsca, chociażby z kawiarni internetowej. Ważne jest też podanie adresu e-mail, w formie łatwej do kopiowania i przenoszenia do edytora tekstu.
Warto stosować streszczenia i zapowiedzi tekstów. Aby oszczędzić czas osoby niewidomej można w dwóch zdaniach napisać o czym jest długi tekst. Podobnie w wypadku dokumentów nietypowych warto poinformować jaką mają objętość. Gdy ktoś korzysta z wolnego modemu i próbuje otworzyć dokument PDF mający 10 MB, a nie wie, jak długi jest ten dokument, może myśleć, że plik jest uszkodzony bo wciąż nie widać treści. Gdyby wiedział, że musi poświęcić wiele czasu na otwarcie go, być może nie podjąłby się pobierania pliku albo zrobiłby to w pracy, gdzie ma szybsze łącze.
Opisane przypadki nie są tylko rozważaniami teoretycznymi. Wiele serwisów, organizacji, dzienników i instytucji na całym świecie stara się sprostać opisanym przypadkom. Sam często korzystam z takich udogodnień, pomimo tego, że jestem sprawny i korzystam z nowoczesnego sprzętu.
FTP, czyli jak dodać strony na serwer
Gdy tylko skończysz tworzyć stronę WWW na własnym komputerze oraz poprawisz wszystkie błędy i niedociągnięcia, stwierdzisz pewnie, że chcesz teraz pokazać ją całemu światu. I słusznie, bo taki jest cel tworzenia serwisów internetowych. Zanim jednak zaprezentujesz stronę innym, musisz podjąć kilka ważnych decyzji.
Wybór dostawcy usług internetowych
Strony musisz umieścić na serwerze WWW. Jest to komputer, który powinien gwarantować dostęp do stron przez całą dobę. Musi być szybki, wydajny, bezpieczny i niezawodny. Serwery WWW udostępniają dostawcy usług internetowych, nazywani również po polskawemu "prowajderami" lub ISP (Internet Service Provider).
Firmy ISP pobierają opłaty za utrzymywanie stron WWW. Nie martw się, jest też sporo firm i portali, które pozwalają "bezpłatnie" umieszczać strony w Internecie. Bezpłatne konta na strony udostępniają większe portale.
Darmowe usługi są bardzo popularne i często wykorzystują je młodzi webmasterzy lub osoby prywatne, które nie tworzą zaawansowanych witryn. Pomimo tego, że mają szereg wad, są często jedynym sposobem zaistnienia w Internecie. Co prawda nie płacisz wtedy za utrzymywanie stron, jednak zgadzasz się na emitowanie reklam innych firm na Twojej stronie. Często musisz też podać swój adres e-mail i informacje o sobie, które mogą być wykorzystywane do przysyłania listów reklamowych. Ponieważ jest to usługa darmowa, nie masz wsparcia technicznego i firma nie gwarantuje wysokiej jakości usług. Dla amatora wystarcza, ale gdy chcesz czegoś więcej warto zdecydować się na usługi wyspecjalizowanych firm, gdzie opłaty nie są wielkie, ale masz znacznie szerszy pakiet usług.
Dobrym rozwiązaniem jest też porozmawianie ze znajomymi. Mogą dysponować własnym serwerem i być może bezpłatnie zamieszczą Twoją stronę WWW. Jest to rozwiązanie lepsze niż darmowe usługi, bo wtedy nikt Cię o nic nie wypytuje i nie umieszcza reklam w Twoim serwisie. Jeżeli administrator jest uczynny, może też założyć Ci poddomenę, np. nazwa.jakisserwer.pl
Wybór programu FTP
Jeżeli już wybrałeś firmę lub serwis, w którym będziesz trzymać swoje strony WWW, trzeba je tam jakoś umieścić... Służą do tego programy nazywane potocznie "programy do FTP". Zwykle w swojej nazwie mają skrót FTP, który oznacza protokół przesyłania plików (File Transfer Protocol). Musisz więc wybrać program, którym będziesz się posługiwał przy przesyłaniu plików.
Bez względu na to, jaki program wybierzesz, wszystkie działają bardzo podobnie - różnią się tylko ilością dostępnych funkcji, wyglądem i wygodą działania. Program FTP pozwala przenosić dokumenty między własnym komputerem i serwerem zdalnym (np. dostacy usług internetowych). Umożliwia kasowanie, kopiowanie, podglądanie i sprawne zarządzanie nimi.
Zakładając konto u dostawcy usług lub w bezpłatnym serwisie otrzymasz trzy bardzo ważne informacje:
• nazwę serwera FTP, np. www.reporter.pl
• login (Twój identyfikator), np. czarek
• hasło dostępu, np. Xcr423hJ
Nazwa serwera FTP to często nazwa serwisu poprzedzona prefiksem "ftp", np. ftp.reporter.pl. Może być też identyczna z nazwą serwera WWW, czyli www.reporter.pl. Znajomość nazwy serwera FTP jest niezbędna, bo właśnie na nim będziesz trzymać strony. Login i hasło wymagane są do identyfikacji. Pamiętaj aby pod żadnym pozorem nie podawać hasła nikomu, nawet administratorom serwisu. Oni i tak mają dostęp do każdej części serwera. Hasło jest tylko i wyłącznie do Twojej wiadomości.
Poszukaj w programie FTP opcji konfiguracyjnych. Wpisz w odpowiednie pola nazwę serwera, login i hasło. Teraz możesz połączyć się z serwerem FTP dostawcy. Zwykle na serwerze FTP jest katalog o nazwie www, do którego możesz przesłać wszystkie strony WWW z dysku. Czasem nazwa katalogu może być inna, zapoznaj się zawsze z dokumentacją, jaką udostępniają poszczególni dostawcy usług.
W zależności od programu, kopiowanie plików z własnego dysku na serwer może polegać na przeciąganiu ich myszą lub zaznaczeniu i wciśnięciu odpowiedniego guzika z menu. Po chwili zostaną one przetransportowane na serwer i już każdy może je zobaczyć w Internecie. Jeżeli plików masz wiele i są one duże (np. muzyka, wideo), czas ich przesyłania może być długi.
Musisz się jeszcze dowiedzieć, pod jakim adresem będzie widoczna Twoja strona. Nazwy katalogów na serwerze FTP nie muszą odpowiadać ścieżkom w adresie strony. A więc fakt, że pliki kopiujesz do katalogu www, nie oznacza, że Twoja strona będzie widoczna pod adresem: http://jakisserwer.pl/www/.
Zasady przesyłania
Warto znać podstawowe zasady przesyłania stron. Często okazuje się, że pomimo skopiowania stron na serwer, nie można ich zobaczyć... Najważniejszą sprawą jest wielkość liter w nazwach plików. Pamiętaj, że ten sam plik pisany dużymi i małymi literami, to zupełnie inne dokumenty! Strona INDEX.HTML nie oznacza strony index.html - jeżeli to tylko możliwe staraj się używać zawsze małych liter, wtedy nie będziesz mieć problemu z nazwami. Dotyczy to nazw plików i odnośników w treści stron WWW. Niektóre programy umożliwiają automatyczną zamianę wszystkich znaków w nazwie plików na małe podczas ich przesyłania. Osobiście korzystam z tego udogodnienia i nie muszę pamiętać o problemie z wielkością znaków.
Pamiętaj o poprawnych ścieżkach i katalogach. Również zapisuj je z małych liter. Jeżeli nie widzisz obrazków, sprawdź czy pliki graficzne są pobierane z odpowiednich katalogów i czy odpowiadają one katalogom na serwerze FTP. Jeżeli używasz skryptów CGI, na serwerze FTP z pewnością będzie gdzieś katalog /cgi-bin/ umieść je w tym miejscu nadając im odpowiednie prawa (czytanie i wykonywanie dla wszystkich, zapisywanie tylko dla użytkownika).
Sprawdź ile zajmuje strona WWW. Zwykle każde konto ma określoną pojemność, np. 10 MB. To dużo dla zwykłego tekstu, ale jeżeli chcesz umieszczać pliki muzyczne i wideo, może okazać się, że po prostu zabraknie miejsca. Musisz poprosić o zwiększenie limitu lub dokupić większą przestrzeń w ramach swojego konta. Może też być tak, że objętość dotyczy konta WWW i poczty e-mail. Jeżeli masz dużo poczty, możesz nie mieć miejsca na strony WWW i również trzeba poprosić o zwiększenie limitu pojemności.
Czasem nawet najlepszym i najdroższym dostawcom usług zdarza się, że nie są dostępni w Sieci. Chwilowa awaria łącza lub wymiana serwera może powodować przerwy w działaniu. W razie kłopotów z połączeniem, sprawdź, czy administratorzy nie zapowiedzieli awarii. Upewnij się też, że jesteś prawidłowo połączony do Internetu.
Nie działa!!! Co robić???
Jeżeli wszystko dokładnie sprawdzisz i przeczytasz regulamin oraz instrukcje obsługi konta i programu FTP, po chwili będziesz się cieszyć własną stroną WWW dostępną w Internecie. Gdy w dalszym ciągu masz problemy z konfiguracją, zwróć się o pomoc do swojego administratora. Dobre serwisy komercyjne udostępniają bezpłatną pomoc nawet 24 godziny na dobę (jeżeli nie jest to bardzo pilny problem, nie dzwoń do administratora o pierwszej w nocy). Z serwisami darmowymi może być gorzej, bo bywa, że nikt nie odpisuje na maile. Wtedy popytaj innych użytkowników tego serwisu (jeżeli wszyscy jeszcze z niego nie zrezygnowali), a z pewnością pomogą.
W przypadku kłopotów nigdy nie pisz czegoś w stylu "Nie mogę uruchomić stron WWW. Co robić?". Bo odpowiedź (jeżeli w ogóle ktoś odpisze) będzie równie lakoniczna "Przeczytaj instrukcję obsługi". Zawsze gdy zgłaszasz problem opisz w miarę dokładnie jakiego programu używasz, w jakich okolicznościach występuje błąd, jakie są objawy i czy jesteś początkujący. Im dokładniej opiszesz problem, tym szybciej dostaniesz konkretną odpowiedź. Zaoszczędzisz więc czasu sobie i ludziom, którzy poświęcą czas aby Ci pomóc.
XHTML 1.0 - następca języka HTML
Język HTML od wersji 4.01 nie jest już dalej rozwijany - zastąpił go XHTML, obecnie w wersji 1.1 (jednak tekst dotyczy łatwiejszej do opisania wersji XHTML 1.0). Nazwa brzmi może groźnie, ale w praktyce jest on niemal identyczny z HTML 4.01, którego dobrze znasz z mojego kursu.
Kilka nowych reguł bardzo łatwo możesz opanować i już po chwili będziesz w stanie pisać strony zgodne z językiem XHTML. Po co więc powstał nowy język? Dla wygody. HTML został znormalizowany aby mógł być zgodny z językiem XML, który określa zasady tworzenia innych języków używanych w elektronicznych publikacjach. Jest też łatwy do przetwarzania przez różne translatory XML.
Pisząc nowe strony dobrze jest stosować się do zasad określonych w XHTMLu, jeżeli jednak chcesz nadal używać tylko języka HTML 4.01 nic nie stoi na przeszkodzie aby zapomnieć o tym tekście zaraz po jego przeczytaniu. Nowe przeglądarki stron WWW będą cały czas obsługiwać HTML na równi z XHTMLem - przynajmniej w najbliższej przyszłości. Miliony dokumentów na całym świecie zostały napisane w języku HTML - nikt nie będzie ich nagle przerabiał do XHTMLa, bo byłaby to czynność pozbawiona sensu. Warto jednak znać różnice pomiędzy językami.
Deklaracja dokumentu
Każda strona w języku XHTML musi zaczynać się od określenia wersji języka XML (obecnie jest to wersja 1.0) i sposobu kodowania znaków. Dla języka polskiego będzie to iso-8859-2:
<?xml version="1.0" encoding="iso-8859-2"?>
Zwróć uwagę na znak zapytania (nie ukośnik), "zamykający" wersję XML. Następnie trzeba zadeklarować odpowiednią definicję DTD, czyli określić reguły języka. Musimy wybrać jedną z trzech wersji.
1. Strict: strona będzie napisana zgodnie z deklarowanym standardem i nie dopuszcza innych elementów. Trudno jest napisać taką stronę, ale właśnie do takiego ideału dążymy...
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"DTD/xhtml1-strict.dtd">
2. Transitional: strona będzie napisana zgodnie z deklarowanym standardem, ale dopuszczalne są też inne elementy, np. ze starego języka HTML. W większości wypadków dobrze jest użyć tej właśnie definicji...
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
3. Frames: strona będzie napisana zgodnie z deklarowanym standardem, ale dopuszczalne są też inne elementy, np. ze starego języka HTML. Ten wariant stosuje się gdy witryna zawiera ramki.
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
"DTD/xhtml1-frameset.dtd">
Trzeba również określić tzw. przestrzeń nazw. W języku XML sami decydujemy jaką rolę pełnią wszystkie elementy i ich atrybuty. Każdy element języka HTML może mieć wiele znaczeń, więc trzeba poinformować przeglądarkę co ma zrobić gdy natrafi np. na element img lub jak zareagować na atrybut src. W tym celu definiuje się przestrzeń nazw, gdzie określone są sposoby użycia poszczególnych poleceń. Odpowiedzialny jest za to atrybut xmlns (czyli XML namespace). Dla języka XHTML będzie to następujący fragment kodu:
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl">
Szablon strony
Znając już podstawowe elementy możemy utworzyć szablon strony. Nie różni się on bardzo od szablonu w języku HTML.
<?xml version="1.0" encoding="iso-8859-2"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Tytuł strony</title>
</head>
<body>
<p>Przykładowy akapit</p>
</body>
</html>
Czas na szczegóły...
1. Zagnieżdżanie. W języku XHTML istotna jest kolejność otwierania i zamykania tagów. W HTML również powinniśmy o tym pamiętać, ale tutaj ma to kluczowe znaczenie. Nie można napisać:
To <b>nie jest poprawna <i>kolejność</b> elementów</i> - są skrzyżowane!
Trzeba też pamiętać, aby element A nie zawierał innych elementów A. PRE nie może zawierać elementów IMG, BIG, SUB, SUP, SMALL i OBJECT. BUTTON nie może zawierać elementów INPUT, SELECT, TEXTAREA, LABEL, BUTTON, FORM, FIELDSET, IFRAME i ISINDEX. LABEL nie może zawierać innych elementów LABEL, a FORM nie może zawierać innych elementów FORM.
2. Zamykanie znaczników. Każdy znacznik musi być zamknięty, nawet jeżeli nie ma znaczników zamykających. Brzmi to może dziwnie, bo jak zamknąć element <br>? Jest na to sposób - wystarczy użyć go w postaci <br />, podobnie jak np. <img src="zdjecie.jpg" />. Pamiętaj o spacji przed ukośnikiem, bo niektóre współczesne przeglądarki mogą mieć problem gdy odstępu nie będzie.
3. Wielkość liter. Wszystkie elementy i atrybuty muszą być zapisywane małymi literami. Wielkość znaków w XHTML ma znaczenie, więc co innego znaczy <B> (to nie jest pogrubienie), a co innego <b> (to jest pogrubienie). W całym kursie stosuję duże litery dla atrybutów aby kurs był bardziej czytelny. W XHTMLu elementy pisane są z użyciem małych liter.
4. Cudzysłów. Wszystkie atrybuty muszą być zapisane w cudzysłowach. Błędem jest napisanie <table align=left width=100>. Prawidłowo powinno być: <table align="left" width="100">.
5. Atrybuty puste. W HTML stosowane są atrybuty puste (logiczne), np. <hr noshade>. W XHTMLu muszą mieć przypisane wartości. Ponieważ nie mają wartości, przypisuje się im własną nazwę. Po zamianie na XHTML przykład wygląda tak: <hr noshade="noshade" />.
6. Znaki specjalne. Trzeba uważać przy stosowaniu znaków < i & w skryptach i deklaracjach CSS. Najlepiej zastępować je poprzez < i &.
7. Skrypty. Każdy skrypt powinien być "otoczony" przez następującą strukturę:
<script type="text/javascript">
<![CDATA[
dopiero tutaj umieść skrypt
]]>
</script>
8. Atrybut ID Zamiast atrybutu name stosuj id. Atrybut name nie jest zalecany i nie powinno się go używać w XHTML. Jeżeli używasz atrybutu name, uzupełnij element o atrybut id o takiej samej wartości.
Już znasz XHTML...
Jak widzisz, XHTML nie jest zbyt trudny, choć wydaje się nieco kłopotliwy w użyciu. To w zasadzie stary, dobrze znany HTML wzbogacony o pewne reguły, które dbają o zgodność zapisu z językiem XML.
Gdy HTML przestaje wystarczać
Jeżeli dobrze opanujesz HTML i zaczniesz tworzyć bardziej zawansowane serwisy WWW, w pewnej chwili odkryjesz wiele niedoskonałości tego języka. Okazuje się, że w czystym HTMLu nie można stworzyć bazy danych z książkami, nie da się też napisać sklepu internetowego czy przetworzyć danych z formularza. Nie wspominając już o forach dyskusyjnych czy wyszukiwarkach stron WWW.
Nie znaczy to, że z języka HTML wkrótce zrezygnujesz. O nie! Jest on niezbędny, bowiem wyniki działania wszystkich skryptów i narzędzi pokazywane są w dalszym ciągu, jako zwykłe strony WWW napisane w języku HTML (ewentualnie z dołączonym skryptem). Jedyna różnica polega na tym, że strona staje się dynamiczna, a więc może za każdym razem wyglądać inaczej, czyli zawierać inne elementy języka HTML lub inne treści.
Dynamiczne strony
Aby lepiej zrozumieć ideę dynamicznych stron, zobacz jak zbudowane są serwisy prasowe publikujące aktualności. Tam nowe informacje pojawiają się nawet co kilka minut. Nikt przecież nie tworzy co chwilę nowej strony głównej z tytułami, które kierują do osobnych podstron, gdzie zamieszczane są poszczególne informacje. Byłoby to zbyt pracochłonne. Wyobraź sobie, co by się stało, gdyby nagle ktoś chciał zmienić wygląd wszystkich wiadomości - nie chciałbym być osobą, która musi ręcznie zmienić zawartość kilkunastu tysięcy osobnych dokumentów HTML!
Z problemem można sobie łatwo poradzić. Wystarczy skonstruować szablon strony, do którego z bazy danych wstawiane są w odpowiednie miejsca tytuły i treść informacji. W bazie danych są one zapisane jako zwykły tekst. Dopiero po ich pobraniu i wstawieniu w szablon strony WWW, który zawiera polecenia HTML, całość wysyłana jest do przeglądarki. Odbiorca widzi ją jako zwykła strona HTML. Różni się tylko nazwą - zamiast tradycyjnego index.html można spotkać np. index.php lub index.asp. Rozszerzenie określa język skryptowy, który został zastosowany do wygenerowania strony WWW.
Języki programowania pozwalają na przekazywanie różnych parametrów do wnętrza dokumentów. Wygląda to na przykład tak: index.php?id=1354. W ten sposób można poinformować program, że szablon ma być wypełniony informacją o określonym numerze ID, w tym wypadku jest to np. news numer 1354. Taki "trick" pozwala jedną stronę wykorzystać do wyświetlania wielu informacji w zależności, jakie dane zostały do niej przekazane.
Tym sposobem nie mamy już 10 tys. osobnych stron HTML, ale jedną stronę napisaną w wybranym języku programowania. Znając składnię języka możemy pobierać informacje z baz danych lub z innych serwisów, przetwarzać dokumenty, wyszukiwać informacje lub obsługiwać fora dyskusyjne.
Po stronie użytkownika
Część języków programowania uruchamianych jest w przeglądarce, która odpowiada za ich poprawne wykonanie. Sprawa wygląda podobnie, jak z językiem HTML - przeglądarka "czyta" kod i wykonuje go w swoim oknie. Użytkownik musi jednak mieć wersję przeglądarki (lub odpowiednią wtyczkę), obsługującą poprawnie wybrany język programowania.
Najczęściej jest to JavaScrypt i Java. Ponieważ każda przeglądarka różni się jednak nieco składnią poleceń, mogą pojawić się problemy z działaniem tych skryptów. Użytkownik może też zabronić przeglądarce wykonywania ich, przez co strona może stracić na jakości i czytelności.
Zaletą takiego rozwiązania jest szybkość działania. To przeglądarka wykonuje kod programu więc uruchamia się on znacznie szybciej niż przesłanie strony przez Internet. Natychmiast widać też efekty działania skryptu. Jeżeli skrypt nie pobiera dodatkowych danych przez Internet, można używać programu nawet po rozłączeniu się z Internetem (np. grać w gry napisane w Javie)
Języki JavaScript, JScript, ECMAScript
JavaScript (firmy Netscape) i JScript (Microsoftu) oraz ECMAScript (standard przemysłowy) funkcjonujące w zasadzie pod nazwą JavaScript to bardzo podobne języki, które można umieszczać na stronach WWW i mieszać je z HTMLem. Są bardzo przydatne gdy trzeba szybko poradzić sobie z prostym problemem, np. weryfikacją formularza lub wyświetleniem na stronie aktualnej daty z imieninami czy jakiegoś okienka z podpowiedzią. Oczywiście można je też stosować do bardziej zaawansowanych rzeczy - np. rozwijanych systemów menu.
JavaScript ma jednak poważną wadę - za jego wykonanie odpowiada przeglądarka, a ponieważ przeglądarki różnych firm inaczej interpretują polecenia języka JavaScript, wynik działania skryptu może być różny. W skrajnych przypadkach użytkownik nic nie zobaczy. Tym bardziej, że może wyłączyć w przeglądarce ten język lub jego przeglądarka może go wcale nie obsługiwać.
Do zalet należy niewątpliwie fakt, że nie trzeba za każdym razem przeładowywać strony aby zobaczyć efekty działania skryptu. W ten sposób można zrobić np. przyciski graficzne, które zmieniają się, gdy najedziemy na nie wskaźnikiem myszy.
Język Java
Potężny język pozwalający na umieszczenie na stronie WWW gotowego programu o dowolnym stopniu skomplikowania. Np. gry, edytora tekstów, arkusza kalkulacyjnego, interaktywnej mapy z pogodą. W wydzielonym miejscu na stronie można wstawić program nie ustępujący jakością programom tradycyjnym. Dodatkowo działa on w każdym systemie operacyjnym tak samo. Jedyna wada to fakt, że również wykonuje go przeglądarka, przez co nie zawsze można go uruchomić. Użytkownik może też wyłączyć działanie programów w Javie.
Po stronie serwera
Przeciwnością skryptów wykonywanych po stronie użytkownika są języki programowania wykonywane po stronie serwera. Serwer odpowiada za "wyprodukowanie" strony według naszych potrzeb i przesłanie jej w gotowej postaci do przeglądarki. Może to być czysty HTML lub wzbogacony również o skrypty wykonywane po stronie przeglądarki. Języki wykonywane po stronie serwera mają tą zaletę, że mogą współpracować z innymi aplikacjami uruchomionymi na serwerze, np. bazami danych. Mało tego - są niezależne od przeglądarki, więc każda otrzyma dokładnie ten sam wynik działania skryptu.
Najpopularniejszymi językami tego typu są PHP, PERL, ASP. Interfejs CGI pozwala na uruchamianie po stronie serwera programów w dowolnych językach, również w C. Dla programisty oznacza to dostęp do niemal wszystkich narzędzi znajdujących się na serwerze. Można w ten sposób zarządzać serwerem, dodawać nowych użytkowników, wysyłać pocztę, konfigurować i udostępniać różne usługi sieciowe oraz robić wiele innych rzeczy za pośrednictwem zwykłej przeglądarki stron WWW.
Język PHP
Szalenie popularny i niezbyt trudny język. Ma mnóstwo zalet i pozwala budować najbardziej skomplikowane serwisy i portale. Znając kilkanaście podstawowych poleceń można już pokusić się o tworzenie całkiem zaawansowanych serwisów. Udostępniają go obecnie wszyscy więksi dostawcy Internetu. Strony napisane w tym języku można poznać po rozszerzeniu nazwy, najczęściej .php.
Język PERL
Równie popularny, ale nieco trudniejszy do opanowania dla początkujących. Też pozwala budować najbardziej skomplikowane serwisy. Kiedyś, gdy nie było jeszcze PHP, był najpopularniejszym językiem skryptowym. Udostępniają go obecnie wszyscy więksi dostawcy Internetu. Strony napisane w tym języku można poznać po rozszerzeniu nazwy, najczęściej .cgi, .pl.
Technologia ASP
Produkt firmy Microsoft, więc wykorzystywany jest bardzo często na serwerach WWW tej firmy. Pozwala na zintegrowanie danych i programów pracujących pod kontrolą środowiska Windows. Zdecydowanie ustępuje popularnością językowi PHP. Jednak wielu twórców stron wybiera to rozwiązanie, jako najlepsze. Udostępniają go tylko wybrani dostawcy Internetu. Strony napisane w tym języku można poznać po rozszerzeniu nazwy, najczęściej .asp. Strony w ASP można pisać używając różnych języków, najczęściej są to VBScript, JScript, czasem PERL.
To nie koniec...
Powyższe języki są najpopularniejsze, ale nie jedyne. Narzędzi do tworzenia dynamicznych stron WWW jest wiele, a różne firmy oferują własne rozwiązania. Wybór odpowiedniego języka narzuca rodzaj i stopień zaawansowania serwisu WWW. Często też wykorzystuje się kilka języków jednocześnie.
Na początek proponuję Ci naukę języka PHP. Jest wystarczająco zaawansowany i jednocześnie na tyle prosty, że po jego opanowaniu w stopniu podstawowym możesz spokojnie konkurować z większymi serwisami. W Internecie znajduje się tysiące gotowych skryptów, więc wystarczy tylko umiejętność konfigurowania i dodawania ich do własnego serwisu, aby cieszyć się wyszukiwarką na stronie lub własnym forum. Wiele gotowych przykładów i skryptów opisanych jest w serwisie Web.Reporter.pl.
Przydatne tabele
Kolory na stronie WWW
Każda przeglądarka stron WWW pozwala uzyskać na ekranie jednocześnie 256 różnych kolorów, jednak tylko 216 z nich poprawnie wyświetlają wszystkie przeglądarki internetowe. Używając "bezpiecznego" zestawu barw masz pewność, że kolor zostanie pokazany tak samo w każdym systemie operacyjnym (paleta 256 kolorów w systemie Windows nie odpowiada tym samym kolorom systemowym w komputerze Macintosh). Jeżeli użyjesz większej ilości kolorów, mogą one zostać zamienione do podobnych kolorów z podstawowego zestawu barw, czyli wspomnianych, bezpiecznych 216 kolorów.
Dowolny kolor składa się z trzech barw podstawowych: czerwonej, zielonej i niebieskiej (red, green, blue - czyli RGB). Do dyspozycji mamy 256 odcieni każdego z tych kolorów i poprzez ich mieszanie otrzymujemy dowolny inny kolor.
Kolor RGB zapisywany jest w postaci #RRGGBB, gdzie RR to zapisany szesnastkowo (heksadecymalnie) kolor czerwony (red), GG to kolor zielony (green), a BB to kolor niebieski (blue). Oznacza to, że każdy kolor może przyjmować wartości od 00 do FF. W stylach CSS pojawia się jeszcze zapis dziesiętny koloru RGB w postaci rgb(RR,GG,BB), gdzie każda składowa może przyjmować wartości od 0 do 255. Bezpieczne kolory operują wielokrotnością liczby 33 w systemie szesnastkowym (00, 33, 66, 99, CC, FF) i 51 w systemie dziesiętnym (0, 51, 102, 153, 204, 255).
Można też używać nazw kolorów. Podstawowe 16 określeń pochodzi od nazw kolorów, które można było uzyskać na komputerach z kartą graficzną VGA (komputery pokazywały kiedyś tylko 16 kolorów): white (kolor biały - #FFFFFF), black (kolor czarny - #000000), green, blue, fuchsia, yellow, lime, olive, purple, teal, silver, red, navy, maroon, gray, aqua.
Ostatecznie zwiększono jednak liczbę dostępnych nazw kolorów do 140. Tabela na końcu tekstu prezentuje wszystkie dostępne nazwy. Należy jednak pamiętać, że nie w pełni odpowiadają one bezpiecznej palecie, np. zapis szesnastkowy koloru maroon to #800000 (nie ma takiego w tablicy bezpiecznych kolorów!).
Można nie zwracać uwagi na różnicę jeśli umieszczamy tylko zielony napis lub zieloną tabelę. Wtedy nawet lepiej jest stosować nazwy, bo nie trzeba zastanawiać się, jak zapisać kolor zielony za pomocą #RRGGBB. Informacja ta zaczyna nabierać znaczenia wyłącznie przy łączeniu bitmapy (GIF, JPEG) z kolorami na stronie WWW wprowadzonymi np. takimi instrukcjami:
color:#00ff66; - ustala kolor czcionki za pomocą stylu
background-color:#00ff66; - ustala kolor tła za pomocą stylu
<font color="#33ff22"> - ustala kolor czcionki
<tr bgcolor="blue"> - ustawia kolor rzędu komórek w tabeli
<td bgcolor="#cc9966"> - ustawia kolor komórki w tabeli
<body bgcolor="white"> - ustawia kolor tła strony
Grupa elementów wykorzystujących kolory:
Grupa atrybutów wykorzystujących kolory:
Grupa stylów wykorzystujących kolory:
active, background-color, border-bottom-color, border-color, border-left-color, border-right-color, border-top-color, color, link, outline, visited
Obecnie nie zaleca się stosowania atrybutów HTML. Powinno się je zamieniać na style CSS. W stylach, w miejsce #RRGGBB można wpisać kolor w postaci szesnastkowej (np. #CCFFCC), nazwy angielskiej (np. maroon) lub wartości RGB - rgb(20,20,99). Oto odpowiedniki:
• alink - A:active {color:#RRGGBB;}
• bgcolor - background-color:#RRGGBB;
• color - color:#RRGGBB;
• link - A:link {color:#RRGGBB;}
• text - color:#RRGGBB;
• vlink - A:visited {color:#RRGGBB;}
Projektując wygląd strony, warto zwrócić uwagę na dobór kolorów. W Internecie dostępne są serwisy wspomagające dobieranie kolorów i projektowanie bezpiecznych zestawów barwnych dla tabel, linków, tekstu czy tła. Takie narzędzie znajdziesz w serwisie Web.Reporter.pl.
zestawienie 216 "bezpiecznych" kolorów (HEX/RGB)
#FF0000 |
#FF0033 |
#FF0066 |
#FF0099 |
#FF00CC |
#FF00FF |
#FF3300 |
#FF3333 |
#FF3366 |
#FF3399 |
#FF33CC |
#FF33FF |
#FF6600 |
#FF6633 |
#FF6666 |
#FF6699 |
#FF66CC |
#FF66FF |
#FF9900 |
#FF9933 |
#FF9966 |
#FF9999 |
#FF99CC |
#FF99FF |
#FFCC00 |
#FFCC33 |
#FFCC66 |
#FFCC99 |
#FFCCCC |
#FFCCFF |
#FFFF00 |
#FFFF33 |
#FFFF66 |
#FFFF99 |
#FFFFCC |
#FFFFFF |
#CC0000 |
#CC0033 |
#CC0066 |
#CC0099 |
#CC00CC |
#CC00FF |
#CC3300 |
#CC3333 |
#CC3366 |
#CC3399 |
#CC33CC |
#CC33FF |
#CC6600 |
#CC6633 |
#CC6666 |
#CC6699 |
#CC66CC |
#CC66FF |
#CC9900 |
#CC9933 |
#CC9966 |
#CC9999 |
#CC99CC |
#CC99FF |
#CCCC00 |
#CCCC33 |
#CCCC66 |
#CCCC99 |
#CCCCCC |
#CCCCFF |
#CCFF00 |
#CCFF33 |
#CCFF66 |
#CCFF99 |
#CCFFCC |
#CCFFFF |
#990000 |
#990033 |
#990066 |
#990099 |
#9900CC |
#9900FF |
#993300 |
#993333 |
#993366 |
#993399 |
#9933CC |
#9933FF |
#996600 |
#996633 |
#996666 |
#996699 |
#9966CC |
#9966FF |
#999900 |
#999933 |
#999966 |
#999999 |
#9999CC |
#9999FF |
#99CC00 |
#99CC33 |
#99CC66 |
#99CC99 |
#99CCCC |
#99CCFF |
#99FF00 |
#99FF33 |
#99FF66 |
#99FF99 |
#99FFCC |
#99FFFF |
#660000 |
#660033 |
#660066 |
#660099 |
#6600CC |
#6600FF |
#663300 |
#663333 |
#663366 |
#663399 |
#6633CC |
#6633FF |
#666600 |
#666633 |
#666666 |
#666699 |
#6666CC |
#6666FF |
#669900 |
#669933 |
#669966 |
#669999 |
#6699CC |
#6699FF |
#66CC00 |
#66CC33 |
#66CC66 |
#66CC99 |
#66CCCC |
#66CCFF |
#66FF00 |
#66FF33 |
#66FF66 |
#66FF99 |
#66FFCC |
#66FFFF |
#330000 |
#330033 |
#330066 |
#330099 |
#3300CC |
#3300FF |
#333300 |
#333333 |
#333366 |
#333399 |
#3333CC |
#3333FF |
#336600 |
#336633 |
#336666 |
#336699 |
#3366CC |
#3366FF |
#339900 |
#339933 |
#339966 |
#339999 |
#3399CC |
#3399FF |
#33CC00 |
#33CC33 |
#33CC66 |
#33CC99 |
#33CCCC |
#33CCFF |
#33FF00 |
#33FF33 |
#33FF66 |
#33FF99 |
#33FFCC |
#33FFFF |
#000000 |
#000033 |
#000066 |
#000099 |
#0000CC |
#0000FF |
#003300 |
#003333 |
#003366 |
#003399 |
#0033CC |
#0033FF |
#006600 |
#006633 |
#006666 |
#006699 |
#0066CC |
#0066FF |
#009900 |
#009933 |
#009966 |
#009999 |
#0099CC |
#0099FF |
#00CC00 |
#00CC33 |
#00CC66 |
#00CC99 |
#00CCCC |
#00CCFF |
#00FF00 |
#00FF33 |
#00FF66 |
#00FF99 |
#00FFCC |
#00FFFF |
zestawienie nazw kolorów (nie są to kolory "bezpieczne"):
(pogrubionych zostało 16 podstawowych nazw)
nazwa koloru |
HEX |
RGB |
kolor |
AliceBlue |
#F0F8FF |
rgb(240,248,255) |
|
AntiqueWhite |
#FAEBD7 |
rgb(250,235,215) |
|
Aqua |
#00FFFF |
rgb(0,255,255) |
|
Aquamarine |
#7FFFD4 |
rgb(127,255,212) |
|
Azure |
#F0FFFF |
rgb(240,255,255) |
|
Beige |
#F5F5DC |
rgb(245,245,220) |
|
Bisque |
#FFE4C4 |
rgb(255,228,196) |
|
Black |
#000000 |
rgb(0,0,0) |
|
BlanchedAlmond |
#FFEBCD |
rgb(255,235,205) |
|
Blue |
#0000FF |
rgb(0,0,255) |
|
BlueViolet |
#8A2BE2 |
rgb(138,43,226) |
|
Brown |
#A52A2A |
rgb(165,42,42) |
|
Burlywood |
#DEB887 |
rgb(222,184,135) |
|
CadetBlue |
#5F9EA0 |
rgb(95,158,160) |
|
Chartreuse |
#7FFF00 |
rgb(127,255,0) |
|
Chocolate |
#D2691E |
rgb(210,105,30) |
|
Coral |
#FF7F50 |
rgb(255,127,80) |
|
CornflowerBlue |
#6495ED |
rgb(100,149,237) |
|
Cornsilk |
#FFF8DC |
rgb(255,248,220) |
|
Crimson |
#DC143C |
rgb(220,20,60) |
|
Cyan |
#00FFFF |
rgb(0,255,255) |
|
DarkBlue |
#00008B |
rgb(0,0,139) |
|
DarkCyan |
#008B8B |
rgb(0,139,139) |
|
DarkGoldenrod |
#B8860B |
rgb(184,134,11) |
|
DarkGray |
#A9A9A9 |
rgb(169,169,169) |
|
DarkGreen |
#006400 |
rgb(0,100,0) |
|
DarkKhaki |
#BDB76B |
rgb(189,183,107) |
|
DarkMagenta |
#8B008B |
rgb(139,0,139) |
|
DarkOliveGreen |
#556B2F |
rgb(85,107,47) |
|
DarkOrange |
#FF8C00 |
rgb(255,140,0) |
|
DarkOrchid |
#9932CC |
rgb(153,50,204) |
|
DarkRed |
#8B0000 |
rgb(139,0,0) |
|
DarkSalmon |
#E9967A |
rgb(233,150,122) |
|
DarkSeaGreen |
#8FBC8F |
rgb(143,188,143) |
|
DarkSlateBlue |
#483D8B |
rgb(72,61,139) |
|
DarkSlateGray |
#2F4F4F |
rgb(47,79,79) |
|
DarkTurquoise |
#00CED1 |
rgb(0,206,209) |
|
DarkViolet |
#9400D3 |
rgb(148,0,211) |
|
DeepPink |
#FF1493 |
rgb(255,20,147) |
|
DeepSkyBlue |
#00BFBF |
rgb(0,191,191) |
|
DimGrey |
#696969 |
rgb(105,105,105) |
|
DodgerBlue |
#1E90FF |
rgb(30,144,255) |
|
Firebrick |
#B22222 |
rgb(178,34,34) |
|
FloralWhite |
#FFFAF0 |
rgb(255,250,240) |
|
ForestGreen |
#228B22 |
rgb(34,139,34) |
|
Fuchsia |
#FF00FF |
rgb(255,0,255) |
|
Gainsboro |
#DCDCDC |
rgb(220,220,220) |
|
GhostWhite |
#F8F8FF |
rgb(248,248,255) |
|
Gold |
#FFD700 |
rgb(255,215,0) |
|
Goldenrod |
#DAA520 |
rgb(218,165,32) |
|
Green |
#008000 |
rgb(0,128,0) |
|
GreenYellow |
#ADFF2F |
rgb(173,255,47) |
|
Gray |
#808080 |
rgb(128,128,128) |
|
Honeydew |
#F0FFF0 |
rgb(240,255,240) |
|
HotPink |
#FF69B4 |
rgb(255,105,180) |
|
IndianRed |
#CD5C5C |
rgb(205,92,92) |
|
Indigo |
#4B0082 |
rgb(75,0,130) |
|
Ivory |
#FFFFF0 |
rgb(255,255,240) |
|
Khaki |
#F0E68C |
rgb(240,230,140) |
|
Lavender |
#E6E6FA |
rgb(230,230,250) |
|
LavenderBlush |
#FFF0F5 |
rgb(255,240,245) |
|
LawnGreen |
#7CFC00 |
rgb(124,252,0) |
|
LemonChiffon |
#FFFACD |
rgb(255,250,205) |
|
LightBlue |
#ADD8E6 |
rgb(173,216,230) |
|
LightCoral |
#F08080 |
rgb(240,128,128) |
|
LightCyan |
#E0FFFF |
rgb(224,255,255) |
|
LightGoldenrodYellow |
#FAFAD2 |
rgb(250,250,210) |
|
LightGreen |
#90EE90 |
rgb(144,238,144) |
|
LightGray |
#D3D3D3 |
rgb(211,211,211) |
|
LightPink |
#FFB6C1 |
rgb(255,182,193) |
|
LightSalmon |
#FFA07A |
rgb(255,160,122) |
|
LightSeaGreen |
#20B2AA |
rgb(32,178,170) |
|
LightSkyBlue |
#87CEFA |
rgb(135,206,250) |
|
LightSlateGray |
#778899 |
rgb(119,136,153) |
|
LightSteelBlue |
#B0C4DE |
rgb(176,196,222) |
|
LightYellow |
#FFFFE0 |
rgb(255,255,224) |
|
Lime |
#00FF00 |
rgb(0,255,0) |
|
LimeGreen |
#32CD32 |
rgb(50,205,50) |
|
Linen |
#FAF0E6 |
rgb(250,240,230) |
|
Magenta |
#FF00FF |
rgb(255,0,255) |
|
Maroon |
#800000 |
rgb(128,0,0) |
|
MediumAquamarine |
#66CDAA |
rgb(102,205,170) |
|
MediumBlue |
#0000CD |
rgb(0,0,205) |
|
MediumOrchid |
#BA55D3 |
rgb(186,85,211) |
|
MediumPurple |
#9370DB |
rgb(147,112,219) |
|
MediumSeaGreen |
#3CB371 |
rgb(60,179,113) |
|
MediumSlateBlue |
#7B68EE |
rgb(123,104,238) |
|
MediumSpringGreen |
#00FA9A |
rgb(0,250,154) |
|
MediumTurquoise |
#48D1CC |
rgb(72,209,204) |
|
MediumVioletRed |
#C71585 |
rgb(199,21,133) |
|
MidnightBlue |
#191970 |
rgb(25,25,112) |
|
MintCream |
#F5FFFA |
rgb(245,255,250) |
|
MistyRose |
#FFE4E1 |
rgb(255,228,225) |
|
Moccasin |
#FFE4B5 |
rgb(255,228,181) |
|
NavajoWhite |
#FFDEAD |
rgb(255,222,173) |
|
Navy |
#000080 |
rgb(0,0,128) |
|
OldLace |
#FDF5E6 |
rgb(253,245,230) |
|
Olive |
#808000 |
rgb(128,128,0) |
|
OliveDrab |
#6B8E23 |
rgb(107,142,35) |
|
Orange |
#FFA500 |
rgb(255,165,0) |
|
OrangeRed |
#FF4500 |
rgb(255,69,0) |
|
Orchid |
#DA70D6 |
rgb(218,112,214) |
|
PaleGoldenrod |
#EEE8AA |
rgb(238,232,170) |
|
PaleGreen |
#98FB98 |
rgb(152,251,152) |
|
PaleTurquoise |
#AFEEEE |
rgb(175,238,238) |
|
PaleVioletRed |
#DB7093 |
rgb(219,112,147) |
|
PapayaWhip |
#FFEFD5 |
rgb(255,239,213) |
|
PeachPuff |
#FFDAB9 |
rgb(255,218,185) |
|
Peru |
#CD853F |
rgb(205,133,63) |
|
Pink |
#FFC0CB |
rgb(255,192,203) |
|
Plum |
#DDA0DD |
rgb(221,160,221) |
|
PowderBlue |
#B0E0E6 |
rgb(176,224,230) |
|
Purple |
#800080 |
rgb(128,0,128) |
|
Red |
#FF0000 |
rgb(255,0,0) |
|
RosyBrown |
#BC8F8F |
rgb(188,143,143) |
|
RoyalBlue |
#4169E1 |
rgb(65,105,225) |
|
SaddleBrown |
#8B4513 |
rgb(139,69,19) |
|
Salmon |
#FA8072 |
rgb(250,128,114) |
|
SandyBrown |
#F4A460 |
rgb(244,164,96) |
|
SeaGreen |
#2E8B57 |
rgb(46,139,87) |
|
Seashell |
#FFF5EE |
rgb(255,245,238) |
|
Sienna |
#A0522D |
rgb(160,82,45) |
|
Silver |
#C0C0C0 |
rgb(192,192,192) |
|
SkyBlue |
#87CEEB |
rgb(135,206,235) |
|
SlateBlue |
#6A5ACD |
rgb(106,90,205) |
|
SlateGrey |
#708090 |
rgb(112,128,144) |
|
Snow |
#FFFAFA |
rgb(255,250,250) |
|
SpringGreen |
#00FF7F |
rgb(0,255,127) |
|
SteelBlue |
#4682B4 |
rgb(70,130,180) |
|
Tan |
#D2B48C |
rgb(210,180,140) |
|
Teal |
#008080 |
rgb(0,128,128) |
|
Thistle |
#D8BFD8 |
rgb(216,191,216) |
|
Tomato |
#FF6347 |
rgb(255,99,71) |
|
Turquoise |
#40E0D0 |
rgb(64,224,208) |
|
Violet |
#EE82EE |
rgb(238,130,238) |
|
Wheat |
#F5DEB3 |
rgb(245,222,179) |
|
White |
#FFFFFF |
rgb(255,255,255) |
|
WhiteSmoke |
#F5F5F5 |
rgb(245,245,245) |
|
Yellow |
#FFFF00 |
rgb(255,255,0) |
|
YellowGreen |
#9ACD32 |
rgb(154,205,50) |
|
Znaki, kody liczbowe i encje
Każdy znak umieszczony na stronie WWW można zapisać na kilka sposobów. Czasem tradycyjne znaki wprowadzane z klawiatury nie wystarczają i trzeba skorzystać ze specjalnych kodów tych znaków. Wiele liter czy symboli nie znajdziemy na klawiaturze - jedynym sposobem ich wyświetlenia na stronie WWW jest posłużenie się odpowiednim kodem znaku. Są też znaki niewidoczne (np. twarda spacja), której nie można zastąpić tradycyjnymi odstępami z klawiatury.
Na stronie WWW dowolne znaki alfabetu można wstawić na trzy sposoby:
- z klawiatury (co jest oczywiste i naturalne)
- w Unikodzie, którego składnia wygląda następujaco: &#D; lub &#xH; - gdzie D jest liczbą dziesiętną (np. 1,23,456,9001), a H jest liczbą szesnastkową (np. 0001, 00FF, 004B).
- za pomocą tzw. encji, czyli nazwy znaku zapisanej następująco: &nazwa; - nazwy dla takiego zapisu można znaleźć w tabeli. Ważna uwaga - wielkość liter ma tutaj znaczenie.
Oczywiście zestaw znaków dla każdego rodzaju czcionki jest inny. Czasem symbolu lub znaku może brakować. Poniższa tabela zawiera zestaw znaków dla czcionki Arial - występującej w większości komputerów. Nie bez znaczenia jest też kodowanie znaków na stronie WWW - polskie strony kodowane są w standardzie ISO-8859-2 i wtedy "ogonki" mogą nadpisać inne znaki, które dla angielskich stron kodowanych w ISO8859-1 są widoczne.
Stosowanie encji (nazw znaków) jest bardzo praktyczne, bo zamiast pamiętać numer znaku wystarczy napisać ® aby otrzymać znak zastrzeżenia (®). Duży odstęp pomiędzy wyrazami możliwy jest np. dzięki powtórzonej encji (spacje, które nie przechodzą do następnego wiersza). Również znaki narodowe często łatwiej jest wpisać za pomocą kodów - oto rosyjskie ż (Ж) zapisane jako Ж
Zapisywanie znaków w postaci Unikodu pozwala bezproblemowo umieszczać na jednej stronie nawet kilka różnych symboli narodowych. Można więc pisać po polsku, rosyjsku, czesku...
Poniższa tabela składa się z następujących pól:
• znak - symbol znaku zapisany w postaci &#D;
• Unikod - dziesiętny &#D; i szesnastkowy &#xH; kod znaku
• znak - symbol znaku zapisany w postaci &nazwa;
• encja - nazwa encji
• krótki opis - miejsce na uwagi
znak |
Unikod |
znak |
encja |
krótki opis |
|
    |
|
|
|
! |
! ! |
|
|
|
" |
" " |
|
|
|
# |
# # |
|
|
|
$ |
$ $ |
|
|
|
% |
% % |
|
|
|
& |
& & |
|
|
|
' |
' ' |
|
|
|
( |
( ( |
|
|
|
) |
) ) |
|
|
|
* |
* * |
|
|
|
+ |
+ + |
|
|
|
, |
, , |
|
|
|
- |
- - |
|
|
|
. |
. . |
|
|
|
/ |
/ / |
|
|
|
0 |
0 0 |
|
|
|
1 |
1 1 |
|
|
|
2 |
2 2 |
|
|
|
3 |
3 3 |
|
|
|
4 |
4 4 |
|
|
|
5 |
5 5 |
|
|
|
6 |
6 6 |
|
|
|
7 |
7 7 |
|
|
|
8 |
8 8 |
|
|
|
9 |
9 9 |
|
|
|
: |
: : |
|
|
|
; |
; ; |
|
|
|
< |
< < |
|
|
|
= |
= = |
|
|
|
> |
> > |
|
|
|
? |
? ? |
|
|
|
@ |
@ @ |
|
|
|
A |
A A |
|
|
|
B |
B B |
|
|
|
C |
C C |
|
|
|
D |
D D |
|
|
|
E |
E E |
|
|
|
F |
F F |
|
|
|
G |
G G |
|
|
|
H |
H H |
|
|
|
I |
I I |
|
|
|
J |
J J |
|
|
|
K |
K K |
|
|
|
L |
L L |
|
|
|
M |
M M |
|
|
|
N |
N N |
|
|
|
O |
O O |
|
|
|
P |
P P |
|
|
|
Q |
Q Q |
|
|
|
R |
R R |
|
|
|
S |
S S |
|
|
|
T |
T T |
|
|
|
U |
U U |
|
|
|
V |
V V |
|
|
|
W |
W W |
|
|
|
X |
X X |
|
|
|
Y |
Y Y |
|
|
|
Z |
Z Z |
|
|
|
[ |
[ [ |
|
|
|
\ |
\ \ |
|
|
|
] |
] ] |
|
|
|
^ |
^ ^ |
|
|
|
_ |
_ _ |
|
|
|
` |
` ` |
|
|
|
a |
a a |
|
|
|
b |
b b |
|
|
|
c |
c c |
|
|
|
d |
d d |
|
|
|
e |
e e |
|
|
|
f |
f f |
|
|
|
g |
g g |
|
|
|
h |
h h |
|
|
|
i |
i i |
|
|
|
j |
j j |
|
|
|
k |
k k |
|
|
|
l |
l l |
|
|
|
m |
m m |
|
|
|
n |
n n |
|
|
|
o |
o o |
|
|
|
p |
p p |
|
|
|
q |
q q |
|
|
|
r |
r r |
|
|
|
s |
s s |
|
|
|
t |
t t |
|
|
|
u |
u u |
|
|
|
v |
v v |
|
|
|
w |
w w |
|
|
|
x |
x x |
|
|
|
y |
y y |
|
|
|
z |
z z |
|
|
|
{ |
{ { |
|
|
|
| |
| | |
|
|
|
} |
} } |
|
|
|
~ |
~ ~ |
|
|
|
|
    |
|
|
twarda spacja |
ˇ |
¡ ¡ |
ˇ |
¡ |
odwrócony wykrzyknik |
¢ |
¢ ¢ |
¢ |
¢ |
|
£ |
£ £ |
£ |
£ |
|
¤ |
¤ ¤ |
¤ |
¤ |
|
¥ |
¥ ¥ |
¥ |
¥ |
|
¦ |
¦ ¦ |
¦ |
¦ |
|
§ |
§ § |
§ |
§ |
|
¨ |
¨ ¨ |
¨ |
¨ |
|
© |
© © |
© |
© |
|
ª |
ª ª |
ª |
ª |
|
« |
« « |
« |
« |
|
¬ |
¬ ¬ |
¬ |
¬ |
|
|
­ ­ |
|
­ |
|
® |
® ® |
® |
® |
|
¯ |
¯ ¯ |
¯ |
¯ |
|
° |
° ° |
° |
° |
|
± |
± ± |
± |
± |
|
² |
² ² |
² |
² |
|
³ |
³ ³ |
³ |
³ |
|
´ |
´ ´ |
´ |
´ |
|
µ |
µ µ |
µ |
µ |
|
¶ |
¶ ¶ |
¶ |
¶ |
|
· |
· · |
· |
· |
|
¸ |
¸ ¸ |
¸ |
¸ |
|
¹ |
¹ ¹ |
¹ |
¹ |
|
º |
º º |
º |
º |
|
» |
» » |
» |
» |
|
¼ |
¼ ¼ |
¼ |
¼ |
|
½ |
½ ½ |
½ |
½ |
|
¾ |
¾ ¾ |
¾ |
¾ |
|
¿ |
¿ ¿ |
¿ |
¿ |
|
À |
À À |
À |
À |
|
Á |
Á Á |
Á |
Á |
|
 |
  |
 |
 |
|
à |
à à |
à |
à |
|
Ä |
Ä Ä |
Ä |
Ä |
|
Å |
Å Å |
Å |
Å |
|
Æ |
Æ Æ |
Æ |
Æ |
|
Ç |
Ç Ç |
Ç |
Ç |
|
È |
È È |
È |
È |
|
É |
É É |
É |
É |
|
Ê |
Ê Ê |
Ê |
Ê |
|
Ë |
Ë Ë |
Ë |
Ë |
|
Ì |
Ì Ì |
Ì |
Ì |
|
Í |
Í Í |
Í |
Í |
|
Î |
Î Î |
Î |
Î |
|
Ï |
Ï Ï |
Ï |
Ï |
|
Ð |
Ð Ð |
Ð |
Ð |
|
Ñ |
Ñ Ñ |
Ñ |
Ñ |
|
Ò |
Ò Ò |
Ò |
Ò |
|
Ó |
Ó Ó |
Ó |
Ó |
|
Ô |
Ô Ô |
Ô |
Ô |
|
Õ |
Õ Õ |
Õ |
Õ |
|
Ö |
Ö Ö |
Ö |
Ö |
|
× |
× × |
× |
× |
|
Ø |
Ø Ø |
Ø |
Ø |
|
Ù |
Ù Ù |
Ù |
Ù |
|
Ú |
Ú Ú |
Ú |
Ú |
|
Û |
Û Û |
Û |
Û |
|
Ü |
Ü Ü |
Ü |
Ü |
|
Ý |
Ý Ý |
Ý |
Ý |
|
Þ |
Þ Þ |
Þ |
Þ |
|
ß |
ß ß |
ß |
ß |
|
à |
à à |
à |
à |
|
á |
á á |
á |
á |
|
â |
â â |
â |
â |
|
ã |
ã ã |
ã |
ã |
|
ä |
ä ä |
ä |
ä |
|
å |
å å |
å |
å |
|
æ |
æ æ |
æ |
æ |
|
ç |
ç ç |
ç |
ç |
|
è |
è è |
è |
è |
|
é |
é é |
é |
é |
|
ê |
ê ê |
ê |
ê |
|
ë |
ë ë |
ë |
ë |
|
ě |
ì ì |
ì |
ì |
|
í |
í í |
í |
í |
|
î |
î î |
î |
î |
|
ï |
ï ï |
ï |
ï |
|
ð |
ð ð |
ð |
ð |
|
ñ |
ñ ñ |
ñ |
ñ |
|
ò |
ò ò |
ò |
ò |
|
ó |
ó ó |
ó |
ó |
|
ô |
ô ô |
ô |
ô |
|
õ |
õ õ |
õ |
õ |
|
ö |
ö ö |
ö |
ö |
|
÷ |
÷ ÷ |
÷ |
÷ |
|
ø |
ø ø |
ø |
ø |
|
ù |
ù ù |
ù |
ù |
|
ú |
ú ú |
ú |
ú |
|
û |
û û |
û |
û |
|
ü |
ü ü |
ü |
ü |
|
ý |
ý ý |
ý |
ý |
|
þ |
þ þ |
þ |
þ |
|
ÿ |
ÿ ÿ |
ÿ |
ÿ |
|
ƒ |
ƒ ƒ |
ƒ |
ƒ |
|
Α |
Α Α |
Α |
Α |
|
Β |
Β Β |
Β |
Β |
|
Γ |
Γ Γ |
Γ |
Γ |
|
Δ |
Δ Δ |
Δ |
Δ |
|
Ε |
Ε Ε |
Ε |
Ε |
|
Ζ |
Ζ Ζ |
Ζ |
Ζ |
|
Η |
Η Η |
Η |
Η |
|
Θ |
Θ Θ |
Θ |
Θ |
|
Ι |
Ι Ι |
Ι |
Ι |
|
Κ |
Κ Κ |
Κ |
Κ |
|
Λ |
Λ Λ |
Λ |
Λ |
|
Μ |
Μ Μ |
Μ |
Μ |
|
Ν |
Ν Ν |
Ν |
Ν |
|
Ξ |
Ξ Ξ |
Ξ |
Ξ |
|
Ο |
Ο Ο |
Ο |
Ο |
|
Π |
Π Π |
Π |
Π |
|
Ρ |
Ρ Ρ |
Ρ |
Ρ |
|
Σ |
Σ Σ |
Σ |
Σ |
|
Τ |
Τ Τ |
Τ |
Τ |
|
Υ |
Υ Υ |
Υ |
Υ |
|
Φ |
Φ Φ |
Φ |
Φ |
|
Χ |
Χ Χ |
Χ |
Χ |
|
Ψ |
Ψ Ψ |
Ψ |
Ψ |
|
Ω |
Ω Ω |
Ω |
Ω |
|
α |
α α |
α |
α |
|
β |
β β |
β |
β |
|
γ |
γ γ |
γ |
γ |
|
δ |
δ δ |
δ |
δ |
|
ε |
ε ε |
ε |
ε |
|
ζ |
ζ ζ |
ζ |
ζ |
|
η |
η η |
η |
η |
|
θ |
θ θ |
θ |
θ |
|
ι |
ι ι |
ι |
ι |
|
κ |
κ κ |
κ |
κ |
|
λ |
λ λ |
λ |
λ |
|
μ |
μ μ |
μ |
μ |
|
ν |
ν ν |
ν |
ν |
|
ξ |
ξ ξ |
ξ |
ξ |
|
ο |
ο ο |
ο |
ο |
|
π |
π π |
π |
π |
|
ρ |
ρ ρ |
ρ |
ρ |
|
ς |
ς ς |
ς |
ς |
|
σ |
σ σ |
σ |
σ |
|
τ |
τ τ |
τ |
τ |
|
υ |
υ υ |
υ |
υ |
|
φ |
φ φ |
φ |
φ |
|
χ |
χ χ |
χ |
χ |
|
ψ |
ψ ψ |
ψ |
ψ |
|
ω |
ω ω |
ω |
ω |
|
ϑ |
ϑ ϑ |
ϑ |
ϑ |
|
ϒ |
ϒ ϒ |
ϒ |
ϒ |
|
ϖ |
ϖ ϖ |
ϖ |
ϖ |
|
• |
• • |
• |
• |
|
… |
… … |
… |
… |
|
′ |
′ ′ |
′ |
′ |
|
″ |
″ ″ |
″ |
″ |
|
‾ |
‾ ‾ |
‾ |
‾ |
|
⁄ |
⁄ ⁄ |
⁄ |
⁄ |
|
℘ |
℘ ℘ |
℘ |
℘ |
|
ℑ |
ℑ ℑ |
ℑ |
ℑ |
|
ℜ |
ℜ ℜ |
ℜ |
ℜ |
|
™ |
™ ™ |
™ |
™ |
|
ℵ |
ℵ ℵ |
ℵ |
ℵ |
|
← |
← ← |
← |
← |
|
↑ |
↑ ↑ |
↑ |
↑ |
|
→ |
→ → |
→ |
→ |
|
↓ |
↓ ↓ |
↓ |
↓ |
|
↔ |
↔ ↔ |
↔ |
↔ |
|
↵ |
⅑ ↵ |
↵ |
↵ |
|
⇐ |
Ⅼ ⇐ |
⇐ |
⇐ |
|
⇑ |
Ⅽ ⇑ |
⇑ |
⇑ |
|
⇒ |
Ⅾ ⇒ |
⇒ |
⇒ |
|
⇓ |
Ⅿ ⇓ |
⇓ |
⇓ |
|
⇔ |
ⅰ ⇔ |
⇔ |
⇔ |
|
∀ |
∀ ∀ |
∀ |
∀ |
|
∂ |
∂ ∂ |
∂ |
∂ |
|
∃ |
∃ ∃ |
∃ |
∃ |
|
∅ |
∅ ∅ |
∅ |
∅ |
|
∇ |
∇ ∇ |
∇ |
∇ |
|
∈ |
∈ ∈ |
∈ |
∈ |
|
∉ |
∉ ∉ |
∉ |
∉ |
|
∋ |
∋ ∋ |
∋ |
∋ |
|
∏ |
∏ ∏ |
∏ |
∏ |
|
∑ |
∑ ∑ |
∑ |
∑ |
|
− |
− − |
− |
− |
|
∗ |
∗ ∗ |
∗ |
∗ |
|
√ |
√ √ |
√ |
√ |
|
∝ |
∝ ∝ |
∝ |
∝ |
|
∞ |
∞ ∞ |
∞ |
∞ |
|
∠ |
∠ ∠ |
∠ |
∠ |
|
∧ |
∧ ∧ |
∧ |
∧ |
|
∨ |
∨ ∨ |
∨ |
∨ |
|
∩ |
∩ ∩ |
∩ |
∩ |
|
∪ |
∪ ∪ |
∪ |
∪ |
|
∫ |
∫ ∫ |
∫ |
∫ |
|
∴ |
∴ ∴ |
∴ |
∴ |
|
∼ |
∼ ∼ |
∼ |
∼ |
|
≅ |
≅ ≅ |
≅ |
≅ |
|
≈ |
≈ ≈ |
≈ |
≈ |
|
≠ |
≠ ≠ |
≠ |
≠ |
|
≡ |
≡ ≡ |
≡ |
≡ |
|
≤ |
≤ ≤ |
≤ |
≤ |
|
≥ |
≥ ≥ |
≥ |
≥ |
|
⊂ |
⊂ ⊂ |
⊃ |
⊃ |
|
⊃ |
⊃ ⊃ |
⊂ |
⊂ |
|
⊄ |
⊄ ⊄ |
⊄ |
⊄ |
|
⊆ |
⊆ ⊆ |
⊆ |
⊆ |
|
⊇ |
⊇ ⊇ |
⊇ |
⊇ |
|
⊕ |
⊕ ⊕ |
⊕ |
⊕ |
|
⊗ |
⊗ ⊗ |
⊗ |
⊗ |
|
⊥ |
⊛ ⊥ |
⊥ |
⊥ |
|
⋅ |
⋅ ⋅ |
⋅ |
⋅ |
|
⌈ |
⌈ ⌈ |
⌈ |
⌈ |
|
⌉ |
⌉ ⌉ |
⌉ |
⌉ |
|
⌊ |
⌊ ⌊ |
⌊ |
⌊ |
|
⌋ |
⌋ ⌋ |
⌋ |
⌋ |
|
〈 |
〈 〈 |
〈 |
⟨ |
|
〉 |
〉 〉 |
〉 |
⟩ |
|
◊ |
◊ ◊ |
◊ |
◊ |
|
♠ |
♠ ♠ |
♠ |
♠ |
|
♣ |
♣ ♣ |
♣ |
♣ |
|
♥ |
♥ ♥ |
♥ |
♥ |
|
♦ |
♦ ♦ |
♦ |
♦ |
|
Najpopularniejsze typy MIME
MIME (Multipurpose Internet Mail Extensions) określa format danych, które przesyłane są drogą elektroniczną. Standard MIME obejmuje następujące typy danych: application (programy), audio (dźwięki), image (grafiki), message (komunikaty), model (modele), multipart (multi-dane), text (teksty), video (filmy).
MIME - typ/podtyp |
rozszerzenia pliku |
application/access |
mdf |
application/excel |
xls |
application/font-tdpfr |
pfr |
application/futuresplash |
spl |
application/hep |
hep |
application/lotus-123 |
wks |
application/mac-binhex40 |
hqx |
application/mac-compactpro |
cpt |
application/mspowerpoint |
ppt |
application/msword |
doc |
application/octet-stream |
bin dms lha lzh exe class |
application/oda |
oda |
application/pagemaker |
pm5 pt5 pm |
application/pdf |
|
application/postscript |
ai eps ps |
application/powerpoint |
ppt |
application/rtf |
rtf |
application/smil |
smi smil sml |
application/toolbook |
tbk |
application/wordperfect |
wp |
application/wordperfect5.1 |
wp5 |
application/wordperfect6.1 |
wp6 |
application/wordperfectd |
wpd |
application/x-bcpio |
bcpio |
application/x-cdlink |
vcd |
application/x-cpio |
cpio |
application/x-csh |
csh |
application/x-director |
dcr dir dxr |
application/x-dvi |
dvi |
application/x-gtar |
gtar |
application/x-hdf |
hdf |
application/x-ica |
ica |
application/x-javascript |
js |
application/x-koan |
skp skd skt skm |
application/x-latex |
latex |
application/x-mif |
mif |
application/x-netcdf |
nc cdf |
application/x-sh |
sh |
application/x-shar |
shar |
application/x-shockwave-flash |
swf |
application/x-spss |
sav spp sbs sps spo |
application/x-stuffit |
sit |
application/x-sv4cpio |
sv4cpio |
application/x-sv4crc |
sv4crc |
application/x-tar |
tar |
application/x-tcl |
tcl |
application/x-tex |
tex |
application/x-texinfo |
texinfo texi |
application/x-troff-man |
man |
application/x-troff-me |
me |
application/x-troff-ms |
ms |
application/x-troff |
t tr roff |
application/x-ustar |
ustar |
application/x-wais-source |
src |
application/zip |
zip |
audio/basic |
au snd |
audio/midi |
mid midi kar |
audio/mpeg |
mp2 mpa mpg mpga mp3 |
audio/mpeg3 |
mp3 |
audio/x-aiff |
aif aiff aifc |
audio/x-midi |
mid |
audio/x-mpeg |
mp2 |
audio/x-mpegurl |
mp3 |
audio/x-pn-realaudio-plugin |
rpm |
audio/x-pn-realaudio |
ra ram rm rpm |
audio/x-realaudio |
ra |
audio/x-wav |
wav |
image/gif |
gif |
image/ief |
ief |
image/jpeg |
jpeg jpg jpe |
image/png |
png |
image/tiff |
tiff tif |
image/x-cmu-raster |
ras |
image/x-portable-anymap |
pnm |
image/x-portable-bitmap |
pbm |
image/x-portable-graymap |
pgm |
image/x-portable-pixmap |
ppm |
image/x-rgb |
rgb |
image/x-xbitmap |
xbm |
image/x-xpixmap |
xpm |
image/x-xwindowdump |
xwd |
model/iges |
igs iges |
model/mesh |
msh mesh silo |
model/vrml |
wrl vrml |
text/css |
css |
text/html |
html htm |
text/plain |
txt |
text/richtext |
rtx |
text/tab-separated-values |
tsv |
text/x-setext |
etx |
text/x-sgml |
sgml sgm |
text/xml |
xml dtd |
video/mpeg |
mpeg mpg mpe |
video/quicktime |
qt mov |
video/x-ms-asf |
asf asx |
video/x-msvideo |
avi |
video/x-sgi-movie |
movie |
Kody języków narodowych
Określenie języka może odbywać się na dwa sposoby: pierwszy definiuje język na podstawie dwuliterowych skrótów z normy ISO 639, np. lang="en" (język angielski), a druga uzupełnia język o dodatkowy dialekt kraju, których dwuliterowe skróty definiuje norma ISO 3166, np. lang="en-US" (angielski używany w Stanach Zjednoczonych), lang="fr-CA" (francuski stosowany w Kanadzie).
kody języków (za ISO 639) |
kody krajów (za ISO 3166) |