Практическое руководство по созданию современных Web-сайтов, соответствующих концепции Web 2.0. Описаны языки HTML 5 и CSS 3, применяемые, соответственно, для создания содержимого и представления Web-страниц. Даны принципы Web-программирования на языке JavaScript с использованием библиотеки Ext Core. Рассказано о создании интерактивных Web-страниц, приведены примеры интерактивных элементов, позволяющие сделать Web-страницы удобнее для посетителя. Раскрыты вопросы реализации подгружаемого и генерируемого содержимого, семантической разметки, применения баз данных для формирования Web-страниц. Показаны способы расширения функциональности Web-сайтов с использованием Web-форм, элементов управления, свободно позиционируемых эле- ментов и программного рисования средствами HTML 5.
Содержание:
Введение 1
ЧАСТЬ 1. Содержимое Web-страниц. Язык HTML 5 2
ЧАСТЬ 2. - Представление Web-страниц. Каскадные таблицы стилей CSS 3 19
ЧАСТЬ 3. Поведение Web-страниц. Web-сценарии 39
ЧАСТЬ 4. Подгружаемое и генерируемое содержимое. Семантическая разметка 60
ЧАСТЬ 5. Последние штрихи 67
Заключение 84
ПРИЛОЖЕНИЕ - Расширения CSS 84
HTML 5, CSS 3 и Web 2.0. Разработка современных Web-сайтов.
Введение
Мир Web-дизайна в очередной раз лихорадит. Шутка ли - новые интернет-технологии на подходе!
Что грядет нового в Web-дизайне
Сейчас, наверно, даже школьники знают, что содержимое Web-страниц создается с помощью языка HTML, а внешний вид их элементов определяется стилями, которые описываются на языке CSS. Существует также возможность написать небольшие программы на языке JavaScript, которые встраиваются в саму Web-страницу и изменяют ее содержимое в ответ на действия посетителя, - Web-сценарии.
Все эти языки и технологии были созданы более десяти лет тому назад, и за последнее время в них мало что изменилось (а в языке HTML не изменилось вообще ничего). Так что за последние лет десять в Web-дизайне не было никаких революций - только небольшие эволюционные изменения.
Но уже готовятся новые стандарты, которые описывают очередные версии этих языков: HTML 5 и CSS 3. Они обещают принести в Web-дизайн много нового.
- Упрощенную вставку на Web-страницу аудио- и видеоматериалов.
- Возможности рисования на Web-страницах.
- Многоколоночную верстку текста.
- Поддержку работы в оффлайновом режиме (при отключении от Интернета).
- Дополнительную поддержку мобильных устройств.
- Поддержку специальных Web-обозревателей для лиц с ограниченными физическими возможностями.
- И, как водится, многое-многое другое.
Звучит заманчиво, но... Сейчас эти стандарты существуют только в виде "черновых" редакций, и когда выйдут "чистовые", окончательные, никто не знает.
Так отчего же разгорелся весь сыр-бор?
Разработчики Web-обозревателей, не дожидаясь, пока их коллеги, "сочиняющие" интернет-стандарты, завершат работу над HTML 5 и CSS 3, уже внедряют поддержку некоторых их возможностей в свои творения. Так, Mozilla Firefox, Opera, Google Chrome и Apple Safari уже поддерживают интернет-мультимедиа в стиле HTML 5, программное рисование на Web-страницах и работу в оффлайновом режиме. Пусть и не в полной мере, но все-таки поддерживают!
"Не в теме" пока еще Microsoft Windows Internet Explorer. Однако Microsoft уже довольно давно объявила о разработке новой версии своего Web-обозревателя под номером 9. И в плане поддержки всех "горячих" интернет-новинок грозит заткнуть за пояс всех конкурентов. Что ж, у автора есть причины верить: даже предварительная версия Internet Explorer 9, совсем-совсем "сырая", на момент написания этой книги выглядит очень даже неплохо.
Но даже возможности действующих на сегодняшний день версий HTML и CSS на деле используются не в полной мере:
- подгружаемое содержимое - загрузка части содержимого вместо целой Web-страницы - практически не применяется;
- генерируемое содержимое - программное создание части содержимого Web-страницы после ее загрузки - применяется мало;
- разделение содержимого, представления и поведения Web-страниц также почти не реализуется.
А ведь все это способно значительно упростить труд Web-дизайнера и заметно улучшить вид и удобство использования Web-сайтов. Вот такие они Web- дизайнеры, не ведают своей выгоды...
О чем эта книга
В книге описываются:
- Язык HTML и принципы создания содержимого Web-страниц.
- Язык CSS и принципы создания представления Web-страниц.
- Возможности HTML 5 и CSS 3, уже поддерживаемые современными Web-обозревателями.
- Основы Web-программирования, язык JavaScript и принципы создания поведения Web-страниц.
- Библиотека Ext Core - инструмент, призванный упростить труд Web-программиста.
- Создание интерактивных Web-страниц с конкретными примерами.
- Реализация подгружаемого и генерируемого содержимого и семантической раз- метки данных средствами JavaScript.
- Использование специальных средств - Web-форм, элементов управления и свободных контейнеров - для обеспечения дополнительной функциональности Web-сайтов.
- Реализация программного рисования на Web-страницах средствами HTML 5.
В результате читатель создаст полнофункциональный Web-сайт - справочник по HTML и CSS. Конечно, это только пример - данные технологии можно применить и для разработки любого другого Web-сайта.
Какие программы используются в этой книге
Вопрос далеко не праздный, учитывая то, что за программы сегодня приходится платить... Так что же за программы использовал автор?
Только бесплатные!
- Блокнот - простейший текстовый редактор, стандартно поставляемый в составе Windows.
- Firefox версий 3.6.* - Web-обозреватель. Все примеры тестировались на нем.
- Opera 10.52 и Apple Safari 4.* - Web-обозреватели. На них автор тестировал некоторые примеры.
Другие программы автор в работе практически не применял.
Типографские соглашения
В этой книге часто приводятся форматы написания различных тегов HTML, атрибутов стилей CSS и выражений JavaScript. Нам необходимо запомнить типографские соглашения, используемые для их написания.
ВНИМАНИЕ !
Все эти типографские соглашения автор применяет только в форматах написания тегов HTML, атрибутов стилей CSS и выражений JavaScript. В коде примеров они не имеют смысла.
В угловые скобки (<>) заключены названия значений атрибутов, параметров или фрагментов кода, которые, в свою очередь, набраны курсивом. В код реального Web-сценария, разумеется, нужно подставить реальное значение, конкретный параметр или код.
Пример:
<MAP NAME=" <имя карты> ">
</MAP>
Здесь вместо подстроки <имя карты> нужно подставить конкретное имя карты. Пример:
<FORM>
<теги, формирующие элементы управления>
</FORM>
Здесь вместо подстроки <теги, формирующие элементы управления> следует подставить реальные HTML-теги, формирующие элементы управления.
В квадратные скобки ([]) заключены необязательные фрагменты кода:
<LEGEND [ACCESSKEY=" <быстрая клавиша> "]> <текст заголовка> </LEGEND>
Здесь атрибут тега ACCESSKEY может присутствовать, а может и отсутствовать. Символом вертикальной черты (|) разделены фрагменты кода, из которых в данном месте должен присутствовать только один:
SHAPE="rect|circle|poly"
Здесь в качестве значения атрибута тега SHAPE должна присутствовать только одна из доступных строк: rect, circle или poly.
Слишком длинные, не помещающиеся на одной строке фрагменты кода автор разрывает на несколько строк и в местах разрывов ставит знаки переноса.
Пример:
var s = "<LI><CODE><A HREF=\"" + aDataBase[i].url + "\">" + aDataBase[i].name + "</A></CODE></LI>";
Приведенный код разбит на две строки, но должен быть набран в одну. Знаки переноса при этом нужно удалить.
Благодарности
Губиной Наталье Анатольевне, начальнику отдела АСУ Волжского гуманитарного института (г. Волжский Волгоградской обл.), где работает автор, - за понимание и поддержку.
Всем работникам отдела АСУ Волжского гуманитарного института - за пони- мание и поддержку.
Родителям - за терпение, понимание и поддержку. Архангельскому Дмитрию Борисовичу - за дружеское участие.
Шапошникову Игорю Владимировичу - за содействие.
Рыбакову Евгению Евгеньевичу, заместителю главного редактора издательства "БХВ-Петербург", - за неоднократные побуждения к работе, без которых автор давно бы обленился.
Издательству " БХВ-Петербург" - за издание моих книг.
Разработчикам Web-обозревателей Firefox, Opera, Chrome и Safari и библиотеки Ext Core, если они меня слышат, - за замечательные программные продукты.
Всем своим читателям и почитателям - за прекрасные отзывы о моих книгах. Всем, кого я забыл здесь перечислить, - за все хорошее.