Jump to content
  • 0

загадочный quirks mode


cyklop77
 Share

Question

помогите пожалуйста понять что такое quirks mode

пока я понимаю так:

  • 1. тип документа влияет на html и css
  • 2. при условии корректно заданного типа документа каждый браузер интерпретирует html и css по определённому стандарту. чаще всего по последнему(современному). который заложили в него разработчики(или до которого он обновился)
  • 3. если тип не указан, или указан с ошибкой, или до него есть символы(пробел например, или BOM), то включается режим обратной совместимости. то есть браузер интерпретирует html и css по устаревшим стандартам. то есть по тем, которые действовали в 90-х годах(они вшиваются в даже самые современные версии браузеров. на всякий случай), и которые способны "закрыть глаза" на любые ошибки. в этом случае браузер без проблем поймёт например <td valign="top">, <font> или <center>. и не поймёт <article> или правило linear-gradient
  • 4. при этом браузер в стандартном режиме вполне может понять устарешвие тэги, css-правила, атрибуты, но отображать их не обязан. то есть существует вероятность, что после очередного обновления он будет их игнорировать([хотя N дней назад отображал)

в чём я не прав и что почитать по теме на русском языке?

Edited by cyklop77
  • Like 1
Link to comment
Share on other sites

3 answers to this question

Recommended Posts

  • 0

1) Влияет на парсинг разметки в DOM (чуть-чуть), парсинг и рендеринг CSS (парсинг слегка, рендеринг разительно) и многие скриптовые фичи. Примеры: в IE в Quirks mode <p> может содержать таблицу, в стандартном режиме не может; почти везде в Quirks mode работают размеры без единиц (width: 250 воспринимается как width: 250px) и цвета без "решетки" (color: fff работает как color: #fff); в Firefox работают глобальные переменные по id (something.style работает как document.getElementById('something').style).

2) Верно.

3) В общем случае у новых браузеров Quirks включается для определенного списка доктайпов: нет доктайпа, HTML2, HTML3.x, HTML4.x Transitional без ссылки на DTD и еще несколько редких (полный список теперь внесен в стандарт). У старых — как фишка ляжет. У IE, как обычно, свои приколы: IE6 падал в Quirks, если перед доктайпом был <?xml?>-пролог, IE6-9 — если там был <!--коммент-->. Ну и BOM-метка, да, считалась выводом текста и открывала неявный body (впрочем, это по идее везде должно так быть).

Есть еще «почти стандартный» режим: в основном всё как в стандартном, но одинокие картинки и инлайн-блоки ведут себя как при Quirks (ну и мелкие глюки с ними редко, но бывают). Включается при Transitional-доктайпах HTML 4.x (со ссылкой на DTD) и XHTML 1.0. Но это уже мелочи).

Нормальные браузеры обычно понимают в Quirks всё, что знают вообще, но особо полагаться на это не стоит — причуды они и есть причуды. А вот IE всех версий в Quirks mode по факту тупо превращается в тыкву IE5.5.

4) Как правило, всё именно так и бывает.

На русском хороших материалов немного, наверное, на родном htmlbook-е одно из лучших.

  • Like 4
Link to comment
Share on other sites

  • 0

Вот недавно проскакивала идея бросать в квиркс IE7 и ниже, чтобы безболезненно использовать border-box везде. У тех IE всё равно «стандартный режим» от современных стандартов далековат, так что сильно хуже им уже не станет, при их-то смешных процентах. Но чаще «оно само» получается — то CMS ту же BOM-метку куда не надо вставляет, то еще что-нибудь в том же духе. Полезно знать основные симптомы, чтобы экономить время при отладке, имхо.

Ну и еще бывает поддержка ископаемых сайтов, веками заточенных под квиркс... лучше от такого держаться подальше, конечно, но иногда жизнь вынуждает...

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy