В книге HTML, скрипты и стили. Изд.3. В подлиннике .Дунаев рассмотрены средства создания Web-сайтов - языки разметки гипертекста (XHTML, HTML 4 и HTML 5), каскадные таблицы стилей (CSS 2 и CSS 3), а также языки сценариев JavaScript и PHP. Изложены краткие теоретические сведения и приведены многочисленные примеры типичных задач разработки сайтов. Предлагаемые решения инвариантны относительно наиболее популярных браузеров (Microsoft Internet Explorer, Mozilla Firefox, Opera, Apple Safari и Google Chrome). Приложения книги содержат краткие сведения о тегах HTML и свойствах CSS. В третьем издании существенно расширены главы, посвященные языкам разметки гипертекста HTML 4, HTML 5 и XHTML и каскадным таблицам стилей CSS 2 и CSS 3. Добавлен материал по масштабируемой векторной графике (SVG) и динамической графике, управляемой скриптами.
Оглавление книги
HTML, скрипты и стили. Изд.3. В подлиннике .Дунаев
Предисловие к третьему изданию 1
Введение 1
Благодарности 2
ЧАСТЬ I. HTML и стили
5
Глава 1. Что такое HTML и таблицы стилей CSS
7
1.1. Языки разметки документа 7
1.2. Что такое таблицы стилей 18
Глава 2. Структура (X)HTML-документа
22
2.1. Определение типа документа: дескриптор 22
2.2. Структура собственно (X)HTML-кода 26
2.3. Раздел заголовка документа 29
2.3.1. Тег 29
Группа HTTP-EQUIV (HTTP-эквиваленты) 30
Группа NAME (имя) 31
2.3.2. Тег 32
2.3.3. Другие теги внутри 33
2.4. Раздел тела документа 35
2.5. Основные атрибуты тегов 35
2.6. Отображение элементов в нормальном потоке 37
Глава 3. Основы CSS
41
3.1. Присоединение таблиц стилей к (X)HTML-документу 41
3.2. Правила форматирования 42
3.2.1. Селекторы 42
3.2.2. Контекстные селекторы 44
3.2.3. Псевдоселекторы и псевдоэлементы 45
3.3. Приоритеты определений параметров стилей 47
3.4. Размерность и цвета 50
3.5. Блоки: поля, отступы, границы и размеры 52
3.6. Наследование параметров 60
Глава 4. Позиционирование с помощью CSS
62
4.1. position:static 63
4.2. position:relative 63
4.3. position:absolute 65
4.4. position:fixed 68
4.5. Отсчет координат 69
4.6. Слои 70
4.7. Обтекание 72
4.8. Видимость 75
4.8.1. overflow 75
4.8.2. clip 75
4.8.3. visibility 76
4.8.4. display 77
4.9. Размеры 78
4.10. Практические примеры 80
4.10.1. Центрирование элемента 80
4.10.2. Управление положением элемента с помощью мыши 82
4.10.3. Раскрывающаяся панель 82
Глава 5. Фон элементов и границ
84
5.1. background 84
5.2. opacity 88
5.3. border-image 92
5.4. border-radius 94
5.5. box-shadow 95
Глава 6. Ссылки
97
6.1. Текстовые ссылки 98
6.1.1. Простое меню ссылок 98
6.1.2. Двухуровневое меню ссылок 102
6.2. Графические и комбинированные ссылки 105
6.3. Графические карты ссылок 106
6.3.1. Клиентский вариант графической карты ссылок 106
6.3.2. Серверный вариант графической карты ссылок 109
6.4. Внутренние ссылки 110
6.5. URL-адреса 112
6.5.1. Структура URL 112
6.5.2. Абсолютные и относительные пути 114
6.5.3. Кодирование URL 115
6.5.4. Псевдо-URL JavaScript 117
Глава 7. Тексты
118
7.1. Шрифты 118
7.2. Основные теги разметки текстов 121
7.3. Специальные символы 122
7.4. Форматирование текста 123
7.4.1. Красная строка 123
7.4.2. Выравнивание 124
7.4.3. Межстрочное расстояние 124
7.4.4. Межсловное расстояние 125
7.4.5. Межбуквенное расстояние 125
7.4.6. Декорация 126
7.4.7. Индексы 127
7.4.8. Выделение первой буквы строки и первой строки в блоке текста 128
7.4.9. Объемный текст 129
7.4.10. Преобразование регистра 130
7.4.11. Мультиколоночная верстка 131
7.5. Предварительно отформатированный текст 131
7.6. Генерируемое содержимое 132
Глава 8. Списки
137
8.1. Маркированный список 137
8.2. Нумерованный список 139
8.3. Автоматическая нумерация элементов списка 140
8.4. Иерархический раскрывающийся список 142
8.5. Меню на основе списка 148
8.6. Выравнивание элементов списка 152
8.7. Список определений 154
Глава 9. Таблицы
156
9.1. Табличные теги 156
9.2. Рамки таблицы 158
9.3. Размеры таблицы 162
9.4. Выравнивание содержимого ячеек таблицы 167
9.5. Задание параметров столбцов 169
9.6. Сложные таблицы 172
9.6.1. Расширение ячеек 172
9.6.2. Прокручиваемая таблица 176
9.7. Декорирование таблицы 178
Глава 10. Элементы пользовательского интерфейса и формы
180
10.1. Поля ввода, кнопки и переключатели: тег 181
10.2. Кнопка: тег
10.3. Раскрывающийся список: тег
10.4. Текстовая область: тег
10.5. Декорации 191
10.6. Форма: тег
Глава 11. Вставка внешнего содержимого в (X)HTML-документ
196
11.1. Графические изображения 196
11.1.1. Основные форматы графики 196
Растровая графика 196
Векторная графика 199
11.1.2. Вставка графики в (X)HTML-документ 201
Применение тега 201
Применение тегов
Пример простой фотогалереи 205
11.2. Звук и видео 207
11.2.1. Основные форматы звуковых и видеофайлов 207
11.2.2. Вставка звука и видео в (X)HTML-документ 208
Теги
Теги
11.2.3. Вставка FLV-видео в (X)HTML-документ 212
11.2.4. Вставка Flash-фильмов 214
11.3. Вставка (X)HTML-документов 218
11.4. Вставка элементов управления ActiveX 220
11.4.1. Что такое ActiveX 220
11.4.2. Примеры элементов ActiveX 221
Flash-проигрыватель 221
Adobe SVGViewer 222
Календарь 223
Обслуживание табличных данных в текстовых файлах 223
11.4.3. О безопасности ActiveX 228
11.5. Вставка апплетов Java 230
11.5.1. Что такое апплет 230
11.5.2. Вставка апплета посредством тега
11.5.3. Вставка апплета посредством тега
Глава 12. Фреймы
235
12.1. Установочный файл 236
12.2. Теги
12.3. Раскладки фреймов 239
12.4. Декорации фреймов 241
12.5. Применение CSS к фреймам 244
12.6. Пример макета фреймовой страницы 246
Глава 13. Применение SVG
249
13.1. Что такое SVG 249
13.2. Создание простых фигур 254
13.2.1. Прямоугольник 255
13.2.2. Круг 255
13.2.3. Эллипс 255
13.2.4. Многоугольник 256
13.2.5. Линии 257
13.3. Создание сложных фигур (тег ) 259
13.4. Вставка растровых изображений 263
13.5. Применение CSS 264
13.6. Группировка элементов 266
13.7. Третье измерение, определения и клонирование элементов 267
13.8. Градиентная заливка 269
13.8.1. Линейный градиент 269
13.8.2. Радиальный градиент 271
13.9. Маски 275
13.9.1. Тег 275
13.9.2. Тег 278
13.10. Тексты 278
13.11. Трасформации 287
13.11.1. Перенос 289
13.11.2. Поворот 289
13.11.3. Наклон 291
13.11.4. Масштабирование 295
13.11.5. Отражение 295
13.11.6. Трансформация посредством матрицы 297
13.12. Анимация 298
13.12.1. Тег 300
13.12.2. Тег 306
13.12.3. Тег 308
13.12.4. Тег 312
13.12.5. Тег 313
13.13. Интерактивность 313
13.13.1. Гиперссылки 314
13.13.2. Обработка событий 315
Применение тегов и атрибутов SVG 315
Применение JavaScript 319
13.14. Вставка в SVG-документ XHTML-кода 328
Глава 14. Графические фильтры CSS в Internet Explorer
332
14.1. Статические фильтры 333
14.1.1. Тень (dropShadow, shadow) 334
14.1.2. Волновое искажение (wave) 335
14.1.3. Размытие (blur) 335
14.1.4. Прозрачность (аlpha) 335
14.1.5. Повороты 336
14.2. Динамические фильтры 337
14.2.1. Трансформация (revealtrans) 337
14.2.2. Освещение (light) 340
14.3. Применение нескольких фильтров одновременно 343
ЧАСТЬ II. СКРИПТЫ НА JAVASCRIPT
345
Глава 15. Что такое JavaScript
347
15.1. Немного истории 347
15.2. Общая характеристика языка 349
15.3. Вставка сценариев в (X)HTML-документ 350
Глава 16. Основы JavaScript
356
16.1. Ввод и вывод данных 356
16.1.1. Метод alert() 357
16.1.2. Метод confirm() 357
16.1.3. Метод prompt() 358
16.1.4. Метод document.write() 359
16.2. Типы данных 360
16.2.1. Примитивные типы данных 361
16.2.2. Составные типы данных 362
16.2.3. Автоматическое преобразование типов данных 365
Преобразование строк (String) 366
Преобразование чисел (Number) 366
Преобразование логических значений (Boolean) 366
Преобразование пустого значения (null) 367
Преобразование неопределенного значения (undefined) 367
16.2.4. Принудительное преобразование типов данных 367
16.3. Переменные и оператор присваивания 370
16.3.1. Имена переменных 370
16.3.2. Создание переменных 372
16.3.3. Операторы присваивания 378
16.3.4. Проверка типа переменной 379
16.4. Операторы 379
16.4.1. Комментарии 380
16.4.2. Арифметические операторы 381
16.4.3. Дополнительные операторы присваивания 383
16.4.4. Операторы сравнения 384
16.4.5. Логические операторы 386
16.4.6. Операторы условия 388
Оператор if 388
Оператор условия ?: 390
Оператор switch 390
16.4.7. Операторы цикла 392
Оператор for 392
Оператор while 395
Оператор do-while 396
16.4.8. Об условиях в операторах условия и цикла 397
16.4.9. Побитовые операторы 397
16.4.10. Другие операторы 399
16.4.11. Приоритет операторов 399
16.5. Функции 401
16.5.1. Встроенные функции 401
16.5.2. Пользовательские функции 404
16.5.3. Объект Function 407
16.6. Строки 411
16.6.1. Кавычки и специальные символы 411
16.6.2. Объект String 413
16.6.3. Функции вставки и замены подстрок 419
16.6.4. Функции удаления ведущих и заключительных пробелов 421
16.7. Массивы 423
16.7.1. Создание массива 423
16.7.2. Многомерные массивы 425
16.7.3. Копирование массива 427
16.7.4. Объект Array 428
16.7.5. Функции обработки числовых массивов 433
16.8. Числа 434
16.8.1. Числа целые и с плавающей точкой 434
16.8.2. Объект Number 437
16.8.3. Объект Math 440
16.9. Дата и время 441
16.9.1. Создание объекта Date 442
16.9.2. Методы объекта Date 443
16.10. Объекты 449
16.10.1. Создание объекта 449
16.10.2. Свойства и методы объекта Object 453
16.10.3. Объектные операторы 454
16.10.4. JSON 457
16.11. Операторы обработки исключительных ситуаций 460