Tryby HTML i „dziwactwa” a „zgodność ze standardami”: wyjaśnij i powiedz nam, dlaczego powinniśmy się tym przejmować?

16

Jaka jest różnica między trybem „dziwactwa” a trybem „zgodności ze standardami” podczas tworzenia stron HTML?

Jak powiedzieć, kiedy pracujesz w jednym trybie, a nie w drugim? Dlaczego ludzie - tj. Webmasterzy, projektanci i programiści - powinni dbać o wybranie trybu zgodności ze standardami zamiast trybu dziwactwa?

Czy tryb dziwactwa jest kiedykolwiek uzasadniony przy tworzeniu nowych treści?

Chris W. Rea
źródło

Odpowiedzi:

11

Oto prawdopodobnie najlepszy artykuł na temat trybu dziwactw, jaki znalazłem. Osobiście staram się zawsze używać trybu standardowego, gdy tylko jest to możliwe, ponieważ ma on największe szanse na pracę z większością przeglądarek.

txwikinger
źródło
5

Jeśli rozwijasz się w trybie dziwactw, skutecznie pytasz przeglądarkę o emulację błędów sprzed IE6. Czy to naprawdę coś, co chcesz robić?

Wikipedia wyjaśnia podstawy wyzwalania trybu dziwactw, ale jest kilka specjalnych przypadków, których nie obejmuje. Łącza przez txwikinger daje dobre wyjaśnienie historii i głównych różnic.

Jukka Korpela wyjaśnia różnice bardziej szczegółowo, a także jak sprawdzić tryb zgodności:

Sprawdzanie trybu Aby sprawdzić, w jakim trybie (dziwactwa vs. standardy) jest przeglądarka,

W przeglądarce Firefox użyj polecenia Wyświetl / Informacje o stronie (i zobacz panel Ogólne); lub jeśli masz rozszerzenie dla programistów, po prostu zaznacz ikonę na pasku narzędzi (trzecia ikona z prawej).

W przypadku przeglądarki IE wpisz javascript: alert (document.compatMode) w pasku adresu i sprawdź, czy w wyskakującym okienku pojawi się komunikat CSS1Compat (wskazujący tryb standardów) lub BackCompat (wskazujący tryb dziwactwa); alternatywnie pobierz i zainstaluj prosty dziwaczny lub Standardowy tryb zakładek.

Warto zauważyć, że wiele przeglądarek ma dwa tryby inne niż tryb dziwactwa - tryb prawie standardów i tryb standardów. Niestety IE6 i IE7 działają tylko w trybie prawie standardów, więc jeśli potrzebujesz obsługi tych przeglądarek, kusi, aby spróbować użyć trybu prawie standardów we wszystkich przeglądarkach . Jednak prawdopodobnie lepiej jest opracować w zgodzie ze standardami, a następnie spróbować naprawić dziwactwa przeglądarki. HTML5 będzie oferować tylko tryb ścisły, więc naprawdę powinieneś spróbować opracować go w celu zapewnienia kompatybilności w przyszłości.

Casebash
źródło
2

Jak powiedział @txwikinger, quirksmode jest witryną do zobaczenia tutaj.

Jedyną dodatkową informacją, która powinna być pomocna, jest ten artykuł na temat wykrywania trybu używanego przez przeglądarkę na określonej stronie: Wykrywanie trybu kompatowania . Istnieją również rozszerzenia przeglądarki, które mogą to zrobić, takie jak pasek narzędzi dla programistów . Istnieje wersja dla FF i Chrome.

Chris Boylan
źródło
2

Przekonałem się, że jeśli używasz resetu lub frameworku CSS, jeśli nie podasz doctype, aby przełączyć przeglądarki, których dotyczy problem (zwykle IE7 i IE8) na Tryb Standardowy, wiele rzeczy pozycyjnych zaczyna się nie udawać. Prawie zawsze najlepiej jest ustawić deklarację typu doctype i użyć trybu standardów.

Mark Hatton
źródło
1

Tryb dziwactwa to taki, w którym przeglądarka nie wyświetla stron zgodnie z oczekiwaniami zgodnie ze specyfikacją HTML. W pewnym momencie przeglądarki internetowe uzyskały coś, co zasadniczo jest przełącznikiem - włączenie doctype na górze strony. Bez tego typu przeglądarka przechodzi w tryb dziwactw. Obecność prawidłowego typu dokumentów zmusza przeglądarkę do przejścia do trybu standardowego, czyli trybu „poprawnego”.

Lepiej jest używać trybu standardów - więc używaj doctype! - do przodu, ponieważ zapewnia to, że strony będą działać poprawnie i spójnie w jak największej liczbie przeglądarek.

Grant Palin
źródło
1

Tryb dziwactwa sprawia, że ​​IE 6 i 7 renderują CSS inaczej niż standardy mówią, że powinny.

Tryb Standardy sprawia, że ​​IE 6 i 7 renderują CSS bliżej standardów niż Quirks Mode, a tym samym bliżej tego, jak renderują to Firefox, Safari, Chrome, Opera i IE 8/9.

Używanie trybu standardów oznacza, że ​​masz mniej dziwnych starych problemów z IE, które próbujesz wprowadzić w błąd. Oznacza to, że możesz używać książek takich jak CSS: The Definitive Guide autorstwa Erica Meyera, aby sprawdzić, co powinna robić Twoja strona . Tryb dziwactwa IE nie ma tego samego rodzaju obszernej dokumentacji.

Paul D. Waite
źródło
1

Jest do wyboru między:

  • Silnik IE5 (lub jego emulacja błędów dla błędów)
  • Coś bardziej nowoczesnego (najlepszy wysiłek w nie-IE, długa historia w IE8…)

Jeśli lubisz pisać CSS jak w 1999 roku, bez centrowania działającego poprawnie, użyj dziwactw.

Kornel
źródło