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

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

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

Ответы [ 4 ]

6 голосов
/ 21 января 2011

Функции 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 one <!DOCTYPE HTML>, вот что я должен сказать ...

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

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

8.1.1 DOCTYPE

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

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

[...]

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

5 голосов
/ 21 января 2011

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

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

1 голос
/ 21 января 2011

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

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

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

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

1 голос
/ 21 января 2011

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

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

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

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