Jeśli projektujesz strony internetowe przez więcej niż kilka miesięcy, najprawdopodobniej masz świadomość trudności z napisaniem strony, która wygląda tak samo we wszystkich przeglądarkach. W rzeczywistości to niemożliwe. Wiele przeglądarek zostało napisanych ze specjalnymi funkcjami, z którymi tylko oni mogli sobie poradzić. Lub mają specjalne sposoby obchodzenia się z rzeczami, które różnią się od tego, jak radzą sobie z nimi inne przeglądarki. Na przykład:
- Warstwy zostały utworzone do użytku w przeglądarkach Netscape. Nie działają one w żadnej innej przeglądarce, a w rzeczywistości zostały wycofane w Netscape 6.x +.
- Ramki Inline zostały pierwotnie utworzone tylko dla przeglądarki Internet Explorer i od tego czasu stały się częścią specyfikacji HTML.
- Internet Explorer 6.0 dodaje dodatkowe miejsce (np) otaczające znaczniki, chyba że zapiszesz zawartość div w jednej (długiej) linii. (IE 6 ma o wiele więcej dziwactw niż ten.)
- Netscpe 4.7 nie wyświetla tabel, które nie są napisane poprawnym kodem HTML - zamiast tego wyświetla pustą stronę. Zostało to naprawione w Netscape 6.
Problemem dla deweloperów przeglądarek jest to, że muszą oni tworzyć przeglądarki internetowe, które są wstecznie kompatybilne ze stronami internetowymi zbudowanymi dla starszych przeglądarek. Aby poradzić sobie z tym problemem, twórcy przeglądarek utworzyli tryby działania przeglądarek. Tryby te są zdefiniowane przez obecność lub brak elementu DOCTYPE i co to jest DOCTYPE połączenia.
DOCTYPE
Bardziej szczegółowo zajmuję się w moim artykule DOCTYPELista, ale oto kilka ogólnych zasad:
- Zawsze wybieraj najpierw tryb standardów. A obecnym standardem, którego powinieneś używać, jest HTML5: chyba że masz konkretny powód, aby unikać używania HTML5
DOCTYPE, tego właśnie powinieneś używać. - Przejdź do ścisłego kodu HTML 4.01, jeśli chcesz zweryfikować starsze elementy lub z jakiegoś powodu chcesz uniknąć nowych funkcji:
- Jeśli masz pokrojone obrazy w tabeli i nie chcesz ich naprawiać, przejdź do Przejściowy HTML 4.01:
- Nie pisz stron celowo w trybie dziwactwa. Zawsze używaj a
DOCTYPE. Pozwoli to zaoszczędzić czas rozwoju w przyszłości i naprawdę nie przyniesie żadnych korzyści. IE6 szybko traci popularność i projektując tę przeglądarkę (co zasadniczo jest tym, czym jest projektowanie w trybie dziwactwa), ograniczasz siebie, swoich czytelników i swoje strony. Jeśli musisz napisać dla IE 6 lub 7, użyj warunkowych komentarzy, aby je wspierać, zamiast zmuszać nowoczesne przeglądarki do trybu dziwactwa.
Dlaczego warto korzystać DOCTYPE
Gdy już wiesz o tym typie DOCTYPE przełączanie się, możesz bardziej bezpośrednio wpływać na swoje strony internetowe, używając a DOCTYPE to wskazuje, czego przeglądarka może oczekiwać od twojej strony. Ponadto, gdy zaczniesz używać DOCTYPE, będziesz pisać HTML, który jest bliższy ważności (powinieneś go jeszcze potwierdzić). Pisząc poprawny XHTML, zachęcamy twórców przeglądarek do budowania zgodnych ze standardami przeglądarek.
Wersje przeglądarki i tryb dziwactw
DOCTYPE | AndroidChromFirefoxIE 8+iOSOpera 7.5+Safari | IE 6IE 7Opera 7 | Netscape 6 |
|---|---|---|---|
| Żaden | Tryb dziwactwa | Tryb dziwactwa | Tryb dziwactwa |
| HTML 3.2 | |||
| Tryb dziwactwa | Tryb dziwactwa | Tryb dziwactwa | |
| HTML 4.01 | |||
| Przejściowy | Tryb standardów * | Tryb standardów * | Tryb standardów |
| Przejściowy | Tryb dziwactwa | Tryb dziwactwa | Tryb dziwactwa |
| Ścisły | Tryb standardów | Tryb standardów * | Tryb standardów |
| Ścisły | Tryb standardów | Tryb standardów * | Tryb standardów |
| HTML5 | |||
| Tryb standardów | Tryb standardów * | Tryb dziwactwa | |
| * W przypadku tego DOCTYPE przeglądarki są zgodne ze standardami, ale mają pewne problemy - należy je przetestować. Jest to również znane jako "Tryb prawie standardu". |




