W HTML (w tym XHTML) używanym na stronach internetowych, DOCTYPE jest ciągiem, który uruchamia jeden z kilku trybów przeglądarki (tryb dziwactwa, tryb standardów, tryb prawie standardowy), w zależności od dokładnej pisowni DOCTYPE. Chcesz go użyć, aby wybrać tryb przeglądarki, który najlepiej pasuje do Twojej strony.
Formalnie w SGML i XML deklaracja DOCTYPE jest odniesieniem do definicji typu dokumentu (DTD), która określa formalne reguły składni języka znaczników. Żadna przeglądarka nigdy nie używała DTD do niczego ani nawet nie uzyskiwała do nich dostępu. Jednak są one używane przez weryfikatory znaczników SGML i XML, takie jak W3C Markup Validator , z wyjątkiem trybu HTML5. Dlatego wybór DOCTYPE określa sposób działania walidatora, jeśli dokument zostanie do niego przesłany. Jednak tryb działania walidatora można również wybrać w jego interfejsie użytkownika. (Procesory SGML i XML mogą używać DOCTYPE na różne inne sposoby, ale pytanie to najwyraźniej ogranicza się do kontekstu HTML oraz przeglądarek internetowych i ściśle powiązanego oprogramowania).
Nie ma wiarygodnej listy DOCTYPE. Każda specyfikacja HTML lub wersja robocza definiuje swój własny DOCTYPE lub DOCTYPE. Zestaw DOCTYPE rozpoznawany przez przeglądarki podczas wybierania trybu różni się w zależności od przeglądarki. W praktyce nie ma powodu, aby używać DOCTYPE innego niż<DOCTYPE html>
zdefiniowany w HTML5 , chociaż HTML5 zawiera również kilka „starszych DOCTYPE”. Możesz użyć tego DOCTYPE, jeśli chcesz trybu standardowego (zalecanego dla nowych stron) i nie używać DOCTYPE, jeśli chcesz trybu osobliwości (który może być potrzebny w przypadku starszych stron).
„Tryb standardów” ogólnie oznacza tryb działania, w którym przeglądarka podąża za HTML, CSS, DOM i innymi specyfikacjami najlepiej, jak potrafi. Zwykle nie oznacza to pełnej zgodności. „Tryb dziwactwa” różni się w różnych przeglądarkach, ale generalnie oznacza to próbę naśladowania zachowania bardzo starych przeglądarek, takich jak IE 5. Celem jest utrzymanie działania starych stron przy założeniu, że mogą one polegać na funkcjach i błędach w stare przeglądarki. Zobacz opis Co się dzieje w trybie dziwactw? Zwróć uwagę, że istnieje nieco inna, bardziej ograniczona koncepcja „trybu dziwactw” w HTML5, która bardzo przypomina dokument o nazwie Quirks Mode Living Standard .
Typowym problemem jest to, że szerokości elementów są obliczane inaczej w trybie osobliwości i w trybie standardowym. Oznacza to, że układ strony może być mniej lub bardziej zmieniony lub nawet całkowicie pomieszany, jeśli strona zaprojektowana do pracy w trybie dziwactw jest przeglądana w trybie standardowym (lub odwrotnie).
Powinieneś więc używać <!DOCTYPE html>
dla nowych stron i zachować wszystkie DOCTYPE (jeśli w ogóle), których używałeś dla starych stron.
Jednak tryb dziwactw oznacza, że w niektórych przeglądarkach wiele nowych funkcji CSS nie jest obsługiwanych. Oznacza to, że jeśli chcesz ulepszyć starą stronę o jakąś funkcję CSS3, może być konieczne przełączenie się na DOCTYPE, który uruchamia tryb standardów. W takim przypadku musisz przejrzeć i przetestować stronę, aby sprawdzić, czy będzie działać w trybie standardowym.