Режим quirks (режим совместимости) — это механизм в браузерах, который позволяет отображать устаревшие веб-страницы так, как они выглядели в старых версиях браузеров. Однако в современной веб-разработке его настоятельно рекомендуется избегать, так как он может вызвать непредсказуемое поведение страницы.
Режим quirks был создан для поддержки веб-страниц, написанных до появления современных стандартов. В этом режиме браузер имитирует поведение старых версий (например, Internet Explorer 5.5), что приводит к:
Самая распространенная причина активации quirks mode — отсутствие или неправильное указание DOCTYPE. Для современных веб-страниц используйте:
Этот краткий DOCTYPE гарантирует, что браузер будет работать в стандартном режиме (standards mode).
Убедитесь, что в
вашего HTML-документа первым элементом (после DOCTYPE) указана кодировка:Некоторые устаревшие комментарии могут заставить браузер переключаться в режим совместимости:
В JavaScript можно определить режим работы браузера:
Режим quirks был впервые реализован в Internet Explorer 6 для поддержки сайтов, созданных под IE5. Ирония в том, что сегодня мы используем специальные хаки, чтобы избежать этого режима.
Современные браузеры стали гораздо строже в интерпретации DOCTYPE, но некоторые старые триггеры quirks mode все еще работают для обратной совместимости.