Брюс Лоусон, Реми Шарп
Изучаем HTML5. Библиотека специалиста
СОДЕРЖАНИЕ
Введение
Для кого эта книга? ..13
Чем не является эта книга ..13
Что мы имеем в виду под HTML5 ..14
Кто? Что? Когда? Почему? Краткая история HTML5 ..14
Как HTML5 чуть не канул в безвестность ..15
Принципы, скрывающиеся за HTML5 ..17
Глава 1. Основная структура
<head> ..25
Использование новых структурных элементов HTML5 ..29
Оформление HTMI-5-документа с помощью CSS ..35
Создание CSS для Internet Explorer ..36
Оформление HTMLS-документов в старых версиях RrefoxnCamino ..37
Другие проблемы устаревших браузеров ..38
Когда используются новые структурные элементы HTML5 ..38
<header> ..38
<nav> ..41
<footer> ..43
<article> ..46
Заключение ..46
Глава 2. Текст
Создание структуры основных областей контента ..49
Кое-что интересное об элементах <header> и <footer> ..53
Добавление сообщений блога и комментариев ..55
Работа со структурами HTML5 ..56
<nav>, <aside> и разделы без заголовка ..59
<hgroup> ..60
Структурированные корневые элементы ..61
Создание стилей для заголовков в HTML5 ..61
Алгоритм определения структуры и доступность ..62
В чем различие между <article> и <section>? ..63
Анализ www.guardian.co.uk ..69
Что такое WAI-ARIA ..75
ARIA-структура документа и роли ..76
Как совмещать ARIA и HTML ..78
Ресурсы ARIA ..78
Еще больше новых структур! ..79
<aside> ..79
<details> ..79
<figure> ..80
<mark> ..82
<ruby>, <rp>, <rt> ..82
Переопределенные элементы ..84
<ol> ..84
<dl> ..84
<cite> ..85
<address> ..86
<em>, <i> ..86
<strong>, <b> ..87
<hr> ..87
<small> ..87
Удаленные элементы ..88
Глобальные атрибуты ..88
contenteditable ..88
contextmenu ..89
data-* ..89
draggable ..89
hidden ..89
item, itemprop, subject ..90
Атрибуты role, aria-* ..90
spellcheck ..90
tabindex (=-1) ..90
Свойства, не рассматриваемые в этой книге ..91
<embed> ..92
<keygen> ..92
<progress>, <meter> ..92
<menu>, <command> ..92
microdata ..93
<style scoped> ..93
Заключение ..93
Глава 3. Формы
Мы любим HTML, и теперь он тоже нас любит ..97
Новые типы ввода данных ..98
Тип ввода данных email ..98
Тип ввода данных URL ..99
Тип ввода данных date ..99
Тип ввода данных time ..100
Тип ввода данных datetime ..101
Тип ввода данных month ..101
Тип ввода данных week ..101
Тип ввода данных number ..102
Тип ввода данных range ..102
Тип ввода данных search ..102
Тип ввода данных tel ..102
Тип ввода данных color ..103
Новые атрибуты ..103
Атрибут list ..103
Атрибут autofocus ..104
Атрибут placeholder ..104
Атрибут required ..105
Атрибут multiple ..105
Атрибут pattern ..105
Атрибут autocomplete ..107
Атрибуты min и max ..107
Атрибут step ..108
Как собрать все это вместе ..108
Форма комментария блога ..108
Ползунок со скриптом для вывода ..109
Обратная совместимость с устаревшими браузерами ..111
Оформление новых полей формы и сообщений об ошибках ..113
Переопределение умолчаний браузера ..113
Использование JavaScript для DIY-валидации ..115
Как инициировать валидацию ..115
Валидность элементов ..116
Как избежать валидации ..116
Событие «всякий раз, когда что-то меняется» ..118
Заключение ..119
Глава 4. Видео и аудио
Родная мультимедиа: почему, что и как? ..123
<video>: зачем нужен элемент <video>? ..123
Для чего не подходит мультимедиа HTML5 ..125
Анатомия элемента видео ..126
Автовоспроизведение (autoplay) ..127
Элементы управления (controls) ..127
Изображение (poster) ..128
Высота, ширина (height, width) ..128
Повтор (loop) ..129
Предварительная загрузка (preload) ..129
Источник (src) ..130
Кодеки: ужас-ужас ..130
Множественные элементы <source> ..131
Видео для устаревших браузеров ..132
Видеофайлы и карманные устройства ..134
Пользовательские элементы управления ..135
Воспроизведение, пауза — и все это на одной кнопке ..138
Богатые событиями элементы медиа ..139
Отслеживаем ход загрузки ..141
Когда медиафайл готов к воспроизведению ..142
Перемотка вперед, замедленное и обратное воспроизведение ..143
Возможности управления мультимедиа ..144
Заключение ..147
Глава 5. Холст
Самое главное о холсте ..153
Рисование с градиентами и узорами ..154
Рисование путей ..157
Использование трансформеров: замаскированные пикселы ..160
Захват изображений ..162
Работа с отдельными пикселами ..165
Анимированные изображения на холсте ..170
Сохранение и восстановление условий рисования ..173
Визуализация текста ..174
Достижимость в пределах элемента холста ..175
Заключение ..176
Глава б. Хранение данных
Варианты хранения ..180
Веб-хранилище ..181
Базы данных SQL для веб ..190
Заключение ..202
Глава 7. Автономная работа
Выдерните вилку из розетки: работаем автономно ..205
Манифест кэша ..206
Как правильно подавать манифест ..210
Процессы между браузером и сервером ..211
applicationCache ..213
Определение наличия подключения с помощью манифеста ..215
Очистка кэша ..216
Заключение ..217
Глава 8. Перетаскивание
Начинаем перетаскивать ..222
Совместимость перетаскиваемых данных ..226
Перетаскивание данных в другие приложения ..226
Как перетаскивать любой элемент ..229
Добавление пользовательского значка перетаскивания ..229
Доступность ..230
Заключение ..233
Глава 9. Геолокация
Пришпильте посетителя к карте ..237
Методы API ..239
Ты попался: обработчик успешного исполнения ..240
Адрес 404: обработчик ошибок ..242
Настройка геолокации ..243
Как это работает: сплошное волшебство ..244
Заключение ..245
Глава 10. Сообщения, фоновые вычисления и сокеты
Крошечный чатик с помощью API Messaging ..250
Отправка сообщений между доменами ..250
А можно ли отправлять что-нибудь еще кроме строк? ..252
Разбиение на потоки с помощью фоновых вычислений ..252
Зачем использовать фоновое вычисление? ..253
Веб-сокеты: работа с потоковыми данными ..265
Сокеты решают проблему задержек в приложениях реального времени ..265
API веб-сокетов прост ..266
Больше, чем прослушивание сокета ..268
Заключение ..269
И напоследок...
Для кого эта книга? ..13
Чем не является эта книга ..13
Что мы имеем в виду под HTML5 ..14
Кто? Что? Когда? Почему? Краткая история HTML5 ..14
Как HTML5 чуть не канул в безвестность ..15
Принципы, скрывающиеся за HTML5 ..17
Глава 1. Основная структура
<head> ..25
Использование новых структурных элементов HTML5 ..29
Оформление HTMI-5-документа с помощью CSS ..35
Создание CSS для Internet Explorer ..36
Оформление HTMLS-документов в старых версиях RrefoxnCamino ..37
Другие проблемы устаревших браузеров ..38
Когда используются новые структурные элементы HTML5 ..38
<header> ..38
<nav> ..41
<footer> ..43
<article> ..46
Заключение ..46
Глава 2. Текст
Создание структуры основных областей контента ..49
Кое-что интересное об элементах <header> и <footer> ..53
Добавление сообщений блога и комментариев ..55
Работа со структурами HTML5 ..56
<nav>, <aside> и разделы без заголовка ..59
<hgroup> ..60
Структурированные корневые элементы ..61
Создание стилей для заголовков в HTML5 ..61
Алгоритм определения структуры и доступность ..62
В чем различие между <article> и <section>? ..63
Анализ www.guardian.co.uk ..69
Что такое WAI-ARIA ..75
ARIA-структура документа и роли ..76
Как совмещать ARIA и HTML ..78
Ресурсы ARIA ..78
Еще больше новых структур! ..79
<aside> ..79
<details> ..79
<figure> ..80
<mark> ..82
<ruby>, <rp>, <rt> ..82
Переопределенные элементы ..84
<ol> ..84
<dl> ..84
<cite> ..85
<address> ..86
<em>, <i> ..86
<strong>, <b> ..87
<hr> ..87
<small> ..87
Удаленные элементы ..88
Глобальные атрибуты ..88
contenteditable ..88
contextmenu ..89
data-* ..89
draggable ..89
hidden ..89
item, itemprop, subject ..90
Атрибуты role, aria-* ..90
spellcheck ..90
tabindex (=-1) ..90
Свойства, не рассматриваемые в этой книге ..91
<embed> ..92
<keygen> ..92
<progress>, <meter> ..92
<menu>, <command> ..92
microdata ..93
<style scoped> ..93
Заключение ..93
Глава 3. Формы
Мы любим HTML, и теперь он тоже нас любит ..97
Новые типы ввода данных ..98
Тип ввода данных email ..98
Тип ввода данных URL ..99
Тип ввода данных date ..99
Тип ввода данных time ..100
Тип ввода данных datetime ..101
Тип ввода данных month ..101
Тип ввода данных week ..101
Тип ввода данных number ..102
Тип ввода данных range ..102
Тип ввода данных search ..102
Тип ввода данных tel ..102
Тип ввода данных color ..103
Новые атрибуты ..103
Атрибут list ..103
Атрибут autofocus ..104
Атрибут placeholder ..104
Атрибут required ..105
Атрибут multiple ..105
Атрибут pattern ..105
Атрибут autocomplete ..107
Атрибуты min и max ..107
Атрибут step ..108
Как собрать все это вместе ..108
Форма комментария блога ..108
Ползунок со скриптом для вывода ..109
Обратная совместимость с устаревшими браузерами ..111
Оформление новых полей формы и сообщений об ошибках ..113
Переопределение умолчаний браузера ..113
Использование JavaScript для DIY-валидации ..115
Как инициировать валидацию ..115
Валидность элементов ..116
Как избежать валидации ..116
Событие «всякий раз, когда что-то меняется» ..118
Заключение ..119
Глава 4. Видео и аудио
Родная мультимедиа: почему, что и как? ..123
<video>: зачем нужен элемент <video>? ..123
Для чего не подходит мультимедиа HTML5 ..125
Анатомия элемента видео ..126
Автовоспроизведение (autoplay) ..127
Элементы управления (controls) ..127
Изображение (poster) ..128
Высота, ширина (height, width) ..128
Повтор (loop) ..129
Предварительная загрузка (preload) ..129
Источник (src) ..130
Кодеки: ужас-ужас ..130
Множественные элементы <source> ..131
Видео для устаревших браузеров ..132
Видеофайлы и карманные устройства ..134
Пользовательские элементы управления ..135
Воспроизведение, пауза — и все это на одной кнопке ..138
Богатые событиями элементы медиа ..139
Отслеживаем ход загрузки ..141
Когда медиафайл готов к воспроизведению ..142
Перемотка вперед, замедленное и обратное воспроизведение ..143
Возможности управления мультимедиа ..144
Заключение ..147
Глава 5. Холст
Самое главное о холсте ..153
Рисование с градиентами и узорами ..154
Рисование путей ..157
Использование трансформеров: замаскированные пикселы ..160
Захват изображений ..162
Работа с отдельными пикселами ..165
Анимированные изображения на холсте ..170
Сохранение и восстановление условий рисования ..173
Визуализация текста ..174
Достижимость в пределах элемента холста ..175
Заключение ..176
Глава б. Хранение данных
Варианты хранения ..180
Веб-хранилище ..181
Базы данных SQL для веб ..190
Заключение ..202
Глава 7. Автономная работа
Выдерните вилку из розетки: работаем автономно ..205
Манифест кэша ..206
Как правильно подавать манифест ..210
Процессы между браузером и сервером ..211
applicationCache ..213
Определение наличия подключения с помощью манифеста ..215
Очистка кэша ..216
Заключение ..217
Глава 8. Перетаскивание
Начинаем перетаскивать ..222
Совместимость перетаскиваемых данных ..226
Перетаскивание данных в другие приложения ..226
Как перетаскивать любой элемент ..229
Добавление пользовательского значка перетаскивания ..229
Доступность ..230
Заключение ..233
Глава 9. Геолокация
Пришпильте посетителя к карте ..237
Методы API ..239
Ты попался: обработчик успешного исполнения ..240
Адрес 404: обработчик ошибок ..242
Настройка геолокации ..243
Как это работает: сплошное волшебство ..244
Заключение ..245
Глава 10. Сообщения, фоновые вычисления и сокеты
Крошечный чатик с помощью API Messaging ..250
Отправка сообщений между доменами ..250
А можно ли отправлять что-нибудь еще кроме строк? ..252
Разбиение на потоки с помощью фоновых вычислений ..252
Зачем использовать фоновое вычисление? ..253
Веб-сокеты: работа с потоковыми данными ..265
Сокеты решают проблему задержек в приложениях реального времени ..265
API веб-сокетов прост ..266
Больше, чем прослушивание сокета ..268
Заключение ..269
И напоследок...
Перейти на страницу скачивания книги: Лоусон Б., Шарп Р. - Изучаем HTML5 (+CD)