Encyklopedia: Jak poprawnie definiować DOCTYPE w HTML - Kurs HTML i CSS  Udostępnij na: Facebook

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: