Encyklopedia: Jak poprawnie definiować DOCTYPE w HTML - Kurs HTML i CSS
Autor: Mateusz Mikulski
Opublikowano: 2011-10-20
Instrukcja DOCTYPE wskazuje przeglądarce klienta ścieżkę do pliku DTD (Document Type Definition), zawierającego opis struktury dokumentu, w którego skład wchodzą między innymi dozwolone znaczniki czy encje. W oparciu o ten opis, przeglądarka może odpowiednio zinterpretować znaczniki, znajdujące się w dokumencie. Mimo, iż umieszczenie definicji DOCTYPE nie jest obecnie wymagane przez przeglądarki, ze względu na sztywno zakodowane reguły, według których traktowane są znaczniki HTML, jest ono szczególnie zalecane w przypadku, gdy dokument zawiera kodowanie inne niż UTF-8 lub UTF-16. Dodatkowo część walidatorów (w tym przygotowany przez W3C) sprawdza poprawność dokumentu w oparciu o DOCTYPE.
W przypadku tworzenia dokumentu, w oparciu o HTML4 oraz XHTML 1.0, możemy rozróżnić trzy odmiany:
- FRAMESET – obecnie nieużywany, dokument w tej wersji, nie wymaga znacznika <body>, wykorzystując w zamian znacznik <frameset>,
- STRICT – główna wersja HTML/XHTML , która nie zawiera większości elementów odpowiedzialnych za wygląd, zastąpionych przez CSS,
- TRANSITIONAL – wersja, która zapewnia kompatybilność wsteczną z HTML 3, pozwala na użycie wypartych w kolejnej wersji części HTML.
Dla HTML w wersji 5 nie został dotychczas opublikowany oficjalny plik DTD.
Przykład
Poniżej przedstawiono poprawnie zdefiniowany DOCTYPE dla HTML4 oraz 5 jak również XHTML w wersji 1.0 i 1.1:
Dla HTML4:
- Wersja STRICT
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
- Wersja TRANSITIONAL
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
W przypadku tworzenia dokumentu w HTML5 wystarczy następująca definicja:
<!DOCTYPE html>
Dla XHTML 1.0:
- Wersja STRICT
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/xhtml1-strict.dtd">
- Wersja TRANSITIONAL
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 1.0 Transitional//EN"
"http://www.w3.org/TR/html4/xhtml1-transitional.dtd">
Dla XHTML 1.1 dopuszczana jest tylko jedna wersja DTD:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 1.0 Transitional//EN"
"http://www.w3.org/TR/html4/xhtml11.dtd">
Sprawdź
Praktyczne przykłady
Zobacz, jak praktycznie wykorzystać DOCTYPE w samouczku: