При разработке нового веб-приложения, какую версию HTML вы должны стремиться?
РЕДАКТИРОВАТЬ:
круто, я просто пытался почувствовать других, я склонен использовать XHTML 1.0 Strict в своей работе и Transitional, когда другие участвуют в создании контента.
Я пометил первый пост XHTML 1.0 Transitional как «правильный ответ», но твердо убежден, что все ответы, данные в тот момент, где одинаково действительны.
Я бы снял для XHTML Transitional 1.0. Есть еще несколько нюансов, которым не нравится строгий XHTML, и большинство редакторов, которых я видел сейчас, дадут вам правильные толчки, чтобы убедиться, что все сделано правильно.
Все, что отображает вашу страницу, будет делать это независимо от того, какой популярный стандарт вы используете. XHTML более строг и, вероятно, «лучше», но я не вижу, какие преимущества вы получите от одного стандарта над другим.
Лично я предпочитаю XHTML 1.0 Transitional.
XHTML основан на XML, поэтому он упрощает синтаксический анализ, и вы также можете использовать XML-компоненты большинства IDE для программных запросов и вставки содержимого.
Transitional не такой строгий, как строгий, поэтому с ним относительно легко работать, по сравнению со строгим, который часто может быть PITA. Сравнение между Transistional и Strict
1.0 «более совместим», чем 1.1, а 1.1, похоже, все еще находится в стадии разработки.
Дилли-О прав в своем ответе на XHTML 1.0 Transitional, но я бы предложил использовать XHTML 1.0 Strict и отступить на Transitional, только если есть какая-то функциональность, которая вам абсолютно необходима, которую Strict не позволяет.
HTML 4.01. Нет абсолютно никаких причин использовать XHTML для чего-либо, кроме экспериментальных или академических задач, которые вы хотите запускать только в «непонятных» веб-браузерах.
XHTML Transitional абсолютно бессмыслен даже для этих браузеров, поэтому я не уверен, почему кто-то стремится к этому. Это на самом деле довольно тревожно, что многие люди рекомендуют это.
Я бы сказал, что нацеливание на HTML 4.01 является наиболее предсказуемым, но Teifion действительно прав: «все, что отрисовывает вашу страницу, будет делать».
в ответ на Майкла Стума :
XHTML основан на XML, поэтому он упрощает синтаксический анализ, и вы также можете использовать XML-компоненты большинства IDE для программных запросов и вставки содержимого.
Это конечно не правда. Большая часть XHTML в Интернете (если не большая часть) не соответствует действительности XML (и это не обязательно - он не отправляется как XML). Попытка обращаться с этим как с XML при работе с ним просто принесет вам много головной боли. Например, эта страница в переполнении стека будет приводить к ошибкам со многими непростительными инструментами XML из-за неправильной разметки.
Я стремлюсь к XHTML 1.0 Trans. Лучше соответствовать, чтобы, когда в браузерах исправлялись ошибки, вы внезапно не работали на время, пытаясь понять, что на самом деле нужно изменить.
По моему мнению, 1.1 не работает, а 2.0 был разбит вдребезги: действительно ли мне нужен / нужен тег заголовка / нижнего колонтитула?
@Майк:
Хотя я согласен с тем, что валидность не требуется для визуализации страницы (в конце концов, мы должны поддерживать совместимость с IE6 в ...), создание действительного XHTML, который совместим и действителен, не является проблемой. Проблемы начинаются, когда люди привыкли к HTML 4 и используют устаревшие теги и атрибуты.
То, что Интернет - это куча дерьма, не означает, что каждая новая страница должна быть также кучей дерьма. Большинство ошибок валидации в SO настолько тривиальны, что их исправление не займет слишком много времени, например, пропущенные кавычки в атрибутах.
Но это все еще может быть бессмысленно, учитывая тот факт, что W3C в любом случае не имеет представления о том, куда они хотят идти (см. HTML 5), и какая-то крупная компания по производству браузеров, которая также занимается операционными системами, тоже не заботится, поэтому сайт может также отправлять свой тип документа, как HTML 1337 Отстой, и браузеры все равно будут пытаться его отобразить.
Я все время за XHTML Strict каждый раз. Я твердо верю, что HTML должен быть больше похож на XML. Нетрудно проверить его, если вы знаете XML, а валидатор W3 в любом случае указывает вам на правильный путь.
XHTML 2.0 движется к тому, к чему давно стремился W3 - семантической сети. Лучшее преимущество XHTML 2.0 для меня заключается в том, что каждая соответствующая страница в Интернете будет понятна как контент или статья (поскольку именно такие страницы - документы), потому что все они применимы к одному и тому же стандарту. Тогда вы сможете создавать интерпретаторы (то есть браузеры), которые представляют контент совершенно по-другому - здесь буквально тысячи идей.
Есть несколько убедительных предупреждений об использовании XHTML, в первую очередь связанных с тем, что mime-тип для такого документа должен быть отправлен как:
Content-type: application/xhtml+xml
Тем не менее, IE 6 и 7 не поддерживают это, и веб-сайты должны отправить его как:
Content-type: text/html
К сожалению, этот метод считается вредным .
Некоторые также оплакивают тот факт, что, хотя цель XHTML состоит в том, чтобы сделать анализируемые веб-страницы с помощью анализатора XML, на практике он потерпел неудачу из-за неправильного использования на существующих веб-сайтах.
Я все еще предпочитаю писать документы в XHTML 1.0 Strict, в основном из-за сложностей, а также чистоты и проверки ошибок, которые дает валидатор . Я наслаждаюсь синтаксисом немного лучше, потому что он заставляет меня четко указывать, когда заканчиваются теги и т. Д. Для меня это больше личный выбор, чем чисто технический.
Переходные версии XHTML и HTML устарели. Они были предназначены только для старых пользовательских агентов, которые не поддерживают CSS . Смотрите объяснение в DTD .
W3C советует вам использовать Strict всякий раз, когда это возможно, и в наши дни это, безусловно, возможно.
Переходная версия уже удалена в XHTML / 1.1 и HTML5.
XHTML / 1.0 имеет те же элементы и атрибуты (семантику), что и HTML4. Спецификация XHTML / 1.0 даже не указывает никаких элементов! Для всего, кроме синтаксиса, это относится к HTML4.
Кроме того, вы не сможете использовать любую функцию XHTML, которая недоступна в HTML (пространства имен, XML DOM), если вы отправляете документы как text/html
, и, к сожалению, это требуется для совместимости с IE и другими браузерами, поддерживающими только HTML.
В 2008 году правильным выбором будет HTML4 Strict:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
но с 2016 года есть только одна версия HTML, которая имеет значение.
<!DOCTYPE html>
Если вы хотите использовать XHTML 1.0 в HTML-совместимом режиме, это нормально. Тем не менее, обратите внимание, что валидатор W3C и DTD XHTML ничего не знают о типах mime и о том, как браузеры ведут себя по-разному (например, <map> name / id match) между ними. DTD ничего не знают о том, насколько хорошо браузеры поддерживают определенные элементы (например, <embed>).
Это означает, что DTD XHTML и валидатор не отражают реальность, и пытаться соответствовать им бессмысленно.
Если вы хотите использовать XHTML просто для того, чтобы закрыть некоторые элементы с помощью /> (где html-совместимый), просто используйте разметку HTML5 (чтобы браузер работал в режиме полных стандартов). HTML5 позволяет использовать /> в HTML-совместимом режиме (так же, как в HTML-совместимом режиме вы должны это делать при использовании разметки XHTML 1.0 с text / html). Затем просто придерживайтесь того, что работает (вы знаете лучше, чем некоторые DTD) в браузерах.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8"/>
<title></title>
</head>
<body>
<p>Line1<br/>Line2</p>
<p><img src="" alt="blank"/></p>
<p><input type="text"/></p>
<p><embed type="application/x-something" src=""/></p>
</body>
</html>
Затем используйте http://validator.nu/, чтобы убедиться, что он по крайней мере правильно сформирован.
Я не думаю, что на самом деле имеет значение, используете ли вы XHTML или обычный HTML. Конечной целью здесь является минимальное техническое обслуживание и быстрая разработка благодаря предсказуемому рендерингу. Вы можете получить это, используя xhtml или html, если у вас есть проверочный код. Я даже слышал аргументы, что лучше всего ориентироваться на режим причуд, потому что новые версии браузеров не меняют режим причуд, поэтому обслуживание легко.
В конце концов, все это становится супом тэга, по уважительной причине, потому что заставить разработчиков веб-приложений писать безошибочный html означает попросить их написать безошибочный код. Валидаторы не помогают, потому что они проверяют только начальный вид страницы. Вот почему я никогда не видел, чтобы точка в xhtml служила xml для чего-либо, кроме статических сайтов. Уровень высокомерия, который понадобится разработчику веб-приложений, чтобы обслуживать свое веб-приложение, поскольку xml ошеломляет.
HTML 4.0 Strict или ISO HTML.
Если у вас есть инструменты для генерации вашего XHTML, как и любого другого XML-документа, тогда используйте XHTML. Но когда вы просто используете простые текстовые шаблоны, конкатенацию текста и т. Д., Вы в порядке со старым добрым HTML 4.01.
Браузеры теперь начинают поддерживать этот 10-летний стандарт.