Html5 что нового. HTML5 и обзор новых возможностей веб-программирования

HTML5 представляет собой последнюю версию основного языка разметки web – страниц. За последние 10 лет HTML не имел серьёзных изменений, что является немного странным в соответствии с тем как стремительно развиваться web-технологии. И вот наконец нам переставлен HTML5, и что же нового мы получили в этой версии, расскажет эта статья.

У HTML5 в сравнении с предыдущим XHTML не такие строгие правила, теперь вы можете:

  • Вы можете не использовать закрывающие теги.
  • Не использовать кавычки в значениях атрибута.
  • Использовать символы верхнего регистра в элементах и атрибутах.

Новые теги.
И так в HTML5 появились новые теги.

Есть также исключённые теги, которые являются неактуальными и не рекомендованы для использования.

Так что если вы знакомы с предыдущими версиями HTML, то у вас не будет никаких сложностей в понимании HTML5. А новые теги и атрибуты помогут вам в создании новых и улучшения существующих сайтов, и благодаря новым возможностям это делать станет намного легче.

Но возникает вопрос, а будет ли HTML5 правильно отображаться в старых версия браузеров.
Конечно будет, естественно кроме новых тегов. Страницы сделанные с использованием HTML5 будут отображаться во всех браузерах, но те кто использует новые версии могут получить и увидеть намного больше.

Структурные теги.

Давайте посмотрим, каким образом мы сможем создать структуру HTML документа при помощи HTML5. В HTML4 мы обычно используем тэги

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

Теперь нам доступны следующие структурные теги:

Цель его состоит в том, чтобы определить разделы в пределах определенного текстового содержимого, например, разделять весь текст на небольшие части.

Цель его состоит в том, чтобы определить верхнюю часть HTML документа.

Этот тег применяется для того, чтобы определить нижнюю часть документа.

Цель его в том, чтобы определить список ссылок на другие HTML страницы.

Этот тег применяется для того, чтобы определить некоторую часть тестового содержимого документа.

Вот к примеру HTML код с новыми тэгами.

Заголовок Заголовок 1

Некоторый текст... Заголовок 2

Некоторый текст.. Ссылка 1 Ссылка 2

Copyright 2011 My Company

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

Так и что же здесь особенного? Мы могли сделать тоже самое используя старый хороший тэг . Несомненно, но преимущество использования новых тэгов заключается в четкой и понятной структуре HTML документов. Понятной не только для людей, но также и для поисковых систем.

Новые блочные теги HTML5.

В дополнении к существующим блочным тегам у HTML5 появились 3 новых тега:

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

Основной текст... Цитата...

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

Пользователь 1 Сообщение пользователя 1 Пользователь 2 Сообщение пользователя 2

В тег мы вложили еще два тэга: - содержащий имя пользователя и для отображения сообщения пользователя.

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

Заголовок изображения = "Некоторое изображение" src="/image.jpg" width="200" height="200">

Мы использовали тэг чтобы указать название изображения, тег , чтобы вставить определенное изображение и тэг чтобы связать их вместе.
Что необходимо учитывать при использовании структурных и блочных тегов HTML5.
Мы можем начать использовать новые тэги сразу же, но после применения некоторых приемов, для того чтобы обойти некоторые несогласования со старыми браузерами. Новые блоковые тэги в старых браузерах будут обработаны как встроенные элементы, поэтому мы должны определить в нашем CSS для новых блочных тегов свойство display:block; чтобы они должным образом отображались. Что касается старых версий Internet Explorer то необходимо так же добавить следующее:

< script> document.createElement ("header" ) ; document.createElement ("footer" ) ; document.createElement ("section" ) ; document.createElement ("aside" ) ; document.createElement ("article" ) ; document.createElement ("nav" ) ;

Добавить это нужно, потому что IE не понимает CSS, присоединенных к неизвестным тегам. HTML5 предполагает, что у тега есть по умолчанию, поэтому его мы можем не добавлять.

Встроенные теги.

У HTML4 есть много тэгов для осуществления различного текстового форматирования, но нет никаких тэгов, например чтобы показать время и дату. Поэтому теперь в HTML5 такие тэги присутствуют:

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

Некоторая очень важная часть текста...

Мы вставили определенную важную часть в тэг .

Тег используется для обозначения времени и даты в каком либо тексте, например:

Тег используется чтобы показать некоторые числа в определенном формате, например:

ежемесячный доход$15,000...

У тега есть 6 полезных атрибутов:

  • value - задает фактическое значение чего-то;
  • min - задает минимальное значение чего-то;
  • low - определяет предел, при достижении которого значение считается низким;
  • high - определяет предел при котором значение считается низким;
  • max - определяет максимальное значение чего-то;
  • optimum - определяет оптимальное значение чего-то.

Например:

Концентрация сахара: 8.2.

Последний новый тэг используется чтобы показать некоторую точку некоторого прогресса, например, процент завершения чего-то:

Завершение: 20%

Тег имеет два атрибута value - текущее значение прогресса и max - максимально значение прогресса.

Мультимедийные теги.

В HTML5 имеется два новых тэга, предназначенных для вывода мультимедиа и .

Вот пример применения тега :

Сейчас играет...

У этого тега имеется три атрибута:

  • src - путь к звуквому файлу;
  • autoplay - определяет начать ли проигрываться файлу сразу после загрузки страницы в браузере;
  • loop - определяет сколько раз аудио должно проигрываться.

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

Клип...

Атрибут src определяет путь к видео файлу.
Мультимедийные теги позволяют вывести аудио и видео файлы непосредственно в HTML документе и способствуют их индексации поисковыми системами.

Интерактивные теги.

В HTML5 есть несколько интерактивных тэгов, которые позволяют изменить некоторое содержимое без перезагрузки всей HTML страницы:

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

Используя эти тэги, мы можем создавать различные интерактивные меню.
Тег используется чтобы показать некоторую дополнительную информацию, например поле справки.

Некоторый контент Информация справки ...

Тег используется для автоматического рендеринга различных 2D форм и растровых изображений. Он определяет некоторые области HTML документа, в которых можно сделать различные объекты, выводить изображения и трансформировать их при помощи языка JavaScript.

< script> var example = document.getElementById ("sample" ) ; var context = example.getContext ("2d" ) ; ctx.fillStyle = "#FF0000" ; ctx.fillRect (0 , 0 , 80 , 100 ) ; < canvas id= "sample" width= "300" height= "300" > Ваш браузер не поддерживает HTML5.

Атрибут ID используется для идентификации тега как объекта DOM (Document Object Model) . Далее указываются атрибуты ширины и высоты. Текст заключенный между тегами будет показан в браузерах, которые не поддерживают HTML5. Он предназначен для использования в сочетании с 2D APIs для отображения динамической графики наподобие Flash.

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

Что нового в HTML5? Отличия HTML5 от HTML 4

Спецификация HTML5 несет в себе множество изменений разного уровня и разной важности. Принципиально, ключевые изменения можно разделить на 7 блоков:

а) Семантика (смысловое значение единиц языка)

В HTML5 появился ряд новых семантических тегов, позволяющих более осмысленно организовывать внутреннюю структуру веб-страниц. Это включает как блочные теги вроде header, footer, article, так и теги для разметки текста, например, mark, ruby, details. Ряд существующих тегов HTML4 признан устаревшим, отдельные теги поменяли свое значение, определенные изменения претерпели атрибуты.

б) Мультимедиа

HTML5 добавляет встроенную поддержку мультимедийного контента (аудио и видео) прямо в HMTL-разметке -- с соответствующим API для управления.

в) Графика

Работать с графикой на стороне клиента стало заметно проще. В HTML5 добавлен элемент canvas и специальный API на JavaScript для работы с ним. Canvas представляет собой динамическую «поверхность», поверх которой можно программного рисовать. Также в HTML5 официально включен тег svg, позволяющий внедрять векторную графику, описываемую соответствующим веб-стандартом SVG (Scalable Vector Graphics).

г) Веб-формы

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

д) JavaScript APIs.

В HTML5 включены новые возможности по перемещению объектов (Drag & Drop), работа с историей переходов (History API), а также ряд мелочей, вроде возможности сделать контент редактируемым прямо в текущем месте с помощью Content Editable атрибутов.

е) Новый DOCTYPE

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

В HTML 4 было 3 вида элемента :

  • 1. Строгий (Strict)
  • 2. Переходный (Transitional)
  • 3. С фреймами (Frameset)

Зачастую выбор того или иного элемента DOCTYPE был достаточно затруднителен. В HTML5 DOCTYPE всего один он пишется так:

Эта короткая запись заменяет старую и длинную форму:

ж) Синтаксис

HTML 5 будет иметь два синтаксиса - "custom" HTML и XML. HTML синтаксис определяет детализированные правила синтаксического анализа (включая "обработку ошибок").

XML синтаксис совместим с документами XHTML1 и его реализациями. Чтобы использовать этот синтаксис нужно объявить MIME (Multipurpose Internet Mail Extensions) тип XML, а элементы должны быть выстроены согласно спецификации XML.

Рисунок 2 - основные свойства HTML5

Перевод: Влад Мержевич

1. Это не одна большая вещь

Вы можете спросить: «Как я могу использовать HTML5, если старые браузеры его не поддерживают?». На самом деле этот вопрос ошибочен. HTML5 не одна большая вещь, это набор разных возможностей. Вы не можете написать «поддерживается HTML5», потому что это противоречит здравому смыслу, но можете определить поддержку некоторых технологий HTML 5, таких как рисование, видео и геолокация.

Вы можете думать об HTML как о тегах и угловых скобках. Это конечно важная часть, но не вся. Спецификация HTML5 также устанавливает, как эти угловые скобки взаимодействуют с JavaScript посредством объектной модели документа (Document Object Model, DOM). HTML5 не просто определяет тег , он также сообщает DOM обо всех видео-объектах. Вы можете использовать интерфейс прикладного программирования (API) для поддержки разных видеоформатов, проигрывания ролика, его остановки, отключения звука, отслеживания загрузки файла и многого другого построенного на взаимодействии пользователя и тега .

2. Вам не надо откидывать имеющееся

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

Вот конкретный пример: HTML5 поддерживает все элементы форм, что и HTML4, а также включает новые элементы. Некоторые из них, вроде ползунков и выбора даты, напрашивались давно, другие не столь очевидны. К примеру, поле для ввода адреса электронной почты это рядовое текстовое поле, но современные браузеры для этого поля позволяют упростить набор адреса. Старые браузеры не поддерживают input type="email" , поэтому покажут обычное текстовое поле, и формы будут работать с ним без всяких дополнительных ухищрений. Это позволяет вам уже сегодня улучшить свои формы, даже если некоторые пользователи до сих пор привязаны к IE6.

3. Легко начать

«Обновление» до HTML5 можно сделать простым изменением доктайпа. Элемент должен всегда располагаться в первой строке кода любой веб-страницы. Предыдущая версия HTML определяла несколько вариантов доктайпа и выбор правильного был делом нелегким. В HTML5 есть только один доктайп:

Смена доктайпа не разрушает существующую верстку, потому что все теги, определенные в HTML4 также поддерживаются и в HTML5. Ко всему прочему, вы можете использовать, и корректно, новые семантические элементы вроде , , и .

4. Это уже работает

Если вы желаете сделать рисунок, проигрывать видео, улучшить функциональность форм или построить оффлайновое веб-приложение, то обнаружите, что HTML5 прекрасно поддерживается браузерами. Firefox, Safari, Chrome и мобильные браузеры работают с тегом , видео, геолокацией, локальным хранилищем и др. Google понимает аннотацию микроданных. Даже Майкрософт, который обычно тащится в хвосте стандартов, поддерживает основные возможности HTML5 в своем браузере Internet Explorer 9.

Все разделы этой книги содержат таблицу совместимости популярных браузеров. Гораздо важнее, что включено обсуждение вариантов для поддержки старых браузеров. Такие технологии HTML5 как геолокация и видео были реализованы с помощью плагинов вроде Gears или Flash. Другие возможности, вроде рисования, могут быть эмулированы через JavaScript. Эта книга рассказывает, как использовать встроенные функции современных браузеров без отбрасывания старых версий.

5. Он уже здесь

Тим Бернерс-Ли изобрел всемирную паутину в начале девяностых. Позже он основал W3C для поддержки веб-стандартов, организацию с более чем пятнадцатилетней историей. Вот что объявил W3C о будущем веб-стандартов в июле 2009:

Сегодня руководство заявило, что когда устав Рабочей Группы XHTML 2 завершится в конце 2009 года, он не будет продлен. Это сделано для повышения ресурсов рабочей группы по HTML. W3C надеется, что это ускорит продвижение HTML5 и разъясняет позицию W3C относительно будущего HTML.

HTML5 уже здесь. Давайте погрузимся в него.

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

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

Введение в семантические элементы

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

Например,

Просто сообщает браузеру, что содержит абзац. , который мы обсудим ниже, сообщает браузеру, что он содержит основное содержимое страницы.

Семантическая сеть все еще развивается, и мы только начали изучать поверхность того, что она может сделать. HTML5 помогает принести семантическую разметку в гораздо большей части Интернета, и это может быть полезно для будущего семантической обработки.

1. (Статья)

Тег определяет «независимый, автономный контент». Самый простой пример - это, конечно, статья. В этой статье мы открываем тег перед введением и закрываем его после завершения.

Весь текст в вашем автономном разделе.

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

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

2. (Раздел)

тесно связан с . Это определяет «тематическую группировку контента, как правило, с заголовком. Таким образом, будет внутри ... правильно?

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

Почему вам нужен ЦАП

Все звучит лучше.

Как настроить ЦАП

Вот что вам нужно сделать. . .

Вы можете даже иметь разделы в разделах, если они соответствуют вашей странице. Помните, что раздел - это просто «тематическая группировка контента», и вы найдете множество мест для его использования.

3. (Заголовок)

Этот элемент «должен использоваться как контейнер для вводного контента. Короче говоря, это часть вашей страницы, которая помогает людям понять, что они собираются читать.

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

Разделы обычно содержат по крайней мере один тег заголовка - H1, H2 и т. д. Это не обязательно, но если вы используете тег хуже не станет.

4. (Нижний колонтитул)

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

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

5. (Навигация)