Вопрос
Сегодня меня спросил старший разработчик, какой тип документа я бы использовал, если бы собирался написать что-то (личное / некоммерческое) для открытой сети.
Я ответил, <!doctype html>
, на что меня встретили взглядом шока, ужаса и удивления, а затем попросили объясниться.
На мой взгляд, это хороший кандидат, потому что современные браузеры (IE, FF, Opera, Safari) будут смотреть на это и переключать контент в стандартный режим - даже если они не реализуют HTML5. Если я действительно хочу использовать преимущества элементов HTML5, я могу использовать некоторый JavaScript, чтобы создать ссылку на те теги, которые не распознаются, скажем, IE (например, document.createElement('article');
), а затем работать с ними, как если бы они были родными частями DOM . р>
Это действительно был такой плохой ответ? Что бы вы ответили и почему?
Решение
Хотя <! doctype html >
в порядке, Рекомендация WHAT-WG состоит в том, чтобы использовать <! DOCTYPE html >
на тот случай, если вы в конечном итоге будете обслуживать документ как XHTML5 (в этом случае использование заглавных букв становится важным). Р>
@David Dorward (пока не могу комментировать, поэтому & # 8230;) Я не согласен с вашим представлением HTML5. В то время как новые вещи (структурные элементы и т. Д.) В настоящее время плохо поддерживаются браузерами, HTML5 - это 90% HTML4 с определенной обработкой ошибок (наконец). Браузеры анализируют HTML5 так же, как HTML4, поэтому при условии, что вы не используете структурные элементы ( div
по-прежнему работает), различия минимальны. Validator.nu дает лучшие результаты, чем строгий валидатор W3's HTML4.1, разрабатывается быстрее и основан на более подробной спецификации.
Мой совет - на данный момент игнорировать новые вещи в HTML5 и рассматривать это как более точную спецификацию для HTML4. Здесь нет недостатков и несколько преимуществ.
Другие советы
<! doctype html >
выглядит нормально ..
Что приятно в этом новом DOCTYPE, тем более, что все текущие браузеры (IE, FF, Opera, Safari) будут смотреть на него и переключать контент в режим стандартов - даже если они не реализуют HTML5. Это означает, что вы можете начать писать свои веб-страницы с использованием HTML5 сегодня, и они будут работать очень и очень долго. / http://ejohn.org/blog/html5-doctype/
Это действительно был такой плохой ответ?
<! DOCTYPE html >
не был плохим ответом.
Что бы вы ответили и почему?
Я бы дал свой стандартный ответ о выборе типа документа в общем, даже хотя я использую <! DOCTYPE html >
для своих новых личных публикаций.
HTML5 - экспериментальные, незрелые инструменты контроля качества, у которых все еще движущаяся цель. (И если вам нужно использовать JavaScript (который может быть отключен) для распознавания основных структурных элементов, тогда «eeep!»).
XHTML - для работы с Internet Explorer требуется взломать приложение C. DTD менее выразительны, чем HTML 4.
HTML 4 - зрелый, хорошо протестированный, в основном поддерживаемый браузерами, не требующий взлома. Не может быть проанализирован инструментами XML (но мало кто использует их на веб-страницах в любом случае)
Строгий - хорошее ядро.
Transitional - строгий плюс, которого (с несколькими исключениями) следует избегать.
Поэтому HTML 4.01 Strict, вероятно, будет лучшим вариантом. Очевидно, что есть исключения, но я бы сделал это отправной точкой.
Я бы ответил так же, как и вы, потому что вы правы, и я больше не использую любой другой тип документа для любых новых веб-страниц по причинам, указанным в нескольких хороших ссылках ниже (включая ответ Анны ниже, поскольку он работает в Opera). р>
Прежде всего, я бы сказал, что Doctype не следовало вводить с самого начала. Вы не можете показывать страницы в разных браузерах, кроме mimetype text / html, и не заводите меня в DTD. Р>
Все, что делает doctype, это запускает режим стандартов и необходим только потому, что многие сайты не созданы в соответствии со стандартами, не говоря уже о спецификации w3c. Если у doctype есть только одна цель, сделайте его простым. HTML5 делает именно это. Разработчики не должны утомлять нас, делая вид, что у doctype есть другое значение, кроме включения или выключения режима стандартов. Р>
«Старший» разработчик должен продолжать свою работу и прекратить беспокоить людей по поводу таких глупостей. Р>