Skip to main content

Używanie elementu DOCTYPE w trybie Quirks

Section, Week 7 (Czerwiec 2026)

Section, Week 7 (Czerwiec 2026)
Anonim

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:

  1. 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ć.
  2. Przejdź do ścisłego kodu HTML 4.01, jeśli chcesz zweryfikować starsze elementy lub z jakiegoś powodu chcesz uniknąć nowych funkcji:
  3. Jeśli masz pokrojone obrazy w tabeli i nie chcesz ich naprawiać, przejdź do Przejściowy HTML 4.01:
  4. 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

DOCTYPEAndroidChromFirefoxIE 8+iOSOpera 7.5+SafariIE 6IE 7Opera 7Netscape 6
ŻadenTryb dziwactwaTryb dziwactwaTryb dziwactwa
HTML 3.2
Tryb dziwactwaTryb dziwactwaTryb dziwactwa
HTML 4.01
PrzejściowyTryb standardów *Tryb standardów *Tryb standardów
PrzejściowyTryb dziwactwaTryb dziwactwaTryb dziwactwa
ŚcisłyTryb standardówTryb standardów *Tryb standardów
ŚcisłyTryb standardówTryb standardów *Tryb standardów
HTML5
Tryb standardówTryb 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".