Какая версия HTML должна быть выбрана для публичного сайта

В настоящее время я работаю над сайтом. Изучив HTML5 и его возможности, я хочу продолжить. Я хочу использовать такие функции, как автономное хранилище, атрибуты данных, поддержка простого чата и т. Д., Но поскольку HTML5 еще не поддерживается, я немного запутался. Я всегда использовал XHTML 1.0 переходный до сих пор; я должен продолжать использовать это или я должен использовать HTML5?

Я видел, что веб-гиганты, такие как Google, полностью перешли на HTML5.

4 ответа

Решение

HTML5 - это набор практически не связанных функций.

Вы можете использовать любые функции, которые вы хотите; вам просто нужно знать, какие браузеры поддерживают какие функции.

Особенности HTML5

Если вы имеете в виду особенности HTML5, вы должны понимать, что такое HTML5 на самом деле. Я бы определил, что он имеет кульминацию предыдущих спецификаций, а также более новые и богатые функции. Это сделано для поддержки существующего контента (обратно совместимого) и для поддержки создания веб-приложений. Что действительно удивительно, так это то, что на этом он не только останавливается. Впервые указывается, как браузеры должны справляться с обработкой ошибок.

Теперь вам нужно знать, что не все функции реализованы в браузерах. Вы можете пройти тест браузера HTML5, чтобы узнать, что работает, а что нет. Это не значит, что они не будут работать! Большинство браузеров фактически позволяют вам использовать и стилизовать любой элемент, который вы хотите придумать. Новые теги HTML5 не имеют стиля по умолчанию в браузерах, которые их не поддерживают.

Следующий код CSS будет достаточно для большинства браузеров:

section, article, header, footer, nav, aside, hgroup {
  display: block;
}

Как всегда, Internet Explorer (IE) имеет особые потребности. Только есть волшебник JavasScript по имени Реми Шарп, который создал файл JavaScript, который создает каждый элемент для IE. Таким образом, вы можете добавить это на своей странице:

<!--[if IE]>
  <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"
  </script>
<![endif]-->

Кстати, вам придется использовать JavaScript, чтобы иметь возможность проверить наличие новых элементов HTML5 и дать альтернативный выбор тем, у кого есть браузеры, которые не справляются с определенными элементами и атрибутами HTML5. Вот почему есть небольшая универсальная функция JavaSCript, которую вы можете использовать для этого:

function elementSupportsAttribute(element, attribute) {
  var test = document.createElement(element);
  if(attribute in test)
    return true;
  else
    return false;
}

Последнее замечание, я получил большую часть этой информации из книги HTML5 для веб-дизайнеров. Престижность Джереми Кита!


HTML5 Doctype

Если вы имеете в виду новый доктайп один <!DOCTYPE HTML>вот что я должен сказать...

Не является незаконным использование функций из предыдущей версии HTML/XHTML в HTML5. Обратите внимание, что новый тип документа не имеет номера, связанного с ним. Это потому, что он предназначен для построения на основе существующих спецификаций и должен быть действительным для будущих версий. Поэтому я говорю, что вы идете с новым doctype.

Вы можете посмотреть спецификацию на сайте W3C. Короче говоря, спецификация говорит об этом...

8.1.1 DOCTYPE

DOCTYPE - обязательная преамбула.

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

[...]

Для генераторов HTML, которые не могут выводить разметку HTML с коротким DOCTYPE "<!DOCTYPE html>"устаревшая строка DOCTYPE может быть вставлена ​​в DOCTYPE (в позиции, определенной выше).

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

Правильный вопрос - есть ли в браузере поддержка тех функций, которые вы хотите использовать. Каждый браузер поддерживает некоторые функции HTML 5, так как большая часть HTML 5 такая же, как HTML 4 и XHTML. Рассмотрите свою целевую аудиторию и какие браузеры они, вероятно, используют, а затем посмотрите, насколько хорошо эти браузеры поддерживают функции, которые вы хотите использовать.

Короче говоря, вам не нужно решать, хотите ли вы использовать HTML 5, вам нужно решить индивидуально для каждой функции, достаточно ли эта функция поддерживается (независимо от того, является ли эта функция специфичной для HTML 5). особенность или нет).

Это хороший ресурс для поддержки браузером некоторых новых функций HTML 5: http://www.findmebyip.com/litmus

Полностью зависит от пользователей сайта и от того, какие функции поддерживает их браузер. Как сказал SLaks, HTML5 не является предложением "все или ничего".

Марк Пилигрим (Mark Pilgrim) имеет две хорошие главы по обнаружению поддержки функций HTML через JavaScript (что является единственным надежным способом сделать это):

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

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