Что нового в HTML5/CSS3?
10 answers
HTML5 огромный , но также потрясающий.
На мой взгляд, в основном речь идет о функциональной совместимости. Спецификация идет и указывает даже крайние случаи, чтобы попытаться убедиться, что все браузеры читают разметку одинаково.
На втором месте в HTML5 есть видео и аудио, которые делают именно то, что сказано в названии. Если вы хотите включить видео или аудио, HTML5 должен уменьшить ваши потребности в плагинах.
На третьем месте HTML5 включает в себя множество доступности и семантической помощи. Например, такие элементы, как <section>
и <article>
, помогают машинам определить, каким должно быть содержимое. Новые типы ввода, такие как <input type=email>
, также могут быть полезны по тем же причинам, хотя новые типы ввода включают пользовательские интерфейсы, которые делают их полезными даже для "обычных" читателей-людей.
Обратите внимание, что новые функции форм - это гораздо больше, чем новые типы ввода. Он также включает поддержку текста-заполнителя и нескольких других атрибутов.
HTML5 включает в себя <canvas>
, который позволяет рисовать 2D (и, с помощью WebGL, 3D) фигуры, такие как диаграммы или даже визуализировать игры.
Старое поведение теперь стандартизировано, например, древнее поведение Internet Explorer contentEditable
.
ДОКТАЙП наконец-то приличный! Теперь вы действительно можете запомнить его! <!DOCTYPE html>
Указание кодировки также проще, с <meta charset=utf-8>
.
Если вы хотите отправить данные клиенту и связать их с элементами, теперь вы можете сделать это с помощью пользовательских атрибутов. Например, <div data-status=open>Open</div>
теперь, наконец, разрешено. Обратите внимание, что имена пользовательских атрибутов должны иметь префикс data-
.
Теперь вы можете включать SVG и MathML в HTML-документы. Раньше это можно было сделать только с документами XHTML.
Среди множества новых функций и полей, определенных HTML5, одной из наиболее впечатляющих является classList, которая позволяет вам легче манипулировать атрибутом класса. Вместо того, чтобы получать/устанавливать атрибут и использовать сложные хаки, чтобы выяснить, какие классы есть у элемента, и удалить определенный класс из этого элемента classList делает эти сложные ситуации очень простыми.
Существует также множество связанных спецификаций, таких как веб-рабочие, веб-сокеты и IndexedDB, которые на самом деле не являются частью HTML5, но все говорят о них так, как если бы они были. Они очень полезны для использования преимуществ многоядерных компьютеров, связи с серверами и локального хранения данных.
Что касается CSS3, то он включает поддержку анимации , переходы, округлый границы и гибкая коробчатая модель.
Также новыми в CSS3 являются новые селекторы, которые упрощают сопоставление определенных элементов на странице (например, только нечетных или четных строк в таблице).
Непрозрачность, новые блоки, маркер и рубин также являются частью CSS3.
Я думаю, что это в значительной степени охватывает все важные части.
Чтобы отслеживать поддержку функций и спецификаций, вы можете проверить , когда я могу использовать . Он включает в себя функции HTML5 и CSS3, а также такие функции, как SVG, PNG, CSS2.1 и CSS2. Он также отслеживает их статус утверждения (Рекомендация, Предлагаемая рекомендация, Рекомендация кандидата, Рабочий проект, стандарт IETF). Findmebyip поддерживает матрицы поддерживаемых функций CSS3 только в браузере.
В nuts произошла некоторая перестройка и упрощение синтаксиса и болты:
- Упрощенная строка doctype:
<!DOCTYPE html>
- Упрощенный атрибут
language
для тега<html>
:<html lang="en">
( все еще может включатьxmlns
иxml:lang
, если вы хотите соответствие XML) - Выделенный
<meta>
тег дляcharset
:<meta charset="utf-8" />
-
script
больше не принимает атрибутtype
, требуетсяcharset
для удаленных сценариев:<script src="/media/js/jquery.js" charset="utf-8"></script>
( встроенные скрипты вообще не нуждаются в дополнительных атрибутах)
HTML5 позволяет сделать вашу разметку намного более семантической , и в целом намного проще для чтения/записи и имеют меньшие размеры файлов. Вместо того, чтобы иметь <div id="nav">
, у вас просто есть <nav>
. Кажется, не так уж много, но это складывается.
Многие элементы из XHTML1 и HTML4 устарели. Следующие элементы не поддерживаются в HTML5: <acronym>
, <applet>
, <basefont>
, <big>
, <center>
, <dir>
, <font>
, <frame>
, <frameset>
, <noframes>
, <s>
, <strike>
, <tt>
, <u>
и <xmp>
.
Несколько новых элементов в HTML5 предназначены только для добавления большей семантической разметки и будут делать ничего, кроме предоставления более значимой альтернативы <div>
. Эти новые элементы включают в себя: <article>
, <section>
, <aside>
, <hgroup>
, <header>
, <footer>
, <nav>
, <time>
, <mark>
, <figure>
, и <figcaption>
.
Формы HTML5 значительно улучшены.
Новые типы ввода
- цвет, электронная почта, дата, месяц, неделя, время, дата и время, дата и время - локальное, число, диапазон, поиск, тел. и url
Новые атрибуты:
Новые элементы
Мы могли бы заниматься формулярами весь день, но вот некоторые ресурсы, чтобы лучше объяснить все эти новые вещи.
- Форма безумия
- Будущее Интернета: Как мы создадим форму в HTML5
- Типы ввода HTML5
- Проведите Полевой день с формами HTML5
- Переосмысление форм в HTML5
- Появятся Формы HTML5
CSS3 предоставляет замечательные Медиа-запросы. Медиа-запросы такие, такие, так здорово. Недоступно в IE8 и ниже, но будет поддерживаться IE9.
CSS3 имеет увеличивающие счетчики . Вы можете использовать их для автоматической нумерации элементов без упорядоченного списка, используя псевдоселектор :before
и стиль content
, когда упорядоченный список или нумерация будут семантически неверными. (Например, нумерация шагов заполнения полей формы.)
Если вы поклонник сброса CSS, есть Сброс CSS HTML5, доступный в HTML5 Врач. Я сделал три дополнения к этому сбросу для своих личных страниц:
-
text-rendering: optimizeLegibility;
добавлено к стилям в определении для<body>
-
label
включено в определение сinput
иselect
, поскольку для этого требуетсяvertical-align: middle;
- стили для
ins
и:focus
из Сброс CSS Эрика Мейера добавлен обратно в
Доступен конкурирующий сброс под названием reset5, но я еще не оценил его лично. Он основан на обоих Эрике Мейер и доктор HTML5 сбрасывают настройки.
Чит-лист по безопасности HTML5 отслеживает ошибки в функциях HTML5, реализованных в различных браузерах, а также включает ошибки в существующих функциях, которые также полезно отслеживать.
Однако использование элементов HTML5 автоматически не делает ваш код семантическим. Группа WHATWG написала статью под названием - это не просто "семантический ", объясняющий, что это не просто элемент контейнера.
В формате HTML 5, существует алгоритм построения контурного представления документов. Это может быть использовано, например, AT, чтобы помочь пользователю перемещаться по документу. И и друзья являются важной частью этого алгоритма. Каждый раз, когда вы вставляете , вы увеличиваете глубину контура на 1 (в случае, если вам интересно, в чем преимущества этой модели по сравнению с традиционной моделью-
, рассмотрите веб-читалку, которая хочет интегрировать структуру документа синдицированного довольствоваться тем, что есть на окружающем сайте. В HTML 4 это означает анализ всего содержимого и изменение нумерации всех заголовков. В HTML5 заголовки заканчиваются на нужной глубине бесплатно).
...
Если вы просто слепо преобразуете всена своих страницах в , маловероятно, что ваша страница будет иметь контур, который вы ожидали. И, помимо того, что это семантическая ошибка, это чертовски запутает людей, которые полагаются на заголовки для навигация.Как и все остальное в этом мире, существует платформа для веб-приложений HTML5 под названием SproutCore, созданная бывшим инженером Apple по имени Чарльз Джолли.
В дополнение к html5rocks.com вы можете идти в ногу с html5doctor.com и html5gallery.com.
Существуют базовые элементы компоновки, такие как радиус границы, тени (поле/текст), поддержка rgba и т. Д.; Это то, чем CSS3 наиболее известен. Более интересными являются теги canvas, видео, локальное хранилище, веб-сайты и т. Д., Которые создадут гораздо более богатый пользовательский интерфейс в обычном HTML/JS/CSS. Эти функции потенциально могут стать отличной альтернативой Flash в Интернете без необходимости в дополнительных плагинах.
Я нахожу новые HTML-элементы довольно интересными...некоторые из них являются многообещающими семантическими заменами для общих div
. К многообещающим новым элементам относятся article
, section
, aside
, figure
, nav
, header
, и footer
, среди прочих. Мне очень нравится идея семантических элементов, заменяющих бессмысленные контейнеры.
О да, связанный элемент: сильно упрощенный doctype
- наконец-то я могу печатать по памяти!
( Это мой ответ на аналогичный вопрос на webapps.stackexchange.com)
Холст и Веб-рабочие потоки являются для меня наиболее интересными аспектами HTML5. Я написал несколько веб-приложений, которые используют эти функции:
Gioauthor [sic] широко использует холст, чтобы вы могли прокладывать пути на карте, а затем находить кратчайший маршрут от начала до конца (с помощью алгоритма Дейкстры в JavaScript).
Демонстрация потоков JavaScript ограничивает использование холста, но показывает использование рабочих потоков в комплекте с демонстрационным кодом. Он также использует ползунок управления HTML5 тип ввода="диапазон".
Поддержка браузеров HTML5 так же разнообразна, как и сами браузеры. Есть хороший сайт (в HTML5, natch) о готовности HTML5, который показывает, кто к чему готов.
Что касается CSS3 - взгляните на http://css3please.com / чтобы посмотреть, что вы можете сделать.
Чем позже ваш браузер, тем больше вероятность, что вы сможете увидеть эффекты.
Теги аудио и видео позволяют отображать мультимедиа без необходимости использования плагинов, таких как Flash или Silverlight, и, что наиболее важно, работают в браузерах iPhone и iPad. Есть некоторые вопросы, которые необходимо решить в отношении кодеков и управления цифровыми правами.
Джереми Кит только что выпустил действительно хорошую книгу на тему "HTML5 для веб-дизайнеров". возможно, вы захотите это проверить.
Это первая книга отдельно от Книги. Настоятельно рекомендую его дизайнерам среднего и продвинутого уровня. A++
ПРИМЕЧАНИЕ: возможно, вам придется подождать, чтобы получить печатную копию
Это не дает представления о важности, но это полезная разница между HTMLS4 и 5.
Мои 2¢ об основных улучшениях:
-
<section>
и новый алгоритм описания заголовка (я действительно сказал, что это просто мой 2¢) - новые элементы формы, например
<input type=email>
-
data-*
атрибуты - хранилище на стороне клиента
- родной
<audio>
и<video>
Потому что никто еще этого не сделал:
HTML5 отлично подходит для того, что все перечислили, но он также включает стандартную геолокацию, веб-работников, веб-сокет, холст и локальное хранилище. Все эти инструменты являются частью спецификации HTML5, которая использует много JavaScript за кулисами, чтобы это произошло.