Приведет ли добавление атрибутов rel или name к элементам div и span, что IE/FF перейдет в режим причуд?

Будет ли тег как

<span id="suchAndSuch" class="blah" rel="this.that.other" name="this.name"></span>

или же

<div id="suchAndSuch" class="blah" rel="this.that.other" name="this.name"></div>

кинуть IE и / или FF в QM? Согласно W3C, это не стандартные атрибуты для этих тегов, но он не говорит, сделает ли их недействительными.

Ваша помощь очень ценится.

5 ответов

Решение

Нет, он не переведет браузер в режим причуд. Не имея DOCTYPE или иметь комментарий HTML (или любой контент HTML) перед DOCTYPE переместит браузеры в режим причуд.

Если вы можете избежать использования пользовательских атрибутов, вы должны. Если вы не можете, вы можете рассмотреть вопрос об использовании типа документа HTML5, а затем использовать data атрибутов. Например, то, что вы написали, можно сделать так:

<div id="suchAndSuch" class="blah" data-references="this.that.other" data-name="this.name"></div>

И это все еще будет в силе, а также поддерживается современными браузерами (и даже рядом старых).

Вы должны использовать допустимый тип документа, и он должен быть первым найденным в файле. Я не проверял поведение строгого типа документа и пользовательских атрибутов, но я точно знаю, что переходный тип документа работает с пользовательскими атрибутами.

Я думаю, что ключ должен иметь действительный тип документа:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

Режим Quirks должен запускаться только в зависимости от (отсутствия) DOCTYPE указано для документа.

В Firefox или IE вы можете проверить режим документа, вставив в адресную строку следующее:

javascript:alert(document.compatMode)

Действительные значения для document.compatMode являются BackCompat (для режима причуд) и CSS1Compat (для стандартов / строгого режима).

В Firefox вы также можете щелкнуть правой кнопкой мыши документ и нажать "Просмотр информации о странице". Режим будет указан в верхней части как "Режим рендеринга".

Вы можете проверить, как страница отображается следующим образом:

В Firefox зайдите в Инструменты> Информация о странице и посмотрите на "Режим рендеринга".

В IE8 нажмите Инструменты> Инструменты разработчика и посмотрите на "Режим документа" в правом верхнем углу.

Например, эта страница отображается в "Режиме соответствия стандартам" в Firefox и "Стандартах IE8" в Internet Explorer.

Спасибо за быстрые ответы. Я пошел дальше и протестировал каждый из приведенных выше тегов с помощью валидатора W3C, и это действительно недопустимый X/HTML (я считаю, строгим) использовать rel или name в div или span.

Другие вопросы по тегам