Szkielet dokumentu#
Dobre nawyki#
Zamieszczam kilka cennych i ważnych rad, które warto przestrzegać na samym początku nauki języka HTML. Dzięki nim, w każdej chwili bez problemu przestawisz się na XHTML-a.
Wielkość stosowanych liter#
W języku HTML istnieje dowolność co do wielkości stosowanych liter. Wszystkie elementy, atrybuty i ich wartości możesz pisać zarówno dużymi jak i małymi literami. W XHTML wszystkie znaczniki muszą być pisane obowiązkowo małymi literami. Dlatego zalecam już od początku uczyć się właśnie tej zasady. Pisz więc nie:
<H1 TiTlE="NAGŁÓWEk">Nasza wycieczka na Mazury</H1>
lecz zawsze:
<h1 tittle="nagłówek">Nasza wycieczka na Mazury</h1>
Domykanie znaczników#
Elementy języka (X)HTML składają się z dwóch znaczników: znacznika otwierającego oraz znacznika zamykającego. Znacznik zamykający różni się od otwierającego tym, że zaczyna się nie samym znakiem <, a parą znaków />. Znacznikami zamykającymi są na przykład: </a>
, </p>
, </img>
, </area>
.
Wedle najnowszych norm, w kodzie (X)HTML pojawiać się mogą wyłącznie pełne elementy, składające się z dwóch znaczników (otwierającego i zamykającego), między którymi może być zawarty tekst lub inne, zagnieżdżone elementy. Ponieważ pierwsze wersje standardu nie wprowadzały takiego ograniczenia wobec wszystkich znaczników (np. znacznik <img>
można było umieszczać bez znacznika zamykającego </img>
), twórcy najnowszej odmiany języka musieli zdecydować, w jaki sposób ma być zapisywany kod tych znaczników, których jeszcze niedawno nie trzeba było zamykać. Zdecydowano, że twórcy stron WWW będą mieli dwie możliwości:
- normalne zamykanie znaczników - wykorzystujemy jednocześnie znacznik otwierający jak i zamykający np.
<p>...</p>
- forma pojedynczego znacznika otwierającego i zamykającego - stosowana najczęściej dla elementów pustych # (empty elements), np.
<img />
zamiast<img></img>
. Element pusty to taki, który nie posiada znacznika zamykającego. Może on zawierać jedynie atrybuty w znaczniku otwierającym.
Nigdy nie pisz:
<p>To nie jest poprawny zapis.
lecz zawsze:
<p>To jest poprawny zapis.</p>
Spacja przed znakiem ("/"
) dla elementów pustych ułatwia rozpoznanie tagu przeglądarkom nie obsługującym XHTML.
Już na wstępie wypadałoby sprostować jedną kwestię. W HTML-u zamykanie elementów pustych jest zabronione! Wstawianie dodatkowych slashy niepotrzebnie generuje błędy, które muszą być skorygowane przez parser przeglądarki dla MIME text/html
. Dlatego dla HTML-a nigdy nie pisz:
<br />
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<img scr="www.crimsteam.site90.net/grafika/avatar.jpg" alt="avatar spirita" />
lecz zawsze:
<br>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<img scr="www.crimsteam.site90.net/grafika/avatar.jpg" alt="avatar spirita">
Znaki zastrzeżone#
Jak łatwo zauważyć, niektóre symbole są zarezerwowane dla samej składni (X)HTML-a, dlatego nie powinny występować w normalnej treści strony. Przykładem mogą być znaki: "<"
(znak mniejszości) oraz ">"
(znak większości) stosowane w znacznikach. Jeśli musimy ich użyć, należy zastosować odpowiednie prezentacje z kodowania lub encje: <
oraz >
. Także znak "&"
(ampersand), który często występuje w treści jak i samych odsyłaczach należy zastąpić przez: &
. To tylko trzy najczęściej wykorzystywane encje, jest ich znacznie więcej.
Zatem nie pisz:
<p>Bardzo lubię utwór Black&White.</p>
<a href="http://dobreprogramy.pl/index.php?dz=2&id=302&Zajaczek+4.1">...</a>
lecz zawsze:
<p>Bardzo lubię utwór Black&White.</p>
<a href="http://dobreprogramy.pl/index.php?dz=2&id=302&Zajaczek+4.1">...</a>
Więcej informacji na temat niejawnego stosowania znaków umieściłem w dziale "Encje".
Mieszanie znaczników#
Nigdy nie mieszaj znaczników, elementy nie mogą się przeplatać tzn. elementy muszą być zamykane w kolejności odwrotnej do kolejności ich otwierania (gdy zakładasz skarpetkę, a potem but, to potem najpierw musisz zdjąć but, aby móc zdjąć skarpetkę). Chodzi o to, aby poprawnie zagnieżdżać jedne znaczniki w drugich. Nie pisz więc:
<strong><em>To nie jest poprawny zapis</strong></em>
lecz zawsze:
<strong><em>To jest poprawny zapis</em></strong>
Poprawne zagnieżdżanie elementów#
Zagnieżdżanie elementów oznacza, że jeden element może zawierać się w drugim. Przykładowo:
<p>Element, który jest wpisany wewnątrz innego elementu, jest nazywany elementem
w nim <b>zawartym lub elementem zagnieżdżonym.</b></p>
Należy być ostrożnym w umieszczaniu jednych elementów wewnątrz innych. Każdy element (X)HTML ma ściśle zdefiniowaną dopuszczalną zawartość, tak więc nieprawidłowy jest poniższy przykład:
<p><title><i>Kurs tworzenia stron internetowych.</i></title></p>
Pomimo, że elementy te są poprawnie pootwierane i pozamykane, zagnieżdżenia takie są niedopuszczalne w składni (X)HTML. Element p
nie może zawierać elementu title
, natomiast element title
nie może zawierać w sobie żadnych innych elementów.
Używanie cudzysłowów#
Zwróć uwagę na używanie cudzysłowów przy podawaniu konkretnych wartości poleceń i atrybutów, co jest wymagane we współczesnych standardach, choć nie było egzekwowane w starszych. Pisz zatem nie:
<img src=fotka.jpg alt=fotka z wakacji>
<a href=http://www.onet.pl>Portal Onet.pl</a>
<p style=color: blue;>Tekst w kolorze niebieskim.</p>
lecz zawsze:
<img src="fotka.jpg" alt="fotka z wakacji">
<a href="http://www.onet.pl">Portal Onet.pl</a>
<p style="color: blue;">Tekst w kolorze niebieskim.</p>
Atrybuty logiczne (puste)#
W języku (X)HTML występują pewne atrybuty logiczne (np. compact
, noshade
, readonly
, selected
). Obecność samej nazwy atrybutu określa daną cechę jako true
. W HTML-u atrybuty logiczne można minimalizować tzn. umieszczać tylko nazwy. W XHTML-u dodatkowo konieczne jest podanie wartości tożsamej z nazwą. Nie pisz więc:
<hr nonshade>
<option selected>
lecz zawsze:
<hr nonshade="nonshade">
<option selected="selected">
Formatowanie kodu#
Już na samym początku wyrób sobie jeden z podstawowych nawyków - twórz kod tak, żeby był czytelny. Dzięki temu o wiele łatwiej będzie Ci zapanować nad całością. Składnia (X)HTML jest bardzo elastyczna, jeśli chodzi o białe znaki. Można wstawiać spacje, znaki tabulacji, a nawet przejścia do nowej linii w dowolnych miejscach. Możesz napisać tak:
<ul><li><a href="#">Strona główna</a></li><li>Oferta<ul><li>
<a href="#">Surowce</a></li><li><a href="#">
Półprodukty</a></li><li><a href="#">
Produkty</a></li></ul></li><li><a href="#">
Kontakt</a></li></ul>
Powyższy zapis nie jest błędny, po prostu ciężko się go analizuje. O wiele czytelniejsza okazuje się następująca forma:
<ul>
<li><a href="#">Strona główna</a></li>
<li>Oferta
<ul>
<li><a href="#">Surowce</a></li>
<li><a href="#">Półprodukty</a></li>
<li><a href="#">Produkty</a></li>
</ul>
</li>
<li><a href="#">Kontakt</a></li>
</ul>
I tyle, syntaktyka języka (X)HTML nie jest trudna. Trzymając się poprawniej składni mamy większe szanse, że napisana przez nas strona wyświetlona zostanie przez różne przeglądarki w ten sam sposób. Pamiętaj tylko, że żadna nie jest w 100% zgodna ze specyfikacjami webowymi, niewielkie rozbieżności w interpretacji poleceń na pewno się pojawią.