HTML, XHTML и CSS
Қосымшада ыңғайлырақҚосымшаны жүктеуге арналған QRRuStore · Samsung Galaxy Store
Huawei AppGallery · Xiaomi GetApps

автордың кітабын онлайн тегін оқу  HTML, XHTML и CSS

 

Н. Комолова, Е. Яковлева

HTML, XHTML и CSS

2014

Технический редактор Ю. Сергиенко

Литературный редактор Ю. Сергиенко

Художник Л. Адуевская

Корректор В. Листова

Верстка Л. Неволайнен

 

Н. Комолова, Е. Яковлева

HTML, XHTML и CSS. — СПб.: Питер, 2014.

 

ISBN 978-5-459-01011-4

© ООО Издательство "Питер", 2014

 

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

 

Введение

Сегодня каждый знает, что такое Интернет и веб-страница; эти понятия стали частью повседневной жизни. О них говорят, о них думают, учреждения включают адреса своих узлов Интернета в рекламные проспекты. Электронные адреса показывают по телевизору, называют в радиопередачах. Поэтому и тема создания веб-страниц интересна многим.

Статистический отдел поисковой системы Яндекс провел анализ русскоязычной части Интернета. Согласно их исследованиям, на сегодняшний день насчитывается примерно 15 миллионов русскоязычных сайтов, что не превышает 6,5 процента от общего количества сайтов в сети. Создавайте русскоязычные сайты!

Официальным днем рождения Интернета считается 2 января 1969 года, когда Управление перспективных исследований (Advanced Research Project Agency, ARPA) Министерства обороны США начало работу над проектом связи оборонных компьютеров.

В 1970-е Интернет превратился в международную сеть. Первыми службами Интернета стали электронная почта (electronic mail, e-mail) и группы новостей (Usernet). В начале 1980-х годов был создан протокол управления передачей данных TCP/IP (Transmission Control Protocol/Internet Protocol). Он стал доминирующим в процессах обмена пакетами в ARPANet.

В 1984 году была предложена доменная система имен (Domain Name System, DNS), отображающая символьные имена на IP-адреса. До конца 1980-х годов Интернет существовал как объединение нескольких больших сетей.

В 1986 году Международная организация по стандартизации (International Organization for Standardizations, ISO) приняла первый стандарт ISO-8879, названный SGML (Standard Generalized Markup Language — стандартный обобщенный язык разметки). SGML — обогащенный метаязык, позволяющий строить системы логической и структурной разметки текстов любых уровней сложности.

Структурная разметка — форматирование текста, в которой управляющие коды не несут никакой информации о внешнем виде документа, а лишь указывают границы и соподчинение его составных частей, то есть задают его логическую структуру. SGML-документ требует определения типа документа (Document Type Definition, DTD). DTD посылается вместе с SGML-документом или включается в SGML-документ для того, чтобы можно было распознать теги, созданные пользователем. Язык SGML не получил распространения, однако его идеология повлияла на многие компьютерные разработки.

В 1989 году выпускник Оксфордского университета, бакалавр в области физики, сотрудник Европейского центра ядерных исследований (CERN) Тим Бернерс-Ли (Tim Berners-Lee) разработал язык HTML (HyperText Markup Language — язык разметки гипертекста), ставший основным языком создания веб-документов и прототипом Всемирной паутины (World Wide Web, WWW). По сути, язык HTML — это набор SGML-предписаний, сформулированный в виде DTD. В случае языка HTML определение типа документа хранится в браузере, и это определение намного проще, чем DTD языка SGML.

Однако нельзя сказать, что именно Тим Бернерс-Ли один все и придумал. К открытию подошло все человечество, накопив достаточные знания. Так, еще в середине двадцатого столетия Ванневар Буш (Vannevar Bush) объявил миру новое слово — «гипертекст», а Тед Нельсон (Ted Nelson) предложил создать «документарную вселенную», связав все тексты, произведенные человечеством на свет, перекрестными ссылками. Для работы с текстами был разработан специальный протокол передачи гипертекста (HyperText Transfer Protocol, HTTP).

Летом 1991 года проект WWW, покоривший научный мир Европы, пересек океан и влился в американский проект Интернет. Вспыхнувшее соперничество между Европой и Америкой за новую информационную технологию сошло «на нет» с переездом Тима Бернерса-Ли в США. В 1994-м он возглавил кафедру в Массачусетском технологическом институте, а затем — международный консорциум W3C (World Wide Web Consortium), играющий роль органа по стандартизации Всемирной паутины.

Консорциум W3C разработал стандарты, необходимые для дальнейшего развития World Wide Web. В 1996 году Консорциум W3C объявил о сотрудничестве с лидерами рынка в целях стандартизации программного обеспечения.

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

Появившийся в 1991 году язык HTML постоянно дорабатывался и дополнялся. Из всех этих видоизменений выделяют следующие версии:

• HTML 1.0. Первая версия языка, считая год его появления.

• HTML 2.0. Эта версия (RFC 1866) была разработана в 1994 году. Рабочая группа по HTML в составе IETF (Internet Engineering Task Force) ввела соответствующие изменения, и набор базовых элементов HTML 2.0 приобрел статус стандарта.

• HTML 3.0. Эта версия языка была реализована в начале 1996 года. Появилось много нововведений, включая теги для создания таблиц, для разметки математических формул, для вставки обтекаемых текстом рисунков, для вставки примечаний и т. д. Не нарушая основные концепции разметки гипертекста, авторы версии 3.0 ввели новое средство — каскадные листы стилей (Cascading Style Sheets, CSS).

• HTML 3.2. Эта версия языка была реализована в 1996 году. В ней были предусмотрены дополнительные элементы, предназначенные для создания апплетов, задания регистра символов и т. д. Версия HTML 3.2 стала компромиссным решением — попыткой примирить Microsoft и Netscape и объединить их оригинальные решения.

• HTML 4.0. Эта версия языка была реализована в 1997 году. Вторая скорректированная реализация вышла в 1998 году. В HTML 4.0 была введена поддержка мультимедиа, языков сценариев, а также средств воспроизведения документов для пользователей с физическими ограничениями.

• HTML 4.01. Эта версия вышла в 1999 году. В ней были исправлены ошибки, замеченные в предыдущей версии.

• HTML 5. Разработка этой версии началась в рабочей группе W3C в 2007 году и 22 января 2008 года появилась в новой спецификации. Спецификация и сейчас находится в разработке и может находиться в этой стадии еще несколько лет.

Для просмотра веб-документов в WWW необходимо специальное программное обеспечение. Такие программы называются браузерами (от англ. browse — листать, просматривать, читать).

Веб-браузер — это прикладная программа, которая отображает содержимое файлов, полученных с локального или удаленного компьютера, в соответствии с инструкциями, включенными в этот файл. Браузер представляет собой клиентскую программу и использует для передачи запросов веб-серверам протокол http (hypertext transfer protocol — протокол передачи гипертекста).

В 1993 году был выпущен первый графический браузер Mosaic. Ныне существует довольно большое количество браузеров, из которых самыми популярными являются браузеры Microsoft Internet Explorer, Netscape Navigator, Mozilla Firefox, Opera, Chrome, Safari и NCSA Mosaic.

Веб-сайт (web site) — совокупность веб-документов, организованных в виде титульной страницы и нескольких связанных с ней страниц. Каждая такая совокупность, доступная в Интернете, может иметь любые размер и содержание, информационную и эмоциональную направленность. Веб-мастер — лицо, ответственное за поддержание и обновление документов на веб-серверах.

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

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

В феврале 1998 году был предложен язык XML (Extensible Markup Language — расширяемый язык разметки). Этот язык похож на HTML тем, что для описания различных разделов документа в нем используются теги. Однако в отличие от HTML язык XML позволяет разработчикам определять собственные теги и ставить им в соответствие собственные способы воспроизведения информации.

Язык Dynamic HTML (динамический язык HTML) — это попытка объединить объектную модель документа (Document Object Model, DOM), язык JavaScript и каскадные листы стилей (CSS). Dynamic HTML позволяет создавать интерактивные веб-страницы с расширенной поддержкой мультимедиа. Многие средства Dynamic HTML описаны в спецификации HTML 4.01.

Язык Java произошел от языка программирования Oak, ориентированного на работу в Интернете. Синтаксис языка Java близок к синтаксису языка C++. Программы на языке Java можно разделить на две большие группы. К первой группе относятся Java-приложения, предназначенные для автономной работы под управлением специальной интерпретирующей машины Java. Реализации этой машины созданы для всех основных компьютерных платформ. Вторая группа — это так называемые апплеты.

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

JavaScript — это язык сценариев, с помощью которого можно расширять возможности HTML-страниц. Многие элементы этого языка, предназначенные для поддержки дополнительных функциональных возможностей статических веб-страниц, разработала фирма Sun Microsystem. В отличие от Java-апплетов, загружаемых отдельно от HTML-документа, в котором они используются, программы, написанные на языке JavaScript, встраиваются непосредственно в HTML-документы с помощью элемента <script>.

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

VBScript — язык, который был разработан Microsoft как подмножество языка Visual Basic. VBScript создавался для работы с Internet Explorer и Microsoft Internet Information Server.

PHP — это язык сценариев, обрабатываемый сервером. PHP-код непосредственно включается в состав HTML-документа. Первоначальным названием PHP являлось Personal Home Page Tools (Персональная домашняя страница). Позднее эта технология, допускающая размещение на сервере выполняющихся скриптов веб-страниц, работающая, главным образом, на платформах Unix, Linux и Solaris, стала расшифровываться по-другому: PHP (PHP Hypertext Preprocessor).

В PHP реализованы лучшие решения многих языков, таких как C и Perl, кроме того, PHP предоставляет разработчику мощные средства для работы с базами данных. Слово Perl является аббревиатурой выражения Practical Extraction and Report Language. Подобно Perl, PHP — свободно распространяемая открытая система, и сообщество разработчиков имеет возможность ее модернизировать.

Новой технологией для создания лучшего, удобного и более интерактивного веб-приложения, а не новым языком программирования является AJAX. AJAX — это акроним Asynchronous JavaScript And XML. AJAX использует JavaScript, чтобы посылать и получать данные между веб-браузером и веб-сервером.

Приложения AJAX являются браузерами и платформно независимы (кросс- платформенная и кросс-браузерная технология). Вместе со AJAX, Интернет-приложения можно сделать богаче (меньше, быстрее и легче для использования). К известным средствам разработки можно отнести также CGI (Common Gateway Interface), ASP, JSP ( Java Server Pager), SSI (Server Side Includes), VRML (Virtual Reality Markup Language) и др.

Apache — это открытый веб-сервер, наиболее часто используемый для платформ Unix, Linux и Solaris.

ASP (Active Server Pages) — технология, используемая для написания мощных клиент-серверных интернет-приложений, позволяющая создание динамических HTML-страниц.

Какие программы лучше использовать для создания веб-страниц? Это, несомненно, WebBuilder, Microsoft FrontPage, Adobe Dreamweaver, E-Texteditor, Notepad++. Для редактирования изображений могут применяться программы Adobe Photoshop, GIMP, Corel Photo-Paint, Adobe Illustrator, Macromedia Freehand, Corel DRAW, Adobe Flash. Для работы с аудио- и видеоданными — программы Adobe Premier, Apple Final Cut Pro, Apple Quick Time, RealProducer, Windows Media.

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

Язык XHTML (Extensible HyperText Markup Language — расширяемый язык разметки гипертекста) — это сочетание HTML и XML. Когда консорциум W3C, объединяющий представителей более 500 организаций из разных стран, рекомендовал использовать XHTML вместо HTML, на это предложение откликнулось большинство разработчиков веб-страниц.

О стандартах языка XHTML 1.0 корпорацией W3C было впервые объявлено 26 января 2000 года. Новые изменения появились в версии XHTML Modularization 1.1 — Second Edition, разработанной корпорацией W3C 29 июля 2010 года.

Для разработки стандартов языка следующей версии — XHTML 2.0 — 16 декабря 2010 была создана рабочая группа корпорации W3C. Подробное описание этого программного продукта можно найти на сайте http://www.w3.org/TR/xhtml2.

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

Большинство информации получают при обращении к веб-серверу. Для того чтобы стать сервером, необходимо подключиться к Интернету и инсталлировать серверное программное обеспечение. Это программное обеспечение включено в состав многих популярных операционных систем: Windows, Mac OS, Unix. Веб-сервер постоянно работает в Интернете и ждет запросов от клиентских браузеров типа Opera, Mozilla Firefox, Internet Explorer и т. п.

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

ПРИМЕЧАНИЕ

Не следует использовать для создания веб-страниц программу Microsoft Word или Microsoft Power Point.

В стандартах языка ХHTML все элементы сгруппированы по модулям (см. табл. В.1). В этой таблице перечислены не все элементы и атрибуты, приведенные в книге. Это касается элементов и атрибутов, используемых в ранних версиях языка HTML.

Таблица В.1. Основные элементы HTML/ХHTML

Модуль

Элементы модуля

Документ

body, head, html, title

Структуры

address, blockcode, blockquote, div, h, h1, h2, h3, h4, h5, h6, p, pre, section, separator

Текст

abbr, cite, code, dfn, em, kbd, l, q, samp, span, strong, sub, sup, var

Гипертекст

a

Список

dl, dt, dd, label, nl, ol, ul, li

Рисунок

img (элемент); alt src (атрибуты)

Атрибуты гипертекста

href, hreftype, cite, target, rel, rev, access, nextfocus, prevfocus и xml:base

Разные атрибуты

xml:lang (интернационализация); dir (направление текста); edit и datetime (редактирование); src и type (внедрение); usemap, ismap, shape, и coords (карта изображения); media (медиа)

Метаинформация

meta, link (элемент); about, content, datatype, typeof, property, rel, resource и rev (атрибут)

Объект

object, param, standby

Стиль

style (элемент); style (атрибут)

Таблицы

caption, col, colgroup, summary, table, tbody, td, tfoot, th, thead, tr

Заметки

ruby, rbc, rtc, rb, rt, rp

Формы

alert, bind, case, choices, copy, delete, extension, filename, group, help, hint, input, insert, instance, item, itemset, label, load, mediatype, message, model, output, range, rebuild, recalculate, refresh, repeat, reset, revalidate, secret, select, select1, send, setfocus, setindex, setvalue, submission, submit, switch, textarea, toggle, trigger, upload и value (элемент); repeat-model, repeat-bind, repeat-nodeset, repeat-startindex и repeat-number (атрибуты)

XML (события)

listener (элемент); defaultAction, event, handler, objserver, phase, propagate и target (атрибуты)

XML (handlers-ручной настройки)

action, dispatchEvent, addEventListener, removeEventListener, stopPropagation, preventDefault (атрибуты)

XML (скрипт)

script (элемент)

Другие элементы

article, aside, bdo, button, canvas, command, dd, del, details, fieldset, figcaption, figure, footer, form, iframe, ins, legend, meter, nav, noscript, progress, var

Интернационализация

rules (элемент); translate (атрибут)

Другие атрибуты

accesskey, class, contentedittable, contentmenu, data, draggable, hidden, id, item, itemprop, spellcheck, subject, tabindex, title

События

onabort, onblur, onchange, onclick, oncontextmenu, ondblclick, ondrag, ondragend, ondragenter, ondragleave, ondragover, ondragstart, ondrop, onfocus, onkeydown, onkeypress, onkeyup, onmousedown, onmousemove, onmouseout, onmouseover, onmouseup, onscroll

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

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

От издательства

Ваши замечания, предложения и вопросы отправляйте по адресу электронной почты comp@piter.com (издательство «Питер», компьютерная редакция).

Мы будем рады узнать ваше мнение!

Подробную информацию о наших книгах вы найдете на веб-сайте издательства http://www.piter.com.

Урок 1. Основные сведения

В этом уроке рассматриваются основные понятия HTML и элементы веб-страниц. Даны определения HTML, WWW, Интернета, веб-сайта. Рассказано, с чего следует начинать при создании HTML-документа.

Основные понятия

Язык HTML (HyperText Markup Language — язык разметки гипертекста) является стандартным языком, предназначенным для создания гипертекстовых документов в среде WWW (World Wide Web — Всемирная паутина). HTML-документы (или веб-документы) могут просматриваться различными типами веб-браузеров.

Основное преимущество HTML заключается в том, что документ может быть просмотрен на веб-браузерах различных типов и на различных платформах. HTML — один из наиболее простых языков создания веб-страниц.

WWW — это сообщество веб-серверов (сетевых компьютеров), входящих в Интернет, на которых хранятся текстовые, графические, видео-, аудио- и другие информационные файлы.

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

Интернет (Internet, от англ. inter — между, net — сеть) — это совокупность сетей, применяющих единый протокол обмена (точнее, обширное семейство из сотен протоколов) для передачи информации.

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

Первый из протоколов — это TCP/IP (Transmission Control Protocol/Internet Protocol). После того как установлено соединение по TCP/IP, запускается веб-браузер, который использует протокол передачи гипертекста (http, hyper text transfer protocol) для обмена командами. Затем веб-сервер посылает специальным образом размеченные документы (HTML, XHTML) на браузер клиента, который выводит их на экран.

Http не является единственным протоколом, использующимся в Интернете. Существуют протоколы передачи файлов (file transfer protocol, ftp), обмена сообщениями электронной почты (post office protocol, simple mail transport protocol) и др. Имеются также различные разновидности http, например шифрованный http (shttp).

Результатом видоизменения HTML стал стандарт XHTML. Язык XHTML (Extensible HyperText Markup Language — расширяемый язык разметки гипертекста) — это сочетание HTML и XML. Корпорация W3C ввела семейство модулей и типов документов XHTML, устранив не стандартизированную разметку XML и модернизируя существующее содержимое HTML 4 (или более ранних версий). XHTML-документы (или веб-документы) могут просматриваться различными типами веб-браузеров.

Указатель информационных ресурсов URL

Каждая веб-страница, как и любой другой интернет-ресурс, имеет свой уникальный адрес. Эти адреса называются унифицированными указателями информационных ресурсов, чаще используют сокращение URL (Uniform Resource Locators).

Доступ к большинству интернет-служб осуществляется с помощью схемы адресации. Каждый тип службы имеет свой формат адреса, который обычно чем-нибудь да отличается от других. Например, чтобы послать электронное письмо, следует написать адрес в поле адреса своего почтового приложения, например: ninapetergof@mail.ru. Чтобы получить доступ к FTP-серверу AOL, нужно написать: piter.com.

Вот пример URL для доступа к некому веб-документу на сайте корпорации Microsoft: http://www.microsoft.com/windows/index.html.

В соответствии с форматом URL, http:// означает протокол, www.microsoft.com — адрес веб-сервера компании Microsoft. Далее следует косая черта (/), обозначающая, что после нее следует путь. Путь к файлу указывает на то, что ведется поиск документа index.html, расположенного в папке Windows. Таким образом, URL позволяет не только определить тип интернет-ресурса, но и с помощью системы адресации идентифицировать каждый документ, программу или файл в Интернете.

В табл. 1.1 показаны некоторые альтернативные протоколы, которые могут быть частью URL.

Таблица 1.1. Основные протоколы

Протокол

Использование при обращении к…

http://

Веб-серверам

ftps://

Некоторым веб-серверам с шифрованием

file://

HTML-документам на вашем жестком диске

ftp://

FTP-серверам и файлам

gopher://

Gopher-меню и документам

news://

Серверам групп новостей Usenet

news:

Конкретной группе новостей Usenet

mailto:

Определенному адресу электронной почты

telnet:

Удаленному серверу Telnet

Как создаются HTML-документы?

HTML-документы могут быть созданы при помощи любых текстовых редакторов или специализированных HTML-редакторов и конвертеров.

HTML-документ — это обычный файл в формате ASCII. В его основе лежат специальные дескрипторы (теги), которые и определяют правила форматирования данных.

Код программы на языке HTML — обычный текстовый файл, поэтому проще всего написать его в Блокноте — стандартном Windows-приложении, которое вызывается командой Пуск\Программы\Стандартные\Блокнот.

Наберите код программы, приведенный ниже, — это шаблон документа, созданного на языке XHTML 1.0 Transitional.

Листинг 1.1. Шаблон документа на языке XHTML 1.0 Transitional

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html;

charset=windows-1251" />

<title> Шаблон XHTML-документа</title>

</head>

<body>

</body>

</html>

Пример программы, написанной на языке HTML в Блокноте, показан на рис. 1.1.

 

Рис. 1.1. Пример программы, написанной на языке HTML в Блокноте

Когда программа написана, файл следует сохранить не с расширением txt, а с расширением .htm (рис. 1.2). Если получится, то можно сохранить файл с расширением html или xhtml. Имя HTML-файла следует писать строчными латинскими буквами без пробелов, можно использовать цифры, знаки подчеркивания и дефисы.

 

Рис. 1.2. Диалоговое окно сохранения файла в программе Блокнот

Как только файл будет записан с расширением .htm, его значок сразу примет вид «интернетовского» (рис. 1.3). Первая пиктограмма соответствует текстовому файлу, вторая — файлу с расширением htm в браузере Internet Explorer, третья — в браузере Mozilla Firefox, четвертая — в браузере Opera, пятая — в браузере Safari, шестая — в браузере Google Chrome.

 

Рис. 1.3. Примеры значков TXT- и HTML-файлов

Если используется операционная система, отличная от Windows, можно воспользоваться простым текстовым редактором, например Pico (Linux) или TextEdit (Mac).

Критерии документа

1. Корневым элементом является элемент <html>. Программа, написанная на языке HTML, находится в «контейнере» <html> …</html>.

2. Корневой элемент документа обязан обозначать пространство имен XHTML, используя атрибут xmlns [XMLNAMES]. Определителем пространства имен XHTML является «http://www.w3.org/1999/xhtml».

3. Перед корневым элементом в документе обязательно должно присутствовать объявление DOCTYPE. При наличии публичного идентификатора, включенного в объявление DOCTYPE, он обязан ссылаться на DTD (Document Type Definition — Определение типа документа).

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 2.0//EN"

"http://www.w3.org/MarkUp/DTD/xhtml2.dtd">

HTML — это язык элементов. Элемент — это команда, записываемая тегами. Все HTML-теги начинаются с символа левой угловой скобки (<) и заканчиваются символом правой угловой скобки (>). Существуют открывающий и закрывающий теги. Для примера приведем открывающий и закрывающий теги, определяющие заголовок документа:

<title> Заголовок документа </title>

Итак, тег — последовательность символов, заключенных между символами < и >. Закрывающий тег выглядит так же, как открывающий, и отличается от него символом прямого слэша перед текстом внутри угловых скобок. В данном примере тег <title> говорит веб-браузеру об использовании элемента заголовка, а тег </title> — о завершении текста заголовка.

Ранее язык HTML был нечувствителен к регистру символов, описывающих тег, но в настоящее время в кодах программы XHTML рекомендуется использовать символы нижнего регистра. Теги могут иметь параметры, или атрибуты, которые играют роль дополнения тегов. Иногда теги называют дескрипторами. Дескриптор (описатель) — лексическая единица (слово, словосочетание) информационно-поискового языка, выражающая основное смысловое содержание какого-либо текста. Дескриптор используется при информационном поиске документов в информационно-поисковых сис­темах.

Пример документа XHTML 1.1

Листинг 1.2. Пример документа XHTML 1.1

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"

    "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" >

  <head>

    <title>Пример документа XHTML 1.1</title>

  </head>

  <body>

   <p>Перейдите на сайт<a href="vlib.org.

http://vlib.org/">vlib.org</a>.</p>

  </body>

</html>

Обратите внимание, что в этом примере используется объявление XML. Подобное объявление не является обязательным для всех документов XML. Авторам XHTML-документов настоятельно рекомендуется использовать объявления XML. Такое объявление требуется, когда кодировка символов документа отличается от кодировки по умолчанию — UTF-8 или UTF-16.

Стандарты XHTML

• XHTML является регистрозависимым языком, поэтому все имена элементов должны записываться строчными буквами: <р>, </р>, br /> и т. д.;

• все элементы должны иметь закрывающие теги либо закрывающую косую черту, даже если они являются пустыми, например <br />;

• все значения атрибутов должны быть заключены в двойные кавычки:

<img src="file.jpg" align="left" />.

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

Модуль документа

Модуль документа включает элементы html, head, title, body. Когда веб-браузер получает документ, он по элементам определяет, как документ должен быть интерпретирован.

• Корневой элемент <html>. Самый первый элемент, который встречается в документе, должен быть тегом <html>. Данный тег сообщает веб-браузеру, что документ написан на языке XHTML или HTML.

Структурно документ делится на две части: заголовочную и основную, или тело документа. Заголовочная часть размещается между тегами <head> и </head>, основная — между тегами <body> и </body>.

• Элемент <head>. Внутри контейнера <head> и </head> могут размещаться элементы <title> (текст заголовка), <meta> (служебная информация), <style> (стили на странице), <script> (добавление сценария), <link> (ссылка на внешние стили), <base> (базовый адрес документа), <basefont> (шрифт на странице), <bgsound> (фоновый звук на странице).

Данный элемент выполняет исключительно структурирующие функции и не имеет никаких атрибутов.

• Элемент <title>. Внутри контейнера <head> и </head> размещается единственный обязательный контейнер из тегов <title> и </title>, содержащий текст заголовка.

Элемент заголовочной части документа <head> должен быть указан сразу после элемента <html> и более нигде в теле документа. Открывающий элемент <head> указывается непосредственно перед элементом <title>, а закрывающий элемент </head> — сразу после окончания описания документа. Заголовок документа при отображении самого документа в окне браузера не виден.

• Элемент <body>. Тело документа должно находиться между элементами <body> и </body>. Это та часть документа, в которой отображается текстовая и графическая информация.

Между открывающим элементом <body> и закрывающим элементом </body> размещаются все элементы программы, составляющие основное содержание документа. Элемент <body> предназначается для выделения той части документа, которая должна быть показана пользователю на экране.

Изменение программы

Если в код веб-документа (файлы с расширением htm, html или xhtml), который можно просмотреть в браузере Internet Explorer, требуется внести изменения, то следует открыть этот файл в текстовом редакторе, выбрав в браузере Inter­net Explorer команду Вид\Источник (рис. 1.4).

 

Рис. 1.4. Просмотр HTML-кода документа

HTML-файл будет открыт в окне программы Блокнот (см. рис. 1.1). Выполнив изменения кода программы, следует воспользоваться командой Файл-Сохранить (рис. 1.5).

 

Рис. 1.5. Сохранение программы

Чтобы увидеть произведенные изменения в браузере Internet Explorer, необходимо щелкнуть на кнопке Обновить (она четвертая слева на рис. 1.6) или выполнить команду Вид\Обновить (см. рис. 1.4).

 

Рис. 1.6. Панель инструментов программы Internet Explorer

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

Элементы и атрибуты

Элемент  — код языка HTML, с помощью которого выполняется разметка исходного текста. Раньше все такие управляющие команды назывались тегами, в настоящее время их принято называть элементами. Элементы записывается в угловых скобках. Все элементы начинаются с символа < и заканчиваются символом >. После открывающей угловой скобки следует имя элемента (команды). Каждый элемент может иметь атрибуты. После перечисления всех атрибутов начальный, или открывающий, тег закрывается. Все значения атрибутов должны быть заключены в двойные кавычки. После открывающего элемента располагается содержимое элемента. Код HTML-документа заканчивается конечным, или закрывающим, элементом (рис. 1.7). Закрывающие элементы начинаются с символа косой черты (/).

 

Рис. 1.7. Структура HTML-элемента

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

Первая веб-страница

Можно открыть Блокнот и в теле документа записать текст, не задумываясь о его размерах и цвете. На рис. 1.8 показано, какой вид примет листинг 1.1 при просмотре в браузере.

 

Рис. 1.8. Веб-страница с текстом

Листинг 1.3. Пример создания веб-страницы с текстом

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 2.0//EN"

    "http://www.w3.org/MarkUp/DTD/xhtml2.dtd">

<html>

<head>

<title> Моя первая веб-страничка</title>

</head>

<body>

33 удивительнейшие буквы русского алфавита передают человечеству события, факты, настроение, переживания, радость и вдохновение, то есть все, что можно видеть, слышать, пробовать, трогать, чем можно наслаждаться. </body>

</html>

Пример документа XHTML 2.0

При создании веб-страницы необходимо придерживаться определенных правил. На рис. 1.9 показан внешний вид документа XHTML 2.0 (листинг 1.4), соответствующего стандартам корпорации W3C.

Листинг 1.4. Пример документа XHTML 2.0

<?xml version="1.0" encoding="UTF-8"?>

<html xmlns="<xmlns />" xml:lang="en">

<head>

    <title>Пример документа XHTML 2.0</title>

  </head>

  <body>

    <p>Перейдите к примеру <a href="example.org.

http://example.org/">example.org</a>.</p>

  </body>

</html>

 

Рис. 1.9. Пример документа XHTML 2.0

Основные правила создания веб-страниц

При создании веб-страницы необходимо придерживаться определенных правил.

• Следите за тем, чтобы веб-страницы не получились слишком широкими и пользователям не приходилось пользоваться прокруткой. Если веб-страница не помещается на экране, большинство браузеров добавляют горизонтальную полосу прокрутки снизу. Принято считать, что типичная ширина экрана составляет 640 пикселов.

• Каждая веб-страница должна иметь заголовок.

• Не перегружайте страницу графикой.

• Попытка выделить все визуально означает не выделить ничего.

• Не забывайте житейскую мудрость: «Все гениальное — просто».

• Помните про пословицу: «Выплескивая воду из корыта, не выплесните с водой ребенка». Иногда веб-страница сделана так красиво и оригинально, что непонятно, чему она посвящена.

• Используйте свободное пространство для привлечения внимания. Многие создатели сайтов располагают текст в середине экрана, оставляя пустыми широкие поля слева и справа. Незаполненное пространство заставляет пользователей сосредоточиться на тексте, в центральной части экрана.

Атрибуты элемента <body>

В противоположность элементу <head> элемент <body> содержит всю ту информацию, из которой, собственно, и состоит рассматриваемый документ. Порядок следования элементов здесь именно такой, в каком они предстают перед читателем.

Начальный элемент <body> может иметь несколько атрибутов, например:

<body bgcolor="#ffffff" leftmargin="0" topmargin="4" marginwidth="0" marginheight="4" link="#000099" vlink="#000099" alink="#cc0000">

• Атрибут background задает графическое изображение, которое как кафельная плитка заполнит фон документа. Файл с изображением должен быть сохранен в формате GIF или JPEG. Пример:

    <body background="(url)(путь) имя файла">

Файл с изображением фона лучше размещать в том же каталоге, что и файл самого документа, тогда URL-адрес и путь указывать не нужно. Пример использования этого атрибута в HTML-документе имеется в уроке 4.

Атрибут bgcolor задает цвет фона документа при помощи шестнадцатеричных значений интенсивности цветовой модели RGB (Red, Green, Blue — красный, зеленый, синий) или строчного литерала, соответствующего названию цвета, например:

    <body bgcolor="#ff0000">

    <body bgcolor="red">

Примеры использования этого атрибута в HTML-документе приведены в уроке 2.

• Атрибут link задает цвет гиперссылки; в большинстве браузеров он по умолчанию темно-синий. Пример:

    <body link="цвет">

• Атрибут alink задает цвет активной гиперссылки, который меняется в момент щелчка на ней мышью и который желательно делать отличным от цвета фона (задаваемого атрибутом link). Пример:

    <body alink="цвет">

• Атрибут vlink задает цвет посещенной гиперссылки, который желательно делать отличным от цвета фона (задаваемого атрибутом link) и от цвета активной гиперссылки (задаваемого атрибутом alink). Пример:

    <body vlink="цвет">

• Атрибут bgproperties задает свойства фонового изображения. В данный момент браузерами поддерживается единственное его значение fixed, запрещающее прокрутку изображения. Пример:

    <body bgproperties="fixed">

• Атрибут topmargin задает верхнюю границу страницы в пикселах. Пример:

    <body topmargin="число">

• Атрибут bottommargin задает нижнюю границу страницы в пикселах. Пример:

    <body bottommargin="число">

• Атрибут leftmargin задает левую границу страницы в пикселах. Пример:

    <body leftmargin="число">

• Атрибут rightmargin задает правую границу страницы в пикселах. Пример:

    <body rightmargin="число">

На рис. 1.10 показана веб-страница (листинг 1.5), для которой верхняя, левая, правая и нижняя границы не заданы, то есть равны 0. Видно, что текст как бы прилипает к левому краю страницы, без отступов сверху и снизу. Правый край текста имеет отступ от правой границы только из-за того, что в нем после каждой строки указан элемент перехода на новую строку (элемент <br />).

Листинг 1.5. Пример создания веб-страницы,  для которой не заданы границы

<html><head><title>МОЯ ПЕРВАЯ ПРОГРАММА</title></head>

<body bgcolor ="#ffff05" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0">

<h2> А. С. Пушкин </h2>

<h2> Зимняя дорога</h2>Сквозь волнистые туманы <br />Пробирается луна,<br />На печальные поляны<br />Льет печально светона<br /><br />По дороге зимней, скучной<br />Тройка борзая бежит,<br />Колокольчик однозвучный<br />Утомительно гремит.<br /><br />Что-то слышится родное <br />В долгих песнях ямщика:<br />То разгулье удалое<br />То сердечная тоска...<br /><br />Ни огня, ни черной хаты, <br />Глушь и снег... Навстречу мне, <br />Только версты полосаты<br />Попадаются одне...<br /><br />Скучно, грустно...Завтра, Нина, <br />Завтра к милой возвратясь,<br />Я забудусь у камина, <br />Загляжусь не наглядясь.<br /><br />Звучно стрелка часовая<br />Медный круг свой совершит,<br />И, докучных удаляя,<br />Полночь нас не разлучит<br /><br />Грустно, Нина: путь мой скучен, <br />Дремля смолкнул мой ямщик,<br />Колокольчик однозвучный,<br />Отуманен лунный лик.<br /><i>1826</i></body></html>

 

Рис. 1.10. Веб-страница, для которой не заданы границы

На рис. 1.11 показана веб-страница, для которой верхняя, левая, правая и нижняя границы заданы и равны 150 пикселов (листинг 1.6). Видно, что текст имеет отступы от левого и правого краев, а также сверху (и снизу, в чем можно убедиться, выполнив прокрутку). Так как текст полностью в окно не помещается, справа автоматически появляется вертикальная полоса прокрутки.

 

Рис. 1.11. Веб-страница с отступами от границ

Листинг 1.6. Пример создания веб-страницы,  для которой заданы границы

<html><head> title>МОЯ ПЕРВАЯ ПРОГРАММА</title></head

<body bottommargin="150" bgcolor="#FFD000" leftmargin="150" topmargin="150" rightmargin="150">

<H2>А. С. Пушкин </h2>

<h2>Зимнее утро </

h2>Мороз и солнце; день чудесный; <br />Еще ты дремлешь, друг прелестный,<br />Пора, красавица, проснись:<br />Открой сомкнуты негой взоры<br>Навстречу северной Авроры,<br />Звездою Севера явись!<br /><i>1829</i> </body></html>

Подведем итоги

В этом уроке были рассмотрены базовые понятия, относящиеся к созданию веб-страниц. Показаны структура HTML-документа и некоторые основные элементы. Перечислены правила создания веб-страниц. В заключение урока приведено несколько примеров веб-страниц.

Урок 2. Текст

В этом уроке рассматриваются основные элементы, отвечающие за структуру документа:

address, blockcode, blockquote, div, h, h1, h2, h3, h4, h5, h6, p, pre, section, separator 

и текстовые элементы:

abbr, cite, code, dfn, em, kbd, l, q, samp, span, strong, sub, sup, var.

Если в ранних версиях языка HTML использовался элемент <font> и его атрибут size, то в настоящее время такой подход считается устаревшим, рекомендуется оформлять текст с помощью других элементов или использовать CSS (см. урок 5).

Уровни заголовков

Заголовки различного уровня позволяют структурно разделить формально не ограниченный по длине текст на отдельные разделы и абзацы. Первый уровень заголовков (самый высокий) обозначается цифрой 1, следующий — 2 и т. д. Элементы с меньшими номерами соответствуют заголовкам более высокого уровня. Большинство браузеров поддерживают интерпретацию шести уровней заголовков, определяя для каждого из них собственный стиль. Заголовок самого верхнего уровня имеет признак 1. Синтаксис заголовка первого уровня («h» от англ. head — заголовок):

<h1> Заголовок первого уровня </h1>

Заголовок любого уровня можно записать в общем виде:

<hx> Заголовок x-го уровня </hx>

Здесь x — цифра от 1 до 6, определяющая уровень заголовка.

На рис. 2.1 показано окно программы, содержащей заголовки, при просмотре в браузере (листинг 2.1).

 

Рис. 2.1. Пример с заголовками разных уровней

Листинг 2.1. Пример создания веб-страницы с заголовками

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 2.0//EN"

    "http://www.w3.org/MarkUp/DTD/xhtml2.dtd">

<html><head><title> Заголовки </title></head><body>

<h1> Заголовок 1 - Транспортный протокол</h1>

<h2> Заголовок 2 - Протокол маршрутизации</h2>

<h3> Заголовок 3 - Протокол передачи файлов</h3>

<h4> Заголовок 4 - Протокол передачи почты</h4>

<h5> Заголовок 5 - Сетевой протокол</h5>

<h6> Заголовок 6 - Протокол поддержки сетевого адреса</h6>

</body></html>

Данный элемент появился в HTML версии 2.0. Заголовки более высокого уровня отображаются шрифтом большего размера. Текстовая информация на странице может чередовать заголовки и абзацы (рис. 2.2 и листинг 2.2).

Листинг 2.2. Пример чередования заголовков и абзацев

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 2.0//EN"

    "http://www.w3.org/MarkUp/DTD/xhtml2.dtd">

<html> <head> <title> Заголовки и абзацы</title></head>

<body> <h1> LAN </h1>

    <p>Это несколько компьютеров, соединенных друг с другом кабелем и расположенных в одном месте. </p>

    <h2> Локальная сеть </h2>

    <p>Обычно располагается на этаже здания или в небольшой фирме.</p>

    <h2>Local Area Network</h2>

    <p>Перевод с англ.: Local –локальный, Area – область, Net – сеть,

    work – работа </p>

<h1>Глобальные сети </h1>

    <p> Это совокупность локальных сетей, связанных коммуникационными

    каналами.</p>

    <h2> WAN (Wide Area Network) </h2>

    <p> Перевод с англ.: Wide –широкий </p>

        <h3> Городская сеть - MAN (Metropolitan Area Network)</h3>

        <p> Региональные (городские) сети используют технологии объединения 

        локальных сетей в глобальные в регионе, например в городе.</p>

</body></html>

 

Рис. 2.2. Пример чередования заголовков и текста

В стандартах XHTML 2.0 были убраны многие элементы форматирования текста, существовавшие в предыдущих версиях, и появилась рекомендация использовать для этих целей CSS.

Пример использования элемента заголовка <h1> с форматированием CSS можно увидеть на рис. 2.3, а код программы — в листинге 2.3.

Листинг 2.3. Заголовок в рамке

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 2.0//EN"

    "http://www.w3.org/MarkUp/DTD/xhtml2.dtd">

<html> <head> <title> Заголовок с форматированием </title>

<style type="text/css">

  h1 {border-width: thin; border-style: solid; text-align: center}

</style></head>

<body> 

<h1>Сервер</h1>

Серверные сети или клиент/сервер (server/based или client/server)

</body></html>

Можно привести еще ряд примеров заголовков с форматированием CSS внутри тела программы.

 

Рис. 2.3. Заголовок в рамке

Внешний вид заголовка с форматированием CSS внутри тела программы можно посмотреть на рис. 2.4, а код — в листинге 2.4.

 

Рис. 2.4. Пример заголовка с форматированием CSS

Листинг 2.4. Пример заголовка с форматированием CSS

<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US" lang="en-US"><head>

<title>Почему XHTML?</title></head>

<body>

<h1 style="background-color: rgb(255, 0, 0); color: rgb(0, 255, 0)";class="left"><span class="left_h1"> Гибридные сети </span>– сети клиент/сервер с одноранговыми разделяемыми ресурсами </h1>

</body>

Еще один пример использования элемента <h1> с множеством стилей форматирования CSS можно увидеть на рис. 2.5, а код программы — в листинге 2.5.

Листинг 2.5. Заголовок с использованием нескольких стилей форматирования CSS

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 2.0//EN"

    "http://www.w3.org/MarkUp/DTD/xhtml2.dtd">

<html> <head> <title> Заголовок с форматированием </title>

<style type="text/css">

  h1 {font-size : 400%; border : 5px solid #e5eecc; border-style: solid; color : #555555; margin-top : 20px; text-align : right; background-color : #98bf21; }

</style></head>

<body><h1>Сетевая топология</h1>

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

</body></html>

 

Рис. 2.5. Заголовок, использующий множество стилей форматирования CSS

Абзацы и разрывы строк

В HTML-документе невозможно разбить текст на абзацы, используя Enter. Нажатие этой клавиши улучшает внешний вид исходного текста, но не влияет на получаемое изображение. Для перехода на следующую строку следует воспользоваться элементом <br/> (сокращение от англ. break — разрыв). Элемент <p> позволяет разделить текст на абзацы. Если этого не сделать, документ будет выглядеть как один большой абзац.

Пример использования абзацев с форматированием CSS и разрывами можно увидеть на рис. 2.6, а код программы — в листинге 2.6.

Листинг 2.6. Пример элементов абзацев и разрывов

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 2.0//EN"

    "http://www.w3.org/MarkUp/DTD/xhtml2.dtd">

<html> <head> <title> Абзацы и разрывы </title></head>

<body> <p class="poem" xml:lang="de">

Warum nicht? Почему бы и нет?<br/>

Richtig. Правильно. <br/>

Oh Gott! О Боже! <br/>

Endlich! Наконец! </p>

</body></html>

 

Рис. 2.6. Веб-страница, содержащая элементы абзацев и разрывов

Еще один пример использования элемента с форматированием CSS можно увидеть на рис. 2.7, а код программы — в листинге 2.7.

Листинг 2.7. Пример элементов <p> с форматированием шрифта CSS

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 2.0//EN"

    "http://www.w3.org/MarkUp/DTD/xhtml2.dtd">

<html> <head> <title> Абзацы с форматированием CSS</title></head>

<body><p style="font-size: 14pt; color: fuchsia">

   Одноранговые сети (peer-to-peer) </p>

<p style="font-size: 12pt; color: lime">

   В них нет серверов и разделяются ресурсы независимых узлов </p>

<p style="font-size: 16pt; color: teal">

   Эта технология используется в программе Skype </p>

</body></html>

 

Рис. 2.7. Веб-страница с элементом p и форматированием CSS

Если в ранних версиях HTML элемент параграфа <p> не мог содержать другие элементы блока, то теперь может. Пример использования элемента параграфа с дополнительными элементами показан на рис. 2.8, а код программы приведен в листинге 2.8.

 

Рис. 2.8. Пример внедрения других элементов в элемент p

Листинг 2.8. Пример внедрения других элементов в элемент <p>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 2.0//EN"

    "http://www.w3.org/MarkUp/DTD/xhtml2.dtd">

<html> <head> <title>Абзацы с другими элементами</title></head>

<body><p>Платежи возможны при наличии:

   <ul><li>Средств</li>

   <li>Кредитной карты</li>

   <li>Платежных поручительств</li></ul></p></body></html>

Элемент div

Элемент <div> (от англ. division — раздел) позволяет выделить в структуре документа несколько разделов. Изначально (в версии HTML 3.2) этот элемент редко использовался. Однако если проанализировать современные веб-страниц, то можно заметить, что элемент <div> встречается очень часто. Он является блочным элементом, похожим на элемент <p> и <div> начинает новый абзац.

Элемент <div> в сочетание с атрибутами с id, class и role задействует механизм генерации добавления внешних структур к документам. Этот элемент определяет концепции представления элемента. Кроме того, CSS, атрибуты xml: lang и другие инструменты позволяют использовать этот элемент для веб-дизайна (рис. 2.9 и листинг 2.9).

 

Рис. 2.9. Веб-страница, содержащая элемент div

Листинг 2.9. Пример использования элемента div

<html><head><title> Элемент div </title></head>

    <body> <h2>Все хорошо</h2> <p>что хорошо кончается</p>

       <div class="slide"><h3>Ende gut</h3>

         <p>...</p> </div>

       <div class="slide"><h3>alles gut</h3>

       ...</div>

    </body></html>

В сочетании с каскадными листами стилей элемент <div> превращается в мощное средство структурирования документа.

Выравнивание

Атрибут align позволяет выровнять текст по левому или правому краю, по центру или по ширине страницы. По умолчанию текст, графика и элементы таблицы выравниваются по левому краю, то есть начала строк расположены на одном уровне, а концы — на разных. Выравнивание по левому краю задается атрибутом align="left", выравнивание по правому краю — атрибутом align="right", центрирование — align="center".

Пример веб-страницы, содержащей текст, выровненный различными способами, показан на рис. 2.10 (листинг 2.10).

 

Рис. 2.10. Веб-страница с текстом, выровненным различными способами

Листинг 2.10. Пример выравнивания текста различными способами

<html>

<head>

<title> Центрирование и выравнивание </title>

</head>

<body>

<p align="center"> Атрибут align позволяет выровнять текст по левому или правому краю, <br />

по центру или по ширине </p>

<p align="right">По умолчанию текст, графика и элементы таблицы выравниваются по левому краю <br />

и не выравнивается по правому краю, то есть начало строк находится на одном уровне, а конец - на разных.<br />

Выравнивание по левому краю задается атрибутом align="left". Выравнивание по правому краю задается<br />

атрибутом align=right </p>

<p align="left">Центрирование элементов документа можно производить разными способами.

</body>

</html>

Предварительное форматирование

Элемент <pre> позволяет представлять на экране текст со специфическим форматированием. Все, что написано в этом элементе, точно так же отображается в браузере, то есть сохраняются все отступы, пробелы и разрывы строк. Пример такой веб-страницы показан на рис. 2.11 (листинг 2.11).

Внутри предварительно отформатированного текста разрешается использовать:

• символы перевода строки;

• символы табуляции (сдвиг на 8 символов вправо);

• непропорциональный шрифт, устанавливаемый браузером.

Форматирование абзаца, заданное другими элементами, такими как <hx> и <address>, будет игнорироваться браузером при помещении их между тегами <pre> и </pre>.

Листинг 2.11. Пример специфического форматирования текста

<html><head><title>Символы</title></head>

<body bgcolor="aquamarine" leftmargin = "300">

<h5 align="center"> С праздником 8 марта!</h5>

<pre>

_____________________88888______________________

___________________888888888____________________

_________________888       888__________________

_________________888       888__________________

_________________888       888__________________

_________________888       888__________________

__________________888     888___________________

                    8888888

____________________8888888_____________________

__________________888     888___________________

_________________888       888__________________

_______________888          888_________________

_______________888           888________________

_______________888           888________________

________________888         888_________________

_________________8888888888888__________________

__________________88888888888___________________

____________________8888888_____________________

 

___________$$$$___$$$$____$$$$___$$$$

__________$$$$$$$$$$$$$"""$$$$$$$$$$$$$

__________"$$$$$$$$$$$____$$$$$$$$$$$"

_________"___$$$$$$$________$$$$$$$___"

________"______$$$____________$$$______"

________"___$______________________$____"

________"___$$$__________________$$$____"

________"____$$$$$$$$$$$$$$$$$$$$$$_____"

_________"_____$$$$$$$$$$$$$$$$$$______"

__________"______$$$$$$$$$$$$$$_______"

_____"______$$$$$$$$$$_______"

______________"___________________"

________________"___"__"__"__"__"

 

</pre></body></html>

 

Рис. 2.11. Веб-страница с текстом, имеющим специфическое форматирование

Элемент <pre> появился в HTML 2.0. В заранее отформатированном тексте нежелательно использовать символы табуляции, поскольку они могут нарушить выравнивание. Ученики очень любят рисовать разные картинки с помощью символов, используя данный элемент.

Задание начертания

Для выделения текстовой информации в документах можно использовать различное начертание. Большинство браузеров поддерживают жирное и курсивное начертание, моноширинный шрифт, большой и маленький шрифты, а также подстрочный и надстрочный индексы. Элементы <b>, <i>, <tt>, <strong> появились в HTML 2.0, элементы <u>, <big>, <small>, <strike>, <sub>, <sup> — в HTML 3.2. Пользоваться этими элементами не запрещено, но консорциум W3C рекомендует применять средства каскадных листов стилей (см. урок 5).

Результат применения этих элементов показан на рис. 2.12 (листинг 2.12).

Листинг 2.12. Пример веб-страницы,  содержащей текст разных начертаний

<html>

<head>

<title> Стили шрифта </title>

</head>

<body>

<b> Этот текст жирный </b><br />

<i> Этот текст наклонный </i><br />

<u> Этот текст подчеркнутый </u><br />

<tt> Этот текст с непропорциональным шрифтом </tt><br />

Этот текст <big> большой </big><br />

Этот текст <small> маленький </small><br />

Этот текст <strong> увеличенный </strong><br />

Этот текст <strike> перечеркнутый </strike><br />

Этот текст <sub> подстрочный </sub><br />

Этот текст <sup> надстрочный </sup><br />

</body>

</html>

 

Рис. 2.12. Веб-страница с текстом разного начертания

Элемент <var> используется для дополнительного выделения переменных в коде. Синтаксис:

<var> переменная </var>

Пример использования этого элемента показан на рис. 2.13, а код программы — в листинге 2.13.

 

Рис. 2.13. Веб-страница, содержащая элемент var

Листинг 2.13. Веб-страница,  содержащая элемент var

<html><head><title> Элементы форматирования</title></head>

<body bgcolor=#"ec1dfc">Доджер - <var>рекламный проспект </var></body></html>

Элемент <var> появился в версии HTML 2.0. Он определяет переменную или параметр программы и обычно отображается курсивом.

Элемент <span> позволяет выделить фрагмент текста для последующего форматирования, однако в отличие от элемента <div> не начинает новый абзац. Элемент <span> создает структуру текстового уровня, определяемую пользователем. Пример использования этого элемента показан на рис. 2.14, а код программы — в листинге 2.14.

 

Рис. 2.14. Веб-страница, содержащая элемент span

Листинг 2.14. Пример веб-страницы,  содержащей элемент span

<html><head><title>Форматирование символов</title></head>

<body bgcolor="#eaaaac"> 

Медиапланирование -<span><i> составление оптимального плана размещения рекламы в СМИ на основе маркетинговых и медиаисследований. </span></i>

Паблисити - <span><i>неоплаченная информация, стимулирующая спрос на товар или деловую кампанию посредством распространения о них коммерческих и (или) социальных сведений в средствах коммуникации</span></i>

<span><i>Характерные признаки: достоверность (в сравнении с рекламными сообщениями); широкий охват аудитории (новинка, сенсация, напоминание); броскость (эффективная и многожанровая форма).</span></i></body></html>

Данный элемент появился в HTML 4.0. Так как он используется в сочетании с каскадными листами стилей (см. урок 5), в данном примере его преимущества не слишком заметны.

Элементы <l> и <blockcode>

Элемент <l> дает команду браузеру объединить весь текст в одну строку, не разрывая ее. Пример такой строки показан на рис. 2.15 (листинг 2.15).

Листинг 2.15. Пример веб-страницы,  содержащей текст в одной строке

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 2.0//EN"

    "http://www.w3.org/MarkUp/DTD/xhtml2.dtd">

<html> <head> <title> Строка </title></head>

<body> 

<blockcode class="program">

<l> Ключевые понятия -  </l>

<l> Классифицированная реклама. </l>

<l> Профессиональный риск. </l>

<l> Персонализация рекламы. </l>

</blockcode>

</body></html>

 

Рис. 2.15. Веб-страница с неразрывной строкой

В этом примере используется еще один элемент, предназначенный для работы с текстом, — <blockcode>, который, согласно названию, как бы содержит блок кода текста (см. элемент <code>). Элемент <blockcode>, подобно элементу <pre>, позволяет задействовать пустое пространство для оформления фрагментов текста. Пример использования данного элемента показан на рис. 2.16, код программы — в листинге 2.16.

 

Рис. 2.16. Веб-страница, содержащая элемент blockcode

Листинг 2.16. Пример веб-страницы с использованием элемента blockcode

<html><head><title> Цитата </title></head>

<body>

Элемент blockquote добавляет поля слева и справа от текста. <br />

Этот элемент позволяет расположить текст компактно в центре страницы. <br />

<blockquote>Текст, помеченный элементом, отступает от левого края документа на 8 пробелов </blockquote> 

</body></html>

Элемент <blockquote>

Элемент <blockquote> используется для оформления больших цитат и отображает их с отступами от левого и правого краев. Вложенная структура из элементов <blockquote> позволяет сузить текстовую колонку с обеих сторон. Элемент <blockquote> имеет атрибут cite="uri", где uri задает цитируемый документ или сообщение. URI (Uniform Resource Identifier) — это унифицированный идентификатор ресурса, в состав которого входит URL.

Данный элемент позволяет расположить текст компактно в центре страницы (рис. 2.17, листинг 2.17).

Листинг 2.17. Пример веб-страницы,  содержащей цитату

<html>

<head>

<title> Цитата </title>

</head>

<body> Хот-шоп-

<blockquote cite="http://www.example.com/primer/primer.html">

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

</blockquote> 

</body>

</html>

 

Рис. 2.17. Фрагмент веб-страницы с длинной цитатой

Элемент <blockquote> появился в HTML 2.0 и, в отличие от элемента <q>, предназначен для оформления длинных цитат .

Вставка цитат

Элемент <q> предназначен для оформления небольших цитат. Он имеет атрибут cite="uri", где uri задает цитируемый документ или сообщение. Обычно в короткую цитату не входят символы разрыва строки, и цитата считается элементом текстового уровня. Символы кавычек отображает браузер.

Пример использования элемента <q> показан на рис. 2.18 (листинг 2.18).

 

Рис. 2.18. Фрагмент веб-страницы с короткой цитатой

Листинг 2.18. Пример веб-страницы, содержащей элемент q

<html><head><title>Цитата</title></head>

<body bgcolor="bbaaff">

<q cite=" http://www.example.com/primer/prim.html">

"Постер" - наружная реклама, плакат </q></body></html>

Комментарии

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

<!-- Это комментарий -->

Комментарии могут встречаться в документе где угодно и в любом количестве. Данный элемент появился в HTML 2.0.

Акронимы

Два элемента <abbr> (см. гл. 16) и <acronym> позволяют выделять акронимы, или аббревиатуры (сокращения полных названий), в пределах текста. Содержимое элементов <abbr> и <acronym> выводится в виде всплывающих подсказок, которые дают пользователю возможность увидеть расшифровку акронимов. Пример использования элемента <acronym> показан на рис. 2.19 (листинг 2.19).

 

Рис. 2.19. Фрагмент веб-страницы, содержащей акроним

Листинг 2.19. Пример создания веб-страницы,  содержащей акроним

<html>

<head>

<title> Акроним </title>

</head>

<body>

<!-- Акроним, или аббревиатура, — это сокращение известных названий -->

<acronym title="Северо-Западный институт печати"> СЗИП </acronym>

<acronym title="Санкт-Петербургский государственный университет технологии и дизайна"> СПГУТД </acronym>

</body>

</html>

ВНИМАНИЕ

Не следует забывать, что знак равенства (=) в программе не должен быть окружен пробелами.

Элемент <acronym> появился в HTML 4.0.

Определения

Если название поместить внутри элемента <cite>, то это название отобразится курсивом. Элемент <cite> может иметь атрибут cite=«uri», где uri задает цитируемый документ или сообщение. Термины можно задать еще и элементом <dfn>. Пример использования этих элементов показан на рис. 2.20 (листинг 2.20).

 

Рис. 2.20. Фрагмент веб-страницы с определениями

Листинг 2.20. Пример создания веб-страницы,  содержащей определения

<html><head><title>Определения</title></head>

<body><cite cite="http://www.example.com/primer/two">

"Переулок Джамбула, дом 13"</cite> Это адрес Северо-Западного института печати <br /> Санкт-Петербургского государственного университета технологии и дизайна <br />

<dfn> PR - деньги из воздуха </dfn> В России PR пока недооценивается.<br />

Его репутация не слишком высока, а само слово PR превратилось в "пиар" и вызывает негативные <br />

 ассоциации. Ежегодный оборот на рынке заказных публикаций оценивается в €20 млн.<br />

 Теперь эти деньги с незаконного рынка заказухи перетекают в легальный рекламный рынок <br />

- стало больше статей под шапкой "на правах рекламы".

</body></html>

Элемент <cite> появился в HTML 2.0. Он определяет цитату или ссылку на источник, содержимое данного элемента обычно воспроизводится курсивом.

Шрифтовое выделение

Элемент <em> используется для выделения особым шрифтом (обычно курсивом) слова или текста. Синтаксис:

<em> Текст </em>

Пример использования этого элемента можно посмотреть на рис. 2.21, а код программы — в листинге 2.21.

Листинг 2.21. Пример создания веб-страницы со специфическим форматированием

<html><head><title>Форматирование</title></head>

<body bgcolor="00fffc"> Имидж –

<em> образ, (знаковый символ фоторекламного успеха и рекламного бизнеса, устойчивый престиж искусства фоторекламы, полномасштабная профессиональная компетентность команды фоторекламистов и их лидера, философия индивидуальной позиции фоторекламного творчества),</em>

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

</body></html>

 

Рис. 2.21. Веб-страница, содержащая элемент em

Элемент <em> появился в версии HTML 2.0, чаще всего содержимое данного элемента выводится курсивом.

Использование моноширинных шрифтов

Надписи, выполненные моноширинными шрифтами, создаются с помощью элементов <code>, <kbd> и <samp>. Результаты применения этих тегов обычно идентичны.

Элемент <code> используется для выделения фрагментов программного кода моноширинным шрифтом. Данный элемент предпочтительнее, чем элемент <tt> (см. раздел «Задание начертания»). Синтаксис:

<code> Код </code>

Пример использования этого элемента можно посмотреть на рис. 2.22, а код программы — в листинге 2.22.

 

Рис. 2.22. Веб-страница, содержащая элемент <code>

Листинг 2.22. Пример создания веб-страницы,  содержащей элемент <code>

<html><head><title> Элемент code </title></head>

<body bgcolor="#00ffec"> Промоушн - <code> продвижение продаж - комплекс различных мер стимулирования покупки товаров.</code>

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

</body></html>

Элемент <code> появился в HTML 2.0.

Элемент <kbd> используется с целью выделения диалога пользователя с компьютером. Синтаксис:

<kbd> Ввод с клавиатуры </kbd>

Пример применения этого элемента показан на рис. 2.23, а код программы — в листинге 2.23.

 

Рис. 2.23. Веб-страница, содержащая элемент <kbd>

Листинг 2.23. Пример веб-страницы,  содержащей элемент <kbd>

<html><head><title>Элемент kbd</title></head>

<body bgcolor="#ec1dfc"> Имидж – 

<kbd> модификация образа личности, фирмы, товара путем сгущения красок, приукрашивания или очернения.</kbd>

Теория создания имиджей именуется имиджелогией, или иконикой.

</body></html>

Элемент <kbd> появился в HTML 2.0.

Элемент <samp> используется для выделения диалога пользователя с компьютером. Синтаксис:

<samp> Системное сообщение компьютера </samp>

Пример использования этого элемента можно посмотреть на рис. 2.24, а код программы — в листинге 2.24.

 

Рис. 2.24. Веб-страница, содержащая элемент <samp>

Листинг 2.24. Пример веб-страницы,  содержащей элемент samp

<html><head><title> Элемент samp</title></head>

<body bgcolor="#ec1dda">Корпоративная реклама – 

<samp>реклама, создающая потребность не в конкретной марке товара, а в полном товарном ассортименте.</samp></body></html>

Элемент <samp> появился в HTML 2.0.

Элемент address

Для отображения контактной информации, визуального выделения сведений об авторе документа, например адреса его электронной почты, служит элемент <address>. Синтаксис:

<address> Адрес-автора </address>

Этот элемент обычно используется в конце документа. Содержимое элемента выводится, как правило, курсивом. Пример документа, содержащего адрес, показан на рис. 2.25 (листинг 2.25).

 

Рис. 2.25. Документ, содержащий адрес автора

Листинг 2.25. Пример создания документа,  содержащего адрес

<html><head><title>АДРЕС</title></head>

<body background="000001">

<center>

<address> HTML- Учебный курс<br/> Комолова Нина Владимировна<br /> Северо-Западный институт печати<br />

Санкт-Петербургского государственного университета технологии

 и дизайна<br />

ninapetergof@.mail.ru</address> 

</body></html>

Элемент section

Элемент <section> в сочетании с заголовками и параграфами предлагает механизм структурирования документа на разделы. Содержание структурируется на уровне блоков. Пример использования этого элемента показан на рис. 2.26, а код программы — в листинге 2.26.

 

Рис. 2.26. Веб-страница, содержащая элемент section

Листинг 2.26. Пример,  содержащий элемент section

<html><head><title> Элемент section </title></head>

   <body><h1> Текст в em </h1>

     <section><h2>1em=16px </h2>

       <p> Корпорация W3C рекомендует измерять текст в em. </p>

      <h3>Параграф</h3>

    <p> По умолчанию размер текста параграфа составляет 16px</p>

      <section><h1> Заголовок h1 </h1>

         <p> h1 {font-size:2.5em;} /* 40px/16=2.5em */</p></section>

      <section><h2> Заголовок h2 </h2>

       <p> h2 {font-size:1.875em;} /* 30px/16=1.875em */ </p></section>

      <section><h> Параграф</h>

      <p> p {font-size:0.875em;} /* 14px/16=0.875em */</p> </section>

      </section></body></html>

Элемент separator

Элемент <separator> разделяет части документа.

Пример текста с элементом <separator> показан на рис. 2.27, а код программы — в листинге 2.27.

Листинг 2.27. Пример,  содержащий элемент separator

<html><head><title> Элемент separator </title></head>

    <body><p> Свойство сокращения кода </p>

     <separator />

   <p> Чтобы сократить код, можно соединить все свойства в одно. </p>

     <ul>

     <label>Поля могут иметь 4 значения: </label>

     <li href="/">поля: 25px 50px 75px 100px; </li>

     <li><separator/></li>

     <li href="top"> верхнее  25px </li>

     <li href="right"> правое  50px </li>

     <li href="bottom"> нижнее 75px </li>

     <li href="left"> левое 100px</li>

     </ul></body></html>

 

Рис. 2.27. Веб-страница, содержащая элемент separator

Подведем итоги

В этом уроке были рассмотрены основные элементы, предназначенные для работы с текстом. Элемент <hx> используется для создания заголовков. Элементы <p>, <pre>, <b>, <i>, <tt>, <strong>, <u>, <big>, <small>, <strike>, <sub>, <sup>, <blockquote>, <blockcode>, <dfn>, <cite>, <em>, <code>, <kbd>, <l>, <var>, <samp>, <div>, <span>, <q>, <address>, <section>, <separator> позволяют форматировать текст, красиво располагать его на странице. Элемент <acronym> предназначен для создания всплывающих подсказок.

Урок 3. Графика

Одна из наиболее привлекательных черт WWW — возможность включения ссылок на графические файлы в HTML-документ. Графика — лучшее украшение веб-узла. Под графикой подразумевают значки, рисунки, фотографии и карты изображений, занимающие часть окна браузера.

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

Размещение графики на веб-странице

Для вставки графики на веб-страницу используется элемент <img>. Графика позволяет значительно улучшить внешний вид и функциональность документов. Элемент <img> (от англ. image — изображение) появился в HTML 2.0. Если в первых версиях языка HTML элемент <img> был одинарным тегом, то теперь, в соответствие со стандартами XHTML, все элементы должны иметь закрывающие теги либо закрывающую косую черту, даже если они являются пустыми.

Элемент <img> имеет атрибуты src, alt, longdesc, height, width, usemap, ismap, align, border, hspace, vspace. Пример:

<img src="W3C.png" alt="Логотип W3C" height="длина" width="длина" align=top|middle|bottom|left|right ismap>W3C</img>

• Атрибут src (от англ. source — источник). Определяет месторасположение изображения, включаемого в состав документа. URL — обязательный параметр, который указывает браузеру, где находится рисунок. Рисунок должен храниться в графическом формате, например в формате GIF или JPEG.

Если графический файл находится в том же каталоге, что и содержащий его HTML-документ, достаточно указать только имя этого файла, например:

    <img src="file.gif" />

Если графический файл находится на том же сервере, что и содержащий его HTML-документ, но в другом каталоге, следует указать имя каталога и имя этого файла, например:

    <img src="picture/file1.gif" />

Если графический файл находится не на том сервере, на котором находится содержащий его HTML-документ, необходимо указать полный адрес этого файла, например:

    <img src=http://www.uprint.ru/picture/file1.gif />

• Атрибут alt. Необязательный атрибут alt задает альтернативный текст, который выводится браузером, пока идет загрузка изображения (или браузером, не поддерживающим отображение графики). Обычно это короткое описание изображения, которое пользователь мог бы или сможет увидеть на экране. Если этот атрибут не задан, на месте изображения большинство браузеров выводят значок, щелкнув на котором пользователь сможет увидеть изображение.

• Атрибут longdesc. Необязательный атрибут longdesc задает ссылку на удаленный ресурс.

• Атрибут heigth. Необязательный атрибут heigth определяет высоту рисунка в пикселах. Если данный параметр не указан, используется оригинальная высота рисунка. Этот параметр позволяет сжимать или растягивать изображения по вертикали, что дает возможность точнее контролировать внешний вид документа. Однако некоторые браузеры не поддерживают данный параметр. Экранное разрешение на разных компьютерах может не совпадать, поэтому при задании абсолютной величины графического объекта следует быть внимательным.

• Атрибут width. Необязательный атрибут width используется для указания ширины рисунка в пикселах. Если данный атрибут не указан, используется оригинальная ширина рисунка. Этот атрибут позволяет сжимать или растягивать рисунок по горизонтали.

• Атрибут align. Необязательный атрибут align используется для точного позиционирования объектов на экране. Доступные значения:

• top — верхний край объекта выравнивается по верхнему краю строки;

• middle — центр объекта выравнивается по базовой линии строки;

• bottom — нижний край объекта выравнивается по базовой линии строки;

• left — объект выравнивается по левому краю, при этом возможно обтекание объекта текстом;

• right — объект выравнивается по правому краю, при этом возможно обтекание объекта текстом.

Если данный параметр не указан, большинство браузеров располагает изображение в левой части экрана, а текст — справа от него.

• Атрибут border. Задает толщину обрамления для изображения.

• Атрибут vspace. Позволяет задать размер в пикселах пустого пространства над и под изображением, чтобы текст не «наезжал» на изобра­жение.

• Атрибут hspace. Позволяет задать размер в пикселах пустого пространства слева и справа от изображения, чтобы текст не «наезжал» на изображение.

Форматы графических файлов

Большинство форматов файлов в компьютерной графике позволяют хранить информацию об изображении как о наборе точек. Точно так же (в виде набора точек) изображения выводятся на экран.

Обычно в Интернете используется два растровых формата — JPEG и GIF. Кроме того, в Интернете довольно много изображений, имеющих форматы BMP и PCX. Очень популярен формат PNG — самый современный формат переносимой сетевой графики.

Формат GIF

Формат GIF (Graphic Interchange Format — формат обмена графическими данными) служит для записи и хранения растровых графических изображений. Этот формат был разработан корпорацией Compuserve с использованием технологии Unisys. Формат GIF применяется для хранения 256-цветных изображений (или изображений с меньшим количеством цветов), сжатых по методу Лемпела—Зива (LZW). Тот же метод сжатия характерен для архиваторов файлов.

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

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

Формат JPEG

Применяющийся в формате JPEG ( Joint Photographic Expert Group — объединенная группа экспертов в области фотографии) алгоритм обработки изображений разработан группой экспертов как средство сжатия изображений с палитрой 24 бита на пиксел, что обеспечивает отображение 16,7 миллиона цветов.

JPEG — один из самых мощных алгоритмов. Практически он является стандартом де-факто для полноцветных изображений. Формат JPEG был создан для того, чтобы избавиться от недостатков формата GIF.

Алгоритм оперирует областями 8 × 8 пикселов, в которых яркость и цвет плав­но меняются. Сжатие в формате JPEG осуществляется за счет того, что в реальных изображениях, в частности в фотографиях, цвет обычно меняется достаточно плавно. Обеспечивается высокий коэффициент сжатия, значение которого достигает 100 и зависит от допустимого уровня потерь изобразительной информации.

Формат широко используется в HTML-документах и для передачи графики по сети. Сохраняет параметры графики в цветовой модели RGB. Изображения в формате JPEG хранятся в файлах с расширением jpg.

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

Формат PNG

Последнее время получили распространение файлы в формате PNG (Portable Network Graphics — переносимая сетевая графика). Само название формата говорит о его назначении — использовании при передаче изображений в сетях. Формат поддерживает полноцветные RGB-изображения и индексированные изображения. Допускает наличие дополнительного канала для хранения маски обрезки. Имеет эффективный алгоритм сжатия без потери информации.

Формат BMP

Первым графическим форматом для IBM-совместимых компьютеров, нашедшим широкое применение, был формат BMP (Bit Map — битовая карта). Можно сказать, что с него все началось. В формате BMP первоначально использовалось простейшее кодирование — по пикселам (самое неэкономное). Пикселы обходились последовательно по строкам, начиная с нижнего левого угла графического изображения. Файлы именно этого формата поддерживались первыми версиями оболочки Windows. В них использовались только индексированные цвета в количестве 256, то есть один пиксел представлялся одним байтом. В дальнейшем формат стал применяться и для кодирования полноцветных изображений. Это стандартный формат растровой графики. Поскольку bmp-файлы представляют собой «родной» формат графики для Microsoft Windows, подобных изображений в Интернете достаточно много.

Формат PCX

Формат PCX использует только индексированные палитры. Он был разработан фирмой Z-soft специально для пакета PaintBrush, а в дальнейшем получил более широкое распространение. В нем предусмотрено сжатие, обеспечивающее большую компактность по сравнению с форматом BMP. Тем не менее практически он пригоден только для простых изображений или изображений с индексированными цветами.

Пикселы и разрешение

В Интернете для передачи изображений в основном используется растровая графика.

Растровая графика — это, во-первых, графика, представляемая в компьютере в виде множества точек (пикселов), во-вторых, файл определенного формата.

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

Разрешение — количество точек на единицу измерения:

• dpi (dots per inch) — количество точек на дюйм;

• ppi (points/pixels per inch) — количество пикселов на дюйм;

• spi (samples per inch) — оптическое, первоначальное разрешение сканера, означающее количество проб на дюйм, то есть число «просмотров» сканером изображения во время сканирования.

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

Разрешение иллюстрации обычно измеряется в dpi. Чем больше разрешение, тем более качественным является изображение, но и тем больший размер имеет файл, в котором изображение сохраняется.

Различают разрешение изображения, разрешение экрана и разрешение принтера.

Статические растровые изображения представляют собой двумерный массив чисел. Элементы этого массива называют пикселами (от англ. pixel — picture element, или элемент изображения). Пиксел — минимальный адресуемый элемент двумерного растрового изображения; одна точка изображения.

Примеры размещения графики на веб-странице

Прежде чем размещать изображение на веб-странице, проведем эксперимент. Возьмем любительскую фотографию высотой 11 см и шириной 13 см. Как она будет выглядеть на экране? Если мы отсканируем фотографию в трех вариантах, в первом выберем цветной режим с разрешением 300 dpi, во втором — черно-белый режим с разрешением 300 dpi, в третьем — цветной режим с разрешением 72 dpi, то в первых двух вариантах отсканированная фотография будет иметь размер 1304 × 1479 пикселов, а в третьем варианте — 313 × 355 пик­-селов.

Поскольку размеры фотографии в пикселах в первых двух вариантах оказались больше размера экрана в пикселах (размер, например, моего экрана составляет 768 × 1024 пикселов), при размещении фотографии на веб-странице для ее просмотра потребуются полосы прокрутки. В третьем варианте отсканированная фотография займет только часть экрана.

Таким образом, для изображений, распространяемых через Интернет, обычно устанавливается разрешение 72 dpi, а разрешение в 300 dpi характерно больше для печатных изображений.

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

 

Рис. 3.1. Настенный рисунок на веб-странице

Листинг 3.1. Пример создания веб-страницы с рисунком

<html>

<head>

<title> РИСУНОК</title>

</head>

<body>

<img alt="Театр" src="Театр.jpg" />

</body>

</html>

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

СОВЕТ

Размеры изображения можно уточнить и при необходимости изменить в программе Photoshop фирмы Adobe или в свободно распространяемой программе GIMP.

На рис. 3.2 показан пример размещения изображения шириной 354 и высотой 442 пиксела (листинг 3.2). В этом примере рисунок имеет отступ слева и сверху на 100 пикселов от левого верхнего угла веб-страницы. Хотя листинги 3.1 и 3.2 практически совпадают, изображения имеют разные размеры в пикселах и поэтому занимают разную площадь.

 

Рис. 3.2. Изображение винограда на веб-странице

Листинг 3.2. Пример создания веб-страницы с изображением винограда

<html>

<head>

<title>Рисунок на странице с полями</title>

</head>

<body topmargin="100" leftmargin="100">

<img alt="Виноград" src="Виноград.jpg" />

</body>

</html>

На рис. 3.3 показан пример размещения четырех изображений шириной 92 и высотой 114 пикселов каждое в табличном виде (листинг 3.4). Подробно принципы работы с таблицами будут рассмотрены далее.

 

Рис. 3.3. Четыре рисунка в таблице

Листинг 3.3. Пример создания четырех рисунков в таблице

<html><head><title>ЧЕТЫРЕ РИСУНКА В ТАБЛИЦЕ</title></head>

<body bgcolor="#a1633d">

<table border="0" cellpadding="1" cellspacing="0">

<tr><td><img alt="Портрет" src="Портрет.jpg"

 width="92" heigth="114" /> </td>

<td><img alt="Подснежник" src="Подснежник.jpg"

 width="92" heigth="114" /> </td></tr>

<tr>    <td><img alt="Цветы" src="Цветы.jpg"

 width="92" heigth="114" /> </td>

<td>  <img alt="Портрет" src="Портрет.jpg"

 width="92" heigth="114" /></td></tr>

</body></html>

Выравнивание изображений

С помощью атрибута align можно задать способ выравнивания изображения на веб-странице. На рис. 3.4 первый рисунок выровнен вправо, второй — влево (листинг 3.4).

 

Рис. 3.4. Пример выравнивания изображений на веб-странице

Листинг 3.4. Пример выравнивания изображений на веб-странице

<html>

<head>

<title>Обтекание графики текстом</title>

</head>

<body>

<h1>Обтекание текстом объектов</h1>

<img src="Одуванчик.jpg" align="right" /> 

ActiveMovie stream - это дополнительный пакет для работы с internet explorer.<br />C помощью этой программы можно проигрывать файлы в формате asf в таких не слишком быстрых сетях, как интернет.<br />

за счет инкапсуляции в active movie stream можно эффективно синхронизировать <br />

и хранить на различных серверах файлы в популярных форматах мультимедиа,<br />

таких как mpeg, avi, wav и apple Quick Time<br />

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

<img alt="Печеночник" src="Печеночник.jpg" align="left"><br />

<table border="2" align="right">

<tr> <td>Возможно </td></tr>

<tr><td>обтекание текста </td></tr>

<tr><td>вокруг таблицы </td></tr>

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

 </body></html>

Карты изображений

Карты изображений (image maps) позволяют пользователю связывать ссылки на другие документы с отдельными частями изображений. Щелкая мышью на частях изображения, так называемых активных областях (hot spots), пользователь может выполнять те или иные действия, переходить к другим документам и т. п.

Если пользователь позиционирует указатель мыши на изображении, которое с помощью атрибута ismap в элементе img определено как карта изображения, и щелкает левой кнопкой мыши, то координаты точки щелчка передаются на веб-сервер. При получении координат сервер ищет на карте активную область, содержащую эти координаты. Если такая область существует, то заданный URL-адрес активируется, и браузер пользователя переходит на новую страницу.

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

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

Элемент <map>

Элемент <map> применяется для представления графического изображения в виде карты с активными областями. Активные области можно идентифицировать по всплывающей подсказке, которая появляется при наведении на такую область указателя мыши. Данный элемент появился в версии HTML 3.2.

Контейнер, состоящий из тегов <map> и </map>, является блоком описателей активных областей.

Элемент <map> может быть связан с элементом <img> или элементом <input> с помощью атрибута usemap.

Чтобы включить поддержку карты изображения, необходимо ввести атрибут usemap в элемент img:

<img src="url" usemap="url#map_name" />

Атрибут usemap указывает, в каком месте находится карта изображения. Карта изображения определяет, какому участку изображения какой URL-адрес соответствует. Карта изображения может находиться в том же документе, что и изображение, или в другом документе. Размещение карты в другом документе позволяет объединить вместе изображения из разных документов, но добавляет еще одну итерацию в механизм функционирования карты, поскольку за первую итерацию выясняется местонахождение карты, а за вторую выполнение действия, предписанного URL-адресом данного участка изображения. Параметр map_name указывает имя карты для изображения, а предшествующий ему URL-адрес — местонахождение карты. Если параметр URL отсутствует, карта с указанным именем ищется в текущем документе.

Пример синтаксиса определения карты изображения:

<map name="map_name"> <area [shape=" shape "] coords="x,y,..." [href=" reference "] [nohref]></map>.

Атрибут name задает имя карты, например: name=«КАРТА» — имя карты.

Элемент <area>

Элемент <area> определяет активную область в составе карты изображений на стороне клиента (это описатель активной области). Элемент <area> не имеет закрывающего тега. Синтаксис:

<map name="имя"><area атрибуты></map>

Для каждой активной области карты имеется свой элемент <area>.

• Атрибут shape. Задает форму активной области на карте и ее координаты, он может принимать значения:

• rect — прямоугольная область;

• circle — область в форме круга;

• poly — область в форме многоугольника;

• default — вся область.

Атрибуты, определяющие форму области на карте, являются обязатель­ными.

• Атрибут coords. Определяет позицию области на экране. Синтаксис:

    coords="координаты"

Набор координат соответствует форме области. Координаты задаются в единицах длины и разделяются запятыми:

• для круга необходимо задать координаты центра и радиус в пикселах (координаты центра отсчитываются от левого края и верхнего края рисунка);

• для прямоугольной области задаются координаты всех четырех углов;

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

• Атрибут href. Задает URL-адрес для ссылки. Синтаксис:

    <area href="url">

• Атрибут alt. Задает альтернативный текст для браузеров, которые не поддерживают тег <area>. Синтаксис:

    <area alt = "альтернативный текст">

• Атрибут title. Задает текст подсказки, всплывающей при наведении указателя мыши на активную область. Синтаксис:

    <area title = "текст подсказки">

• Атрибут target. Идентифицирует фрейм, в котором должен быть открыт целевой ресурс. Синтаксис:

    target="имя|_blank|_self|_parent|_top"

Параметры:

• имя — документ открывается во фрейме с именем, задаваемым с помощью атрибута name дескриптора <frame> (имя фрейма должно начинаться с буквы);

• _blank — документ открывается в новом неименованном окне;

• _self — документ открывается в том же окне, в котором содержится текущий документ;

• _parent — документ открывается во фрейме, родительском по отношению к фрейму, содержащему текущий документ (если родительского фрейма не существует, документ открывается в текущем фрейме);

• _top — документ открывается в текущем окне и занимает все окно.

• Атрибут nohref. Указывает на то, что с областью не связана ссылка.

• Атрибут tabindex. Определяет порядок, в котором активные области получают фокус после нажатия клавиши Tab. Синтаксис:

    tabindex="число"

• Атрибут accesskey. Определяет комбинацию клавиш, используемую для доступа к активной области (перехода по URL). Синтаксис:

    accesskey="символ"

• Атрибут onfocus. Определяет обработчик события, возникающего при получении активной областью фокуса ввода (фокус ввода может быть получен как с помощью мыши, так и в результате перебора после нажатия клавиши Tab). Синтаксис:

    onfocus="сценарий"

• Атрибут onblur. Определяет обработчик события, возникающего при потере активной областью фокуса ввода (фокус ввода может быть потерян как в результате выбора другого элемента с помощью мыши, так и в результате перебора после нажатия клавиши Tab). Синтаксис:

    onblur="сценарий"

• Атрибут usemap. Необязательный атрибут usemap связывает с данным элементом карту изображения. Синтаксис:

    usemap="URL"

Этот атрибут разрешает использовать изображения, отдельные части которого связаны с картами и объединяются тегом <map>. В этом случае щелчок на карте обрабатывает браузер:

    <img src = "URL изображения" usemap = "URL" карты (# имя карты) />

• Атрибут ismap. Необязательный атрибут ismap используется для определения карты изображения на стороне сервера. Синтаксис:

    ismap="длина"

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

    <a href = "URL карты"> <img src = "URL изображения" ismap />

Примеры карт изображений

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

Код карты представлен в листинге 3.5, а на рис. 3.5 показаны варианты карты изображения с активными областями в виде круга, прямоугольника и много­угольника. Под изображением находится поле, в котором появляется название области при наведении на нее указателя мыши. Изображение, которое выбрано для примера, имеет размер 400 × 300 пикселов.

 

Рис. 3.5. Пример карты изображения

Листинг 3.5. Пример создания карты изображения с активными областями в виде круга,  прямоугольника, многоугольника

<html><head><title>ФОТОГРАФИЯ-КАРТА</title></head>

<body bgcolor= "#ffffff">

<img height="300" src="Листинг 3.6.files/Семья.gif" width="400" usemap="#map" border="0">

<map name="map"> 

<area onmouseover="document.where.who.value='Папа'"

 shape="circle" coords="70","70","70" href="father.htm">

<area onmouseover="document.where.who.value='Сынок'"

shape="poly" coords="130,50,250,50,270,156,260,196,220,290,140,141" href="son.htm">

<area onmouseover="document.where.who.value='Дочка'"

shape="rect" coords="59,125,170,220" href="daughter.htm">

<area onmouseover="document.where.who.value='Мама'"

 shape="circle" coords="310,80,70" href="mather.htm"></map>

<form name="where"><input size="30" name="who"></form>

</map></body></html>

В данном примере изображение, размещенное на странице с помощью элемента <img>, становится картой с помощью атрибута usemap.

В листинге 3.6 представлен код еще одного примера карты изображения, позволяющей просмотреть более подробно пригороды Санкт-Петербург, выбирая часть большой фотографии. Фотография разделена на четыре прямоугольника (рис. 3.6).

Листинг 3.6. Пример создания карты изображения с активными областями в виде прямоугольников

<html><head><title>МЕНЮ-КАРТА</title></head>

<body bgcolor="#ffbcbc">

<center>

<h1>Пригороды Санкт-Петербурга</h1>

<table border="2">

<tr><td><a href="graph1.htm"> Петродворец</a>

<td><a href = "#img">Ломоносов</a>

<td><a href = "move.htm"> Пушкин</a>

<td><a href = "#map">Павловск</a>

</table></center>

<a name ="map">

<h2>Графические ссылки</h2>

<map name = "mymap">

<area shape = "rect" coords = "0,0,270,190" href="Петродворец.htm">

<area shape = "rect" coords = "270,0,540,190" href="Ломоносов.htm">

<area shape = "rect" coords = "0,190,270,380" href = "Павловск.htm">

<area shape = "rect" coords = "270,190,540,380" href = "Пушкин.htm">

</map>

<img src = alt="Пригороды" "Пригороды.jpg" usemap = "#mymap" />

<a name = "img"></body></html>

 

Рис. 3.6. Еще один пример карты изображения

Лучше понять, как задаются координаты областей, поможет рис. 3.7, на котором даны координаты каждой прямоугольной области (в пикселах).

Изображение, состоящее из четырех видов пригородов Санкт-Петербурга, имеет размеры 380 × 540 пикселов.

 

Рис. 3.7. Разметка прямоугольных областей карты

Масштабирование изображений

На рис. 3.8 показана веб-страница (листинг 3.7), содержащая три изображения разного размера, источником которых является один и тот же файл. Файл имеет размеры 154 пиксела в ширину и 248 пикселов в высоту. Первое изображение увеличено в два раза, второе имеет реальный размер, размеры третьего изображения уменьшены в два раза.

 

Рис. 3.8. Три изображения разного размера из одного файла

Листинг 3.7. Пример создания трех изображений разного размера из одного файла

<html><head><title>РАЗМЕРЫ РИСУНКА</title></head>

<body>

<img width="308" height="496" src="girl.gif"> &nbsp; &nbsp; &nbsp;

<img width="154" height="248" src="girl.gif"> &nbsp; &nbsp; &nbsp;

<img width="77" height="124" src="girl.gif">

</body></html>

Расстояние между изображениями соответствует ширине трех неразрывных пробелов (которые задаются символами &nbsp).

Если непродуманно задать ширину и высоту изображения, оно исказится. Такой пример показан на рис. 3.9 (листинг 3.8).

Листинг 3.8. Пример неудачного получения трех изображений разного размера из одного файла

<html><head><title>ИСКАЖЕННЫЕ РИСУНКИ</title></head>

<body><img height="424" width="376" src="girlie.gif" /> &nbsp; &nbsp; &nbsp;

<img height="400" width="154" src="girlie.gif" /> &nbsp; &nbsp; &nbsp;

<img height="124" width="376" src="girlie.gif" /> </body></html>

 

Рис. 3.9. Три изображения разного размера, полученные из одного файла

Стандартные современные мониторы могут иметь разрешение 1024 пикселов в ширину и 768 пикселов в высоту. При разработке изображений следует учитывать, что окно просмотра будет занимать лишь часть этой области. На рис. 3.10 показаны изображения в виде полос с указанием их ширины и высоты в пикселах (листинг 3.9). Первая полоса имеет размеры 90 пикселов в высоту и 980 в ширину, вторая — 80 пикселов в высоту и 780 в ширину, третья — 75 пикселов в высоту и 600 в ширину, четвертая — 70 пикселов в высоту и 500 в ширину, пятая — 65 пикселов в высоту и 400 в ширину, шестая — 60 пикселов в высоту и 200 в ширину, седьмая — 50 пикселов в высоту и 100 в ширину.

 

Рис. 3.10. Примеры изображений с указанием их размеров в пикселах

Листинг 3.9. Примеры создания изображений с указанием их размеров в пикселах

<html><head><title>РАЗМЕРЫ РИСУНКОВ В ПИКСЕЛАХ</title>

</head>

<body>

<img height="90" width="980" src="poly1.gif" /> <br />

<img height="80" width="780" src="poly2.gif" /> <br />

<img height="75" width="600" src="poly3.gif" /> <br />

<img height="70" width="500" src="poly4.gif" /> <br />

<img height="65" width="400" src="poly5.gif" /> <br />

<img height="60" width="200" src="poly6.gif" /> <br />

<img height="50" width="100" src="poly7.gif" /> </body></html>

Если размер изображения по ширине превышает 980 пикселов, оно не может полностью поместиться на экране, и появляется горизонтальная полоса прокрутки. Если размер изображения по высоте превышает 570 пикселов, оно не может полностью поместиться на экране, и появляется вертикальная полоса прокрутки. Для мониторов, размеры которых в пикселах отличаются от величины 1024 × 768, размеры полностью размещаемого на экране изображения будут другие, но суть останется та же.

Подведем итоги

В этом уроке были рассмотрены элементы, позволяющие размещать графику на веб-страницах. Главным из них является элемент <img> с атрибутами src, alt, longdesc, heigth, width, align, border, vspace, hspace. Местоположением изображения на странице управляет атрибут выравнивания align, который может принимать значения top, middle, bottom, left и right (сверху, посередине, снизу, слева, справа). Рассказано также об элементе <map>, который применяется для представления графического изображения в виде карты с активными областями. Представлены примеры карт.

Рассмотрены популярные в Интернете форматы графических файлов jpeg и gif. Рассказано также о форматах bmp, pcx и png.

Для лучшего понимания природы изображений раскрыты такие понятия, как пикселы и разрешение.

Урок 4. Фон и цвет

Каждая веб-страница имеет фон, на котором можно размещать текст и рисунки. В этом уроке рассмотрены особенности создания фона веб-страниц. Приведена таблица цветов, наиболее часто использующихся в Интернете.

Цвет на веб-странице может задаваться как:

• имя цвета, например white;

• RGB-значение, например rgb(255, 255, 255);

• шестнадцатеричное значение, например #ffffff. Если цифры одинаковые, то запись можно сократить до трех символов, например #fff.

Цвет на веб-странице

Многие создатели веб-страниц используют для фона документа, обычного текста и ссылок предопределенные цвета. Чтобы задать эти цвета, необходимо включить в элемент <body> дополнительные параметры:

<body bgcolor="#XXXXXX" text="#XXXXXX" link="#XXXXXX">

Здесь каждый из параметров определяет цвет того или иного элемента страницы:

• bgcolor — цвет фона документа;

• text — цвет простого текста документа;

• link — цвет ссылки.

Цвет задается шестизначным числом в шестнадцатеричном формате и цветовой модели RGB. Значение #000000 соответствует черному цвету, значение #ffffff — белому. Например:

<body bgcolor="#ffffff" text="#000000" link="#9690cc">

Данная строка определяет белый цвет фона документа, черный текст и серебристые ссылки.

На рис. 4.1 показана веб-страница, содержащая текст белого цвета на синем фоне (листинг 4.1). Видно, что текст смещен относительно границ страницы, так как атрибуты элемента <body>, кроме цвета, задают верхнюю, нижнюю, левую, правую границы страницы в пикселах.

 

Рис. 4.1. Веб-страница, содержащая текст белого цвета с дополнительными отступами

Листинг 4.1. Веб-страница,  на которой текст белого цвета имеет отступы

<html><head><title>Текст белого цвета</title></head>

<body bgcolor="123456" text= "ffffff" topmargin="100" bottommargin="100" leftmargin="100" rightmargin="100"> <h2>Текст белого цвета</h2></body></html>

Фоновые рисунки

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

Описание фонового рисунка включается в элемент <body> и выглядит следующим образом:

<body background = "picture.gif">

На рис. 4.2 показана страница с фоном, код которой представлен в листинге 4.2.

В качестве фона выбран рисунок с размерами 4,97 × 4,52 см. Несмотря на небольшие размеры, рисунок покрывает всю площадь страницы, словно множество плиток кафеля. На рис. 4.3 слева показан исходный рисунок, а справа — диалоговое окно с размерами этого рисунка, открытое в программе Adobe Photoshop.

Листинг 4.2. Пример создания веб-страницы с фоновым рисунком

<html>

<head>

<title> Графический фон</title>

</head>

<body background = "Зима.jpg">

</body>

</html>

 

Рис. 4.2. Веб-страница с фоновым рисунком

 

Рис. 4.3. Рисунок, выбранный в качестве фона, и диалоговое окно с размерами этого рисунка

Фон и CSS

Для вставки фонового изображения можно использовать CSS-свойство background-image. Разместите в папке вашей веб-страницы, рисунок, например файл m.jpg. Этот рисунок будет использоваться в качестве фона.

Откройте программу Блокнот командой Пуск\Программы\Стандартные\Блок­нот. Напишите следующий код (листинг 4.3) и сохраните его как файл style_4.3.css:

Листинг 4.3. CSS-файл,  предназначенный для внедрения на веб-страницу

body {

    background-image: url("m.jpg");

    }

    h1 {

    color: #987000;

    background-color: #fc8654;

    }

Различные CSS-свойства позволяют повторять рисунок по горизонтали, по вертикали, фиксировать его в определенном месте и блокировать положение. В папке, где находятся файлы m.jpg и style_4.3.css, создайте веб-страницу (листинг 4.4).

Листинг 4.4. Фоновое изображение как CSS-свойство

<html>

  <head>

  <title>Рисунок и CSS</title>

    <link rel="stylesheet" type="text/css" href="style_4.3.css" media="all" />

  </head>

  <body>

    <h1>Рисунок и CSS</h1>

  </body>

</html>

На рис. 4.4 показана веб-страница с фоновым изображением, созданным с помощью CSS.

 

Рис. 4.4. Фоновое изображение, используемое как свойство CSS

Обычно в качестве фона выбирают прозрачные, легкие рисунки, но в этом случае, чтобы продемонстрировать возможности CSS, был выбран четкий, темный рисунок с размерами 4,3 × 3,8 см.

Таблица цветов

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

 

Рис. 4.5. Фрагмент веб-страницы, содержащей таблицу цветов

Листинг 4.5. Пример создания таблицы цветов

<html><head><title>Таблица цветов</title>

  <style>

   body {background: f2e0be;}

   table {width: 100%;height: 100%;}

   table td { text-align: center; }

   {font-size: 8pt;}

   sup {font-size: 24;}

  </style></head>

<body alink = "#000000" bgcolor=#ffffff bgproperties="fixed" link="#000000" topmargin="10" vlink="#808080">

<h1 align="center">Таблица цветов</h1> <p align="left">

<table bgcolor="gray" border="2" cellpadding="0" cellspacing="5"> <tbody><tr><td bgcolor="aliceblue">aliceblue-грязно голубой <br/>(#f0f8ff) </td>

<td bgcolor="antiquewhite">antiquewhite-античный белый <br/>(#faebd7) </td>

<td bgcolor="aqua">aqua-аква<br/>(#00ffff)</td>

<td bgcolor="aquamarine">aquamarine-аквамарин-зеленовато-голубой <br/>(#7fffd4) </td></tr>

<tr><td bgcolor="azure">azure-лазурный<br/>(#f0ffff) </td>

<td bgcolor="beige">beige-бежевый<br />(#f5f5dc) </td>

<td bgcolor="bisque">bisque-бисквит<br/>(#ffe4c4)</td>

<td bgcolor="black">black-черный<br/>(#000000)</td></tr>

<tr> <td bgcolor="blanchedalmond">blanchedalmond-бледный дальмонд <br />(#ffebcd) </td>

<td bgcolor="blue">blue-синий<br />(#0000ff) </td>

<td bgcolor="blueviolet">blueviolet-фиолетовый<br />(#8a2be2) </td>

<td bgcolor="brown">brown-коричневый<br />(#a52a2a) </td></tr>

<tr> <td bgcolor="burlywood">burlywood-древесный<br />(#deb887) </td>

<td bgcolor="cadetblue">cadetblue-морской<br />(#5f9ea0) </td>

<td bgcolor="chartreuse">chartreuse-ликер шартрез<br />(#7fff00) </td>

<td bgcolor="chocolate">chocolate-шоколадный<br />(#d2691e) </td></tr>

<tr> <td bgcolor="coral">coral-коралл<br />(#ff7f50)</td>

<td bgcolor="#c0f0e0">cornflower-кукурузный цветок<br /> (#6495ed) </td>

<td bgcolor="cornsilk">cornsilk-кукурузный шелк<br /> (#fff8dc) </td>

<td bgcolor="crimson">crimson-малиновый<br />(#dc143c) </td></tr>

<tr> <td bgcolor="cyan">cyan-голубой<br/>(#00ffff) </td>

<td bgcolor="darkblue">darkblue- темно-синий<br />(#00008b) </td>

<td bgcolor="darkcyan">darkcyan- темно-голубой<br />(#008b8b) </td>

<td bgcolor="darkgoldenrod">darkgoldenrod- темно-золотой<br /> (#b8860b) </td></tr>

<tr> <td bgcolor="darkgray">darkgray- темно-серый<br /> (#a9a9a9) </td>

<td bgcolor="darkgreen">darkgreen- темно-зеленый<br /> (#006400)</td>

<td bgcolor="darkkhaki">darkkhaki- темный хаки<br />(#bdb76b) </td>

<td bgcolor="darkmagenta">darkmagenta- темно-пурпурный<br /> (#8b008b) </td></tr>

<tr> <td bgcolor="darkolivegreen">darkolivegreen- темно-зелено-оливковый <br />(#556b2f) </td>

<td bgcolor="darkorange">darkorange- темно-оранжевый<br /> (#ff8c00) </td>

<td bgcolor="darkorchid">darkorchid- темной орхидеи<br /> (#9932cc) </td>

<td bgcolor="darkred">darkred- темно-красный<br />(#8b0000) </td></tr>

<tr> <td bgcolor="darksalmon">darksalmon- темно-оранжево розовый <br />(#e9967a)</font> </td>

<td bgcolor="darkseagreen">darkseagreen- темно-зеленый морской <br />(#8fbc8b) </td>

<td bgcolor="darkslateblue">darkslateblue- темно-серо-голубой <br />(#483d8b) </td>

<td bgcolor="darkslategray">darkslategray- темно-голубо-серый <br />(#2f4f4f)</td></tr>

<tr> <td bgcolor="darkturquoise">darkturquoise- темно-бирюзовый <br />(#00ced1) </td>

<td bgcolor="darkviolet">darkviolet- темно-фиолетовый<br /> (#9400d3) </td>

<td bgcolor="deeppink">deeppink- насыщенно розовый<br /> (#ff1493) </td>

<td bgcolor="deepskyblue">deepskyblue- насыщенно небесный   <br /> (#00bfff) </td></tr>

<tr> <td bgcolor="dimgray">dimgray-тускло-серый<br />(#696969) </td>

<td bgcolor="dodgerblue">dodgerblue- измененный синий<br /> (#1e90ff)</td>

<td bgcolor="firebrick">firebrick- огненно-кирпичный<br /> (#b22222) </td>

<td bgcolor="floralwhite">floralwhite- цветочно-белый<br /> (#fffaf0) </td></tr>

<tr> <td bgcolor="forestgreen">forestgreen- лесной зелени<br />(#228b22)</td>

<td bgcolor="#f0c00a">fuchia-фисташковый<br />(#ff00ff) </td>

<td bgcolor="gainsboro">gainsboro-гейнсборо<br />(#dcdcdc) </td>

<td bgcolor="ghostwhite">ghostwhite-еле заметный белый<br /> (#f8f8ff)</td></tr>

<tr> <td bgcolor="gold">gold-золотой<br />(#ffd700) </td>

<td bgcolor="goldenrod">goldenrod- темно-золотой<br /> (#daa520) </td>

<td bgcolor="gray">gray-серый<br />(#808080) </td>

<td bgcolor="green">green-зеленый<br />(#008000)</td></tr>

<tr> <td bgcolor="greenyellow">greenyellow- зелено-желтый<br /> (#adff2f)</td>

<td bgcolor="honeydew">honeydew- медвеной росы<br />(#f0fff0) </td>

<td bgcolor="hotpink">hotpink- жарко-розовый<br /> (#ff69b4)</td>

<td bgcolor="indianred">indianred- красный индиго<br /> (#cd5c5c) </td></tr>

<tr> <td bgcolor="indigo">indigo-индиго<br /> (#4b0082)</td>

<td bgcolor="ivory">ivory- слоновой кости<br /> (#fffff0)</td>

<td bgcolor="khaki">khaki-хаки<br />(#f0e68c) </td>

<td bgcolor="lavender">lavender- лавандовый<br /> (#e6e6fa) </td></tr>

<tr> <td bgcolor="lavenderblush">lavenderblush- покрасненной лаванды <br />(#fff0f5)</td>

<td bgcolor="lawngreen">lawngreen- травяной зелени <br /> (#7cfc00) </td>

<td bgcolor="lemonchiffon">lemonchiffon- лимонно-коричневый <br /> (#fffacd)</td>

<td bgcolor="lightblue">lightblue- светло-синий <br />(#add8e6) </td></tr>

<tr> <td bgcolor="lightcoral">lightcoral- светло-коралловый <br />(#f08080)</td>

<td bgcolor="lightcyan">lightcyan- светло-голубой <br /> (#e0ffff)</td>

<td bgcolor="lightgoldenrodyellow">lightgoldenrodyellow- светло-золотой<br />(#fafad2) </td>

<td bgcolor="lightgreen">lightgreen- светло-зеленый <br /> (#90ee90) </td></tr>

<tr> <td bgcolor="lightgrey">lightgrey- светло-серый <br /> (#d3d3d3) </td>

<td bgcolor="lightpink">lightpink- светло-розовый <br /> (#ffb6c1) </td>

<td bgcolor="lightsalmon">lightsalmon- светло-оранжево-розовый <br />(#ffa07a) </td>

<td bgcolor="lightseagreen">lightseagreen- светлой морской волны<br />(#20b2aa) </td></tr>

<tr> <td bgcolor="lightskyblue">lightskyblue- светло-небесно-синий<br />(#87cefa) </td>

<td bgcolor="lightslategray">lightslategray- светло-голубо-серый<br />(#778899)</td>

<td bgcolor="lightsteelblue">lightsteelblue- светлый серо-синий<br />(#b0c4de)</td>

<td bgcolor="lightyellow">lightyellow- светло-желтый <br /> (#ffffe0) </td></tr>

<tr> <td bgcolor="lime">lime-липовый цвет<br />(#00ff00) </td>

<td bgcolor="limegreen">limegreen- липово-зеленый <br /> (#32cd32) </td>

<td bgcolor=linen>"linen-льняной"<br />(#faf0e6)</td>

<td "bgcolor=magenta">magenta- пурпурный <br />(#ff00ff) </td></tr>

<tr> <td bgcolor="maroon">maroon- каштановый<br /> (#800000)</td>

<td bgcolor="mediumaquamarine">mediumaquamarine- умеренный аквамарин<br />(#66cdaa) </td>

<td bgcolor="mediumblue">mediumblue- умеренный синий<br /> (#0000cd) </td>

<td bgcolor="mediumorchid">mediumorchid- умеренной архидеи<br /> (#ba55d3) </td></tr>

<tr> <td bgcolor="mediumpurple">mediumpurple- умеренно пурпурный<br />(#9370db) </td>

<td bgcolor="mediumseagreen">mediumseagreen- умеренно морской <br />(#3cb371)</td>

<td bgcolor="mediumslateblue">mediumslateblue <br />(#7b68ee) </td>

<td bgcolor="mediumspringgreen"> mediumspringgreen- умеренно серо-синий <br />(#00fa9a) </td></tr>

<tr> <td bgcolor="mediumturquoise">mediumturquoise- умеренно бирюзовый <br />(#48d1cc) </td>

<td bgcolor="mediumvioletred">mediumvioletred- умеренно фиолетово-красный<br />(#c71585) </td>

<td bgcolor="midnightblue">midnightblue- средний темно-синий<br />(#191970) </td>

<td bgcolor="mintcream">mintcream- кремовый <br />(#f5fffa) </td></tr>

<tr> <td bgcolor="mistyrose">mistyrose- красный туман <br /> (#ffe4e1) </td>

<td bgcolor="moccasin">moccasin- цвет обуви индейцев <br /> (#ffe4b5) </td>

<td bgcolor="navajowhite">navajowhite- светло-коричневый<br /> (#ffdead) </td>

<td bgcolor="navy">navy-морской<br />(#000080)</td></tr>

<tr> <td bgcolor="oldlace">oldlace- старые кружева<br /> (#fdf5e6) </td>

<td bgcolor="olive">olive- оливковый<br />(#808000) </td>

<td bgcolor="olivedrab">olivedrab- серые оливки <br /> (#6b8e23) </td>

<td bgcolor="orange">orange- оранжевый<br />(#ffa500) </td></tr>

<tr> <td bgcolor="orangered">orangered- оранжево-красный    <br />(#ff4500) </td>

<td bgcolor="orchid">orchid- орхидеи<br />(#da70d6) </td>

<td bgcolor="palegoldenrod">palegoldenrod- бледно-золотой   <br /> (#eee8aa) </td>

<td bgcolor="palegreen">palegreen- бледно-зеленый <br /> (#98fb98) </td></tr>

<tr> <td bgcolor="paleturquoise">paleturquoise- бледно-бирюзовый <br />(#afeeee) </td>

<td bgcolor="palevioletred">palevioletred- бледно-фиолетово-красный<br />(#db7093) </td>

<td bgcolor="papayawhip">papayawhip- дынная плеть <br /> (#ffefd5) </td>

<td bgcolor="peachpuff">peachpuff- персиковый дым <br /> (#ffdab9) </td></tr>

<tr> <td bgcolor="peru">peru- цвет пустыни<br />(#cd853f) </td>

<td bgcolor="pink">pink- розовый<br />(#ffc0cb) </td>

<td bgcolor="plum">plum- сливовый<br />(#dda0dd) </td>

<td bgcolor="powderblue">powderblue- порошково-синий <br /> (#b0e0e6) </td></tr>

<tr> <td bgcolor="purple">purple- пурпурный <br />(#800080) </td>

<td bgcolor="red">red- красный<br />(#ff0000) </td>

<td bgcolor="rosybrown">rosybrown- розово-коричневый <br /> (#bc8f8f) </td>

<td bgcolor="royalblue">royalblue- королевско-синий <br /> (#4169e1) </td></tr>

<tr> <td bgcolor="saddlebrown">saddlebrown- коричневое седл <br />(#8b4513)</td>

<td bgcolor="salmon">salmon- цвет лосося<br />(#fa8072)</td>

<td bgcolor="sandybrown">sandybrown- рыжевато-коричневый <br /> (#f4a460) </td>

<td bgcolor="seagreen"> seagreen- морской зелени <br /> (#2e8b57) </td></tr>

<tr> <td bgcolor="seashell"> seashell- морских раковин <br /> (#fff5ee) </td>

<td bgcolor="sienna"> sienna- охра<br />(#a0522d)</td>

<td bgcolor="silver"> silver- серебряный<br />(#c0c0c0) </td>

<td bgcolor="skyblue"> skyblue- синего неба<br />(#87ceeb) </td></tr>

<tr> <td bgcolor="slateblue"> slateblue- сланцево-синий <br /> (#6a5acd) </td>

<td bgcolor="slategray"> slategray- сланцево-серый<br /> (#708090</td>

<td bgcolor="snow"> snow- снег<br />(#fffafa)</td>

<td bgcolor="springgreen"> springgreen- весенняя зелень<br /> (#00ff7f) </td></tr>

<tr> <td bgcolor="steelblue"> steelblue-синевато-стальной<br />(#4682b4) </td>

<td bgcolor="tan"> tan-кора дуба<br />(#d2b48c) </td>

<td bgcolor="teal"> teal-чирок<br />(#008080) </td>

<td bgcolor="thistle"> thistle-чертополох <br />(#d8bfd8) </td></tr>

<tr> <td bgcolor="tomato"> tomato-томатный <br />(#ff6347) </td>

<td bgcolor="turquoise"> turquoise-бирюза <br />(#40e0d0) </td>

<td bgcolor="violet"> violet-фиолетовый <br />(#ee82ee)</td>

<td bgcolor="wheat"> wheat-пшеница <br />(#f5deb3) </td></tr>

<tr> <td bgcolor="white"> white-белый <br />(#ffffff)</td>

<td bgcolor="whitesmoke"> whitesmoke-дым <br />(#f5f5f5)</td>

<td bgcolor="yellow"> yellow-желтый <br />(#ffff00) </td>

<td bgcolor="yellowgreen"> yellowgreen- желто-зеленый <br /> (#9acd32)</td></tr></tbody></table></p><p>&nbsp;</p></body></html>

В этом примере для центрирования надписей в ячейках в заголовке листинга был использован элемент <style>, о котором будет рассказано в уроке 5.

Подведем итоги

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

Урок 5. CSS — правила форматирования

Этот урок представляет собой введение в большую и сложную тему — CSS (Cascading Style Sheets) — каскадные листы стилей.

Более подробно о CSS можно узнать на сайте http://www.w3/org/Style/CSS.

Поддержка стилей

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

Стили HTML-, XHTML- и XML-документов задаются с помощью каскадных листов. Свойства CSS имеют фон (color, background-color, background-image, background-repeat, background-position, background-attachment, background), шрифт (font-size, font-family, font-weight, font-style, font-variant, font, font-size-adjust, font-stretch), текст (text-decoration, text-transform, word-spacing, letter-spacing, text-shadow, cursor), бокс (width, max-width, min-width, margin, padding, border-width, border-style, border-color, border, text-align, white-space, text-indent, line-height, vertical-align), изображения (display, float clear, position, top, right, bottom, left, overflow, clip, visibility), списки (list-style-type, list-style-image, list-style-position, list-style, marker-offset), таблицы (caption-side, table-layout, border-collapse, border-spacing, empty-cells), язык (direction, unicode-bidi), содержание (content, quotes, counter-reset, counter-increment и псевдо-элементы :before и :after), верстку и строение веб-страниц (@page, size, marks, page-break-after, page-break-before, page-break-inside, orphans, widows), отрезки (outline-width, outline-style, outline-color, outline), аудио (azimuth, cue-before, cue-after, cue, elevation, pause-before, pause-after, pause, pitch, pitch-range, play-during, richness, speak, speak-header, speak-punctuation, speek-numeral, speech-rate, stress, voice-family, volume).

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

a.menu:link

{

color: #c2a1a0;

font-family: arial;

font-size: 14px;

font-weight: bold;

text-decoration: none

}

Заметим, что в этом примере размер шрифта задан в пикселах. Задание значений размеров для метрических свойств возможно в пикселах, em и процентах.

В соответствие с правилами HTML при использовании стилей в коде необходимо включать в заголовок документа (в элементе <head>) соответствующее META-определение:

<meta http-equiv=content- style-type content="text/css;>

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

Уровни CSS

О технологии CSS стало известно в мае 1995 года, когда недавно образованный (и в декабре 1994 года проведший свое первое совещание) консорциум W3C объявил о выборе технологии CSS для форматирования HTML-документов.

Впервые поддержка CSS была реализована в браузере Internet Explorer 3.0. Все только начиналось, поэтому правила составления стилевых шаблонов были весьма разрозненными.

Первый уровень стилевых шаблонов (CSS1) был утвержден 11 января 1999 го­да, второй уровень (CSS2) был принят к обсуждению в мае 1998 года, а третий уровень (CSS3) начали обсуждать в мае 2001 года.

Переход от одного уровня к другому говорит о попытках систематизации CSS.

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

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

Синтаксис листа стиля

Синтаксис листа стиля имеет четкую структуру.

• Элемент. Все начинается с элемента, или селектора. Существуют не только простые элементы, например заголовок <h1> или абзац <p>, но и более сложные элементы, например ссылка <a> или таблица <td>.

• Свойство. Именно для элемента назначаются атрибуты форматирования или набор свойств. Каждый элемент характеризуется своими свойствами, например начертанием шрифта (font-family: arial), значением поля (margin: 15px), обрамлением (border-right: white 1px solid), высотой (height: 1px) и др.

• Значение. Каждое свойство принимает определенное значение. В примерах свойства приведены уже со значениями (arial; white 1px solid, 1px).

• Объявление. Свойство и значение, которое оно должно принять, образуют объявление.

• Правило. Элемент и его объявление образуют правило.

Правило определения синтаксиса листа стиля проиллюстрировано на рис. 5.1.

 

Рис. 5.1. Правило определения синтаксиса листа стиля

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

<p color="red"><strong><u> Поклонитесь солнцу! </u></strong></p>

А если подобный стиль требуется применить несколько раз? Хорошо, если 5 раз, а если 10–20? Вот тут и помогает СSS.

Благодаря следующей записи все элементы <h1> в документе будут красного цвета, размером в 20 пунктов:

h1 {color:red; size:20pt;}

Четыре варианта использования CSS

Существует четыре варианта использования листов стилей в HTML-доку­менте:

• встраивание;

• подключение;

• связывание;

• импорт.

В составе документа можно одновременно использовать различные типы листов стилей. При этом действуют правила каскадирования — встраиваемые стили имеют приоритет перед подключаемыми, подключаемые стили имеют приоритет перед связываемыми, связываемые стили имеют приоритет перед импортируемыми.

Встраиваемые стили

Встраиваемые стили определяются в HTML-элементе и оказывают влияние только на этот элемент.

Атрибут style

Встраиваемый стиль реализуется атрибутом style. Соответствующий код показан в листинге 5.1 (рис. 5.2).

Листинг 5.1. Пример применения стиля к абзацу

<html><head><title>Атрибут style </title></head>

<body> <p style="font: 1em comic sans ms" title = "Размер шрифта в em. "> Размер шрифта в em. По умолчанию размер текста параграфа составляет 16px (16px=1em). </p>

</body></html>

В данном примере используется атрибут style.

 

Рис. 5.2. Применение стиля к абзацу

Подключаемые стили

Подключаемые стили, которые также называют внутренними стилями, применяются ко всей веб-странице. Для этого служит элемент <style>, помещаемый в заголовок HTML-документа.

Элемент style

Стили определяются для различных типов HTML-документов. Так, можно задать отображение всех элементов <h1> серым цветом шрифтом Verdana размером 14 пунктов, а форматирование абзацев производить по-другому. Соответствующий код представлен в листинге 5.2 (рис. 5.3).

 

Рис. 5.3. Использование подключаемых стилей

Листинг 5.2. Пример использования подключаемых стилей

<html><head><title>Элемент style</title>

<style>

<!--

body {

background: #ffffff;

color: #000000;

}

h1 {

font: 14pt Book Antiqua;

color: #cc0000;

}

p{

font: 12pt times;

}

a {

color: #ff0000; text-decoration: none;

}

-->

</style></head>

<body>

<h1>Иван Комолов НЕЗАБУДКА </h1>

<p >Незабудка, с ветром споря <br />Говорит: "Разумным будь". <br />

Все хорошее запомни, <br>Все плохое позабудь.<br></p><p ></p>

<P >Вспомни май и берег речки,<br /> Луг зеленый был в цвету<br />

Как хорошие словечки<br /> Ты шептал мне на лету.<br /></p><p ></p>

<p >И ушел в широко поле<br />Глубоко волнуя грудь. <br />

Все хорошее запомни, <br />Все плохое позабудь.<br /></p><p></p>

<p >Прилетай в зеленом звоне,<br />Соловьи здесь росы пьют, <br />

Все хорошее запомни, <br />Все плохое позабудь.<br /></p>

</body></html>

В данном примере использован элемент <style>, расположенный внутри элемента <head>.

Внешние стили

Связываемые, или внешние, стили применяются к документам всего веб-сайта, они реализуются с помощью обращения к внешнему файлу, с расширением .css. Создайте с помощью любого текстового редактора документ, содержащий только определения стилей, и сохраните его в файле style_1.css, например листинг 5.3 (рис. 5.4).

Листинг 5.3. Пример файла style_1.css

body {

background: #fedcba; color: #000000; margin-left:100px;

}

h1 {

color: # ff0000; font-size: 24 pt;

 

}

p {font-family: garamond, times;

font-size: 14 pt;

}

 

Рис. 5.4. Внешние стили, созданные в блокноте

Внешний файл style.css размещается внутри элемента <head> с помощью элемента <link>.

Элемент link

Ссылка из HTML-документа на таблицу стилей style.css реализуется элементом <link> с соответствующими атрибутами:

<link rel="stylesheet" type="text/css" href="style.css" />

Эта строчка вставляется в заголовок документа, между тегами <head> и </head> (листинг 5.4).

Ссылка работает, если добавить ссылку на созданный файл стилей в раздел заголовка HTML-документа. Если в файл стилей были внесены изменения, то эти изменения отразятся в каждом документе, который содержит ссылку на файл стилей. На рис. 5.5 показан пример применения CSS (см. листинг 5.3) к тексту (листинг 5.4).

 

Рис. 5.5. Применение стилей, находящихся во внешнем файле

Листинг 5.4. Пример применения стилей,  находящихся во внешнем файле

<html><head><title>Внешний CSS-файл</title>

<link href="style_1.css" type=text/css rel=stylesheet></head>

<body> <h4>Иван Комолов</h4>

<h1>У каждого свое</h1>

  <p>У гор - отроги,<br />

  У рек - ручьи,<br />

  У ног - дороги.  <br />

  Иди ищи<br />

  Ключи от счастья<br />

  Среди тревог.<br />

  Они во власти<br />

  Твоих дорог <br /></p>

 <h1>Подснежники</h1>

<p>Пробудились первыми, <br /> 

  Позабыли сны.<br />

  Ощутили нервами<br />

  Биоток весны. <br /></p>

</body></html>

Внешний css-файл style_1.css, определяющий параметры форматирования показанной на рис. 5.5 веб-страницы, представлен в листинге 5.3. Все файлы должны быть сохранены в одной папке.

Импортируемые стили

Импорт внешних стилей напоминает их связывание. Единственное различие состоит в том, что импорт можно сочетать с другими методами определения стилей.

На рис. 5.6 показан результат импорта внешних стилей (листинг 5.5).

 

Рис. 5.6. Импорт внешних стилей

Листинг 5.5. Пример импорта внешних стилей

<html><head><title>ПРИМЕР ИМПОРТА ВНЕШНИХ СТИЛЕЙ </title>

<style type="text/css">

<!--

@import c:\nina\piter\кн html\cd\глава 5\листинг5.6.css;

-->

</style>

</head>

<body><h3>Современные технологии форматирования</h3>

<p>Импорт внешних стилей<br />

позволяет сократить<br />

размеры HTML-файлов<br /></p>

</body></html>

Внешний css-файл для веб-страницы, показанной на рис. 5.6, представлен в листинге 5.6 (файл листинг5.6.css).

Листинг 5.6. Внешний файл (листинг5.6.css) для веб-страницы, показанной на рис. 5.6

<style type="text/css">

h3 {color:crimson font-family:arial black}

p {background:turquoise; font-family: times}

</style>

В этом примере браузер сначала импортирует правила, содержащиеся в файле листинг5.6.css (выражение @import должно быть расположено первым), а затем формирует набор правил для данной веб-страницы.

Типы рамок

Существуют различные типы рамок. В главе 2 уже был приведен пример заголовка в рамке. Теперь управление форматированием рамки реализуем во внешнем файле CSS. Сохраним форматирование как файл style_2.css, задав его следующим образом:

body {

     background-color: #ffedcb;

   }

h1 {

   color: #ff0000; font-size: 48; ptborder-width: thick;

   border-style: dotted;

   border-color: violet;

   }

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

Если рамку отображать не следует, то для свойства border-style должно быть выбрано значение none (нет) или hidden (скрытый). Тип рамки зависит от свойства border-style, которое может принимать значения: dotted (точечная), dashed (пунктир), solid (прямая), double (двойная), groove (выемка), ridge (по краю), inset (внутренняя), outset (внешняя).

На рис. 5.7 показана веб-страница, выполненная с помощью CSS (листинг 5.7).

 

Рис. 5.7. Пример использования рамки

Листинг 5.7. Заголовок в рамке, созданный с использованием внешнего css-файла

<html>

 <head>

   <title>Рамка из точек</title>

    <link rel="stylesheet" type="text/css" href="style_2.css" /></head>

<body><h1>Модулированная передача</h1></body></html>

Позиционирование

При помощи CSS-позиционирования любой элемент можно разместить в конкретном месте страницы. Для этого можно воспользоваться следующими свойствами атрибута style:

• position задает абсолютное или относительное положение элемента в документе. Свойство position может принимать значения:

• absolute — атрибуты left и top задают в пикселах абсолютное положение элемента в документе;

• relative — атрибуты left и top задают в пикселах относительное положение элемента в документе;

• static — элемент размещается без учета атрибута position;

• left, top, wigth, height — координаты верхнего левого угла элемента, его ширина и высота;

• z-index — размещает элемент на переднем (или заднем) плане всех пересекающихся с ним элементов. Допустимые значения: auto или целое число, где 0 соответствует размещению элемента на заднем плане.

Любые позиционированные элементы на веб-странице могут накладываться друг на друга в определенном порядке, имитируя тем самым третье измерение (перпендикулярное экрану). Расположением элементов по z-оси управляет z-index.

Нарисуйте в любом графическом редакторе 5 квадратов разных цветов, но одинаковой ширины и высоты (200 px) и сохраните их в файлах с именами 1.jpg–5.jpg, соответственно, в той же папке что и файл, созданный на основе листинга 5.8. Расположим квадраты в определенном месте с помощью свойства position и будем управлять наложением, используя свойство z-index (рис. 5.8).

 

Рис. 5.8. Пример наложения разноцветных квадратов

Листинг 5.8. Наложение разноцветных квадратов

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"

"http://www.w3.org/TR/html4/strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" lang="ru">

<head><title>Цветные квадраты</title>

<style>

<!--   #yellow {

   position: absolute;

   left: 100px;

   top: 100px;

   z-index: 1;

   }

   #black {

   position: absolute;

   left: 130px;

   top: 130px;

   z-index: 2;

   }

   #red {

   position: absolute;

   left: 160px;

   top: 160px;

   z-index: 3;

   }

   #blue {

   position: absolute;

   left: 190px;

   top: 190px;

   z-index: 4;

   }

   #green {

   position: absolute;

   left: 220px;

   top: 220px;

   z-index: 5;

   }   

--></style></head>

<body>

   <h2>Цветные квадраты</h2>

   <div id="yellow">

   <img src="1.jpg" alt="желтый" width="200" height="200" />

   </div>

   <div id="black">

   <img src="2.jpg" alt="черный" width="200" height="200" />

   </div>

   <div id="red">

   <img src="3.jpg" alt="красный" width="200" height="200" />

   </div>

   <div id="blue">

   <img src="4.jpg" alt="синий" width="200" height="200" />

   </div>

   <div id="green">

   <img src="5.jpg" alt="зеленый" width="200" height="200" />

   </div></body></html>

Попробуйте изменить в листинге номера z-index и посмотрите, как изменится внешний вид веб-страницы.

Элемент div

Элемент div используется для структурирования документа, часто совместно с атрибутами class и id. Откройте программу Блокнот, сохраните в файле style_4.css следующий код:

#cabel{

  background:turquoise;

   }

#seti {

  background:yellowgreen;

   }

На рис. 5.9 показан пример с элементом div и атрибутом id (листинг 5.11).

 

Рис. 5.9. Пример с элементом div и атрибутом id

Листинг 5.9. Пример с элементом div и атрибутом id

<html>

 <head>

   <title>Раздел/title>

     <link rel="stylesheet" type="text/css" href="style_4.css" />

 </head>

 <body>

   <div id="cabel">

     <ul><li>коаксиальный кабель </li>

   <li>витая пара </li>

   <li>неэкранированная витая пара</li>

   <li>экранированная витая пара</li>

   <li>оптоволоконный кабель </li></ul></div>

   <div id="seti">

     <ul><li> беспроводные сети</li>

   <li>лазер</li>

   <li>радиопередача</li></ul></div></body></html>

Элемент span

Элемент span используется для структурирования документа, часто совместно с атрибутами class и id. Элемент span можно назвать нейтральным элементом, который ничего не добавляет к содержимому документа. Но, в сочетании с CSS, span позволяет создавать визуальные эффекты для отдельных текстовых блоков. Откройте программу Блокнот, сохраните в файле style_5.css набранный код:

span.stich {

   color:sienna;

   }

На рис. 5.10 показан пример использования элемента span и атрибута id (листинг 5.10).

 

Рис. 5.10. Пример с элементом span и атрибутом class

Листинг 5.10. Пример с элементом span и атрибутом class

<html>

 <head>

   <title> Раздел</title>

     <link rel="stylesheet" type="text/css" href="style_5.css" /></head>

 <body><p>ГЕРАКЛИТ <span class="stich">Все есть борьба,

       справедливость - в расправе, <br />

   все рождается в борьбе и по необходимости. 

  </span></p></body></html>

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

Селекторы классов (class selectors) имеют следующий синтаксис:

селектор.класс {cвойства}

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

.класс {свойства}

Вид курсора

С помощью элемента span и его атрибута style можно составить программу, при выполнении которой курсор мыши будет менять вид. На рис. 5.11 показан пример изменения вида курсора (листинг 5.11).

 

Рис. 5.11. Пример изменения вида курсора

Листинг 5.11. Изменение вида курсора

<html> <head><title> Изменение вида курсора</title></head><body>

<p>Наведите курсор мыши на фразу с названием его вида.</p>

<span style="cursor:auto"> авто</span><br />

<span style="cursor:crosshair"> перекрестье</span><br />

<span style="cursor:default"> по умолчанию</span><br />

<span style="cursor:e-resize">e- размер</span><br />

<span style="cursor:help"> справка </span><br />

<span style="cursor:move">движение</span><br />

<span style="cursor:n-resize">n- размер </span><br />

<span style="cursor:ne-resize">ne- размер</span><br />

<span style="cursor:nw-resize">nw- размер</span><br />

<span style="cursor:pointer">указатель</span><br />

<span style="cursor:progress">процесс</span><br />

<span style="cursor:s-resize">s-размер</span><br />

<span style="cursor:se-resize">se- размер </span><br />

<span style="cursor:sw-resize">sw- размер </span><br />

<span style="cursor:text">текст</span><br />

<span style="cursor:w-resize">w- размер </span><br />

<span style="cursor:wait">ожидание</span><br />

</body></html>

Изображение и CSS

Коррекцию изображений следует производить в программах, созданных для работы с растровой графикой, например такими, как Adobe Photoshop или GIMP. Однако, если их нет под рукой, можно воспользоваться стилями CSS.

Изменение размеров рисунка

Изменение размеров рисунка реализуется с помощью свойств CSS height (высота) и weight (ширина). Рассмотрим это на примере, приведенном в листинге 5.12 (рис. 5.12).

Листинг 5.12. Изменение размеров рисунка

<html>

<head><title> Изменение размеров попиксельно </title>

<style type="text/css">

img.normal{height:auto;weight:auto;}

img.izm{height:200px;weight:200px;}

p.exy{height:100px; width:250px;}

</style></head>

 

<body><img class="izm" src="1.jpg "  />

<img class="normal" src="1.jpg"  /><br />

<p class="exy">Высота этого параграфа составляет 100px, а ширина 200px.</p>

<p> Технология — это набор правил, методик и инструментов, позволяющих наладить производственный процесс выпуска какого-либо продукта.</p>

</body></html>

 

Рис. 5.12. Пример изменения размеров рисунка

Элемент <style>, управляющий масштабированием рисунка, был размещен внутри элемента <head>. В этом примере менялись размеры не только рисунка, но и параграфа, причем ширина и высота задавались в пикселах.

Процентное изменение размеров

Свойства CSS height (высота) и weight (ширина) можно задавать и с помощью процентного содержания от первоначального размера. Рассмотрим изменение размеров рисунка на примере, приведенном в листинге 5.13 (рис. 5.13).

Листинг 5.13. Процентное изменение размеров

<html><head><title> Процентное изменение размеров</title>

<style type="text/css">

img.normal {height:auto;}

img.1 {height:50%;}

img.2 {height:10%;}

</style></head>

<body>

<img class="normal" src="2.jpg " /> Высота auto<br />

<img class="1" src="2.jpg " /> Высота 50%<br />

<img class="2" src="2.jpg" /> Высота 10%

</body></html>

 

Рис. 5.13. Процентное изменение размеров рисунка

В этом примере размер рисунка задавался в процентах.

Задание размеров числом

Проведем эксперимент с изображением, имеющим размер 850 × 425 пикселов. В примере, приведенном в листинге 5.14 (рис. 5.14), будем изменять размер рисунка, задавая его в виде конкретных значений и используя стиль.

 

Рис. 5.14. Вид изображения при изменении размеров

Листинг 5.14. Управление размерами изображения

<html><head><title> Задание размеров числом и стилем</title>

<style type="text/css">img {width:425 px;}</style></head>

<body><img src="3.jpg" width="85" height="212" />

</body></html>

Видно, что стилевое форматирование, примененное к рисунку, имеет приоритет над локальным форматированием.

Создание галереи

Создание галереи представляет собой задачу размещения изображений на веб-странице. Изображения имеют одинаковый размер, рамку и стандартную подрисуночную надпись. В примере, приведенном в листинге 5.15 (рис. 5.15), показана созданная галерея.

 

Рис. 5.15. Галерея изображений

Листинг 5.15. Создание галереи

<html><head><title> Галерея изображений </title>

<style type="text/css">

div.img { margin:2px; border:1px solid #0000ff; height:auto;

  width:auto; float:left; text-align:center; }

div.img img {display:inline; margin:3px; border:1px solid #ffffff; }

div.img a:hover img { border:1px solid #0000ff;}

div.desc { text-align:center; font-weight:normal; width:120px; margin:2px; }

</style></head>

<body><div class="img"><a target="_blank" href="1.htm">

<img src="1_small.jpg" alt="Двое_на_лодке" width="130" height="110" /></a>

<div class="desc">Двое_на_лодке</div></div>

<div class="img"><a target="_blank" href="2_big.htm">

<img src="2_small.jpg" alt="Ступка" width="130" height="110" /></a>

<div class="desc"> Ступка </div></div>

<div class="img"><a target="_blank" href="3_big.htm">

<img src="3_small.jpg" alt="Орел" width="130" height="110" /> </a>

<div class="desc">Орел</div></div>

<div class="img"><a target="_blank" href="4_big.htm">

<img src="4_small.jpg" alt="Часы" width="130" height="110" /></a>

<div class="desc"> Часы </div></div>

</body></html>

При желании можно по-другому оформить надписи к рисунку, изменить масштаб изображений.

Изменение прозрачности изображения

Изменение прозрачности изображений реализуется с помощью фильтра filter:alpha. В данном примере используются стили, при этом прозрачность (свойство opacity) задается равной 30% (листинг 5.16 и рис. 5.16).

Листинг 5.16. Изменение прозрачности изображения

<html><head> <title>Изменение прозрачности изображения</title></head>

<body>

<img src="9.jpg" width="300" height="226" alt="Слон"

style="opacity:1.0;filter:alpha(opacity=100)" />

<img src="9.jpg" width="300" height="226" alt="Слон"

style="opacity:0.3;filter:alpha(opacity=30)" />

</body>

</html>

 

Рис. 5.16. Создание прозрачных изображений

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

Изменение прозрачности изображения при наведении курсора мыши

Изменение прозрачности изображений реализуется с помощью фильтра. Пусть прозрачность (opacity) в этом примере будет иметь значение 40% и будет изменяться при генерации события, состоящего в наведении курсора мыши на изображение (листинг 5.17 и рис. 5.17). Данное событие должно не только изменять прозрачность изображения, но и выводить всплывающую подсказку с названием изображения.

Листинг 5.17. Изменение прозрачности изображения при наведении курсора мыши

<html><head><title> Галерея изображений </title><style type="text/css">

img{opacity:0.4;filter:alpha(opacity=40);}

</style></head>

<body><h1>Прозрачность изображений</h1>

<img src="Бык.jpg" width="450" height="339" alt="Бык"

onmouseover="this.style.opacity=1;this.filters.alpha.opacity=100"

onmouseout="this.style.opacity=0.4;this.filters.alpha.opacity=40" />

</body></html>

 

Рис. 5.17. Изменение прозрачности изображения при наведении курсора мыши

Создание прозрачного блока текста на фоне изображения

Пример создания прозрачного текстового блока на фоне изображения приведен в листинге 5.18 и на рис. 5.18.

Листинг 5.18. Создание прозрачного блока текста на фоне изображения

<html><head><title> Текст на фоне изображения </title>

<style type="text/css">

div.background{  width: 500px;  height: 250px;  background: url(9.jpg) repeat;  border: 2px solid black;}

div.transbox{  width: 400px;  height: 180px;  margin: 30px 50px;  background-color: #ffffff;

  border: 1px solid black;  filter:alpha(opacity=60);  opacity:0.6;}

div.transbox p{  margin: 30px 40px;  font-weight: bold;  color: #000000;

.q{font-weight:900;

COLOR:#00f000;FONT-FAMILY:'Comic Sans MS';letter-spacing:3;background-color:#fefeee}

</style></head>

<body><div class="background"><div class="transbox">

<h1 STYLE="COLOR:#00f000;font-size:72;

FONT-FAMILY:'Comic Sans MS';letter-spacing:10;"> Пакет </h1> <div  class="q">Это адрес источника (source), идентифицирующий компьютер-отправитель; передаваемые данные; адрес местоназначения (destination), идентифицирующий компьютер-получатель. </p></div></div></body></html> 

 

Рис. 5.18. Создание прозрачного текстового блока на фоне изображения

Боксовая модель CSS

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

 

Рис. 5.19. Структурная схема боксовой модели CSS

Составляющие боксовой модели

Для каждого элемента генерируется описанный прямоугольник, в котором можно выделить следующие элементы:

• Содержание (Content) — внутреннее пространство блока, предназначенное для размещения текста и (или) изображения.

• Отступ (Padding) — пустое пространство вокруг содержания. Отступы сверху, справа, снизу и слева могут иметь разные или одинаковые размеры. Цвет, совпадающий с цветом содержания.

• Рамка (Border) — граница, окружающая Content и Padding. Рамка имеет цвет, стиль (непрерывная, точечная, пунктирная линия и т. д.), ширину (тонкая, средняя, толстая). Эти свойства рамки можно изменять. Поле (Margin) — пустая область вокруг рамки. Поле полностью прозрачно и создает пространство, в которое не могут вторгаться другие элементы. Поля сверху, справа, снизу и слева могут быть как одинаковыми, так и разными.

Пример использования боксовой модели приведен в листинге 5.19 (рис. 5.20).

Листинг 5.19. Боксовая модель

<html>

<head><title>Боксовая модель 1</title>

<style type="text/css">

[title]

{

color:blue;

}

#wrapper {

border: 20px solid #fff000;

}

 

#box1 {

width: 500px;

padding: 30px;

border: 4px solid #999;

margin: 50px;

background-color: #00f000;

color: #000;

}

</style>

</head>

<body>

<h1 title="Боксовая модель">Боксовая модель</h1>

<div id="wrapper">

<div id="box1">

<h2 onclick="zz.style.top=50">Бокс 1</h2>

<p>Боксовая модель включает контент, отступы, границы, поля.   

</div>

<p>Боксовая модель показывает рамку вокруг элемента и его размещение в пространстве по отношению к другим элементам.</p>

</body>

</html> 

 

Рис. 5.20. Пример боксовой модели

Внешняя рамка оформляется с помощью контейнера #wrapper, внутренняя — с помощью контейнера #box1.

Использование внешнего файла

Рассмотрим страницу с четырьмя текстовыми блоками (рис. 5.21), размещенными в рамке (листинг 5.20).

Листинг 5.20. Четыре блока текста

<html><head><title>Текст в блоках</title>

<link rel=stylesheet type=text/css href="style_5.20.css" media=all></head>

<body>

<div id=box1> Я люблю тебя, жизнь,</div>

<div id=box2>Что само по себе и не ново.</div>

<div id=box3> Я люблю тебя, жизнь. </div>

<div id=box4> Я люблю тебя снова и снова.</div>

</body></html>

Чтобы увидеть на экране рис. 5.20, необходимо создать в той же папке стилевой файл style_17.20.css (листинг 5.21).

 

Рис. 5.21. Пример текста в блоках

Листинг 5.21. Файл style_5.20.css,  используемый в листинге 5.20

body { 

   margin-bottom: 3em;

   background-color: gainsboro;

   }

  #box1 {

   position:absolute;

   top: 50px;

   left: 50px;

   background-color: #ffedcb;

   }

#box2 {

   position:absolute;

   top: 50px;

   right: 50px;

   background-color: #ecb7ff;

   }

#box4 {

   position:absolute;

   bottom: 50px;

   right: 50px;

   background-color: #00ff95;

   }

#box3 {

   position:absolute;

   bottom: 50px;

   left: 50px;

   background-color: yellow;

   }

Раздел в разделе

Рассмотрим еще один пример боксовой модели, использующий вложение раздела в раздел (листинг 5.22). Название «Красный квадрат» соответствует фоновому цвету веб-страницы (рис. 5.22).

Листинг 5.22. Четыре блока текста,  форматируемых внешними стилями

<html><head><title>КРАСНЫЙ КВАДРАТ</title>

<style type="text/css">

html {

   background: #ff0000;

   color: #fff;

}

#wrapper {

   background: #0000ff;

   width: 350px;

   height: 200px;

   margin: 40px 0 0 40px;

}

#box {

   background: #fff;

   color: #111;

   width: 150px;

   height: 150px;

   top: 80px;

   left: 80px;

}

</style></head>

<body><div id="wrapper"><div id="box"></div>

<p>Трансформация позволяет изменение размера, поворот, 

искажение и отражение объекта. 

Выравнивание объектов возможно относительно полей,

 а также относительно друг друга. 

</p></div></body></html>

 

Рис. 5.22. Пример раздел в разделе

Ширина бокса

Рассмотрим пример, в котором используются 5 боксов разной ширины, рамки которых имеют разный цвет и толщину (листинг 5.23). На рис. 5.23 показан фрагмент этой веб-страницы.

Листинг 5.23. Пять боксов разной ширины

<html>

<head><title>Бокс 2</title>

<style type="text/css">

#box1 {

border: 5px solid #353535;

}

#box2 {

width: 25%;

border: 10px solid #00f000;

}

#box3 {

width: 50%;

margin-top: 20px;

border: 15px solid #252525;

}

#box4 {

width: 80%;

margin-top: 20px;

padding: 20px;

border: 20px solid #959595;

}

#box5 {

width: 30%;

margin-top: 10px;

border: 1px solid #c0b090;

}

#box5 p {

padding: 25px;

}

</style>

</head>

<body>

<h3 title="Боксовая модель">Боксовая модель</h3>

<p>Боксовая модель позволяет управлять положением объектов на странице</p>

<div id="box1">

<h4 title="Бокс 1">Бокс 1</h4><p>Это бокс 1</p></div>

<div id="box2">

<h4 title="Бокс 2">Бокс 2</h4><p>Это бокс 2</p></div>

<div id="box3">

<h4 title="Бокс 3">Бокс 3</h4><p>Это бокс 3</p></div>

<div id="box4">

<h4 title="Бокс 4">Бокс 4</h4><p>Это бокс 4</p></div>

<div id="box5">

<h4 title="Бокс 5">Бокс 5</h4><p>Это бокс 5</p></div>

</body>

</html>

 

Рис. 5.23. Пять боксов разной ширины

Абсолютное позиционирование

Свойство position может принимать значение "absolute", которое позволяет привязать бокс к определенной точке. На рис. 5.24 показан пример использования абсолютного позиционирования для размещения пяти боксов разных размеров, рамки которых имеют разный цвет и толщину (листинг 5.24).

 

Рис. 5.24. Абсолютное позиционирование

Листинг 5.24. Абсолютное позиционирование

<html>

<head><title>Боксовая модель 3</title>

<style type="text/css">

#box1 {

width: 15%;

border: 19px solid #00f090;

}

#box2 {

position: absolute;

top: 50px;

right: 50px;

width: 20%;

border: 10px solid #cf0b090;

background-color: #f0e0c1;

color: #000;

}

#box3 {

position: absolute;

width: 25%;

margin-top: 60px;

border: 30px solid #292929;

}

#box4 {

position: absolute;

margin-top: 10px;

right: 50px;

border: 40px solid #f00;

}

#box5 {

position: absolute;

top: 250px;

right: 250px;

width: 20%;

border: 10px solid #f00;

background-color: #f2e9c3;

color: #000;

}

</style>

</head>

<body>

<h3 title="Боксовая модель">Боксовая модель</h3>

<p>Абсолютное позиционирование позволяет<br/>привязать бокс к определенной точке</p>

<div id="box1">

<h4 title="Бокс 1">Бокс 1</h4><p>Это бокс 1</p></div>

<div id="box2">

<h4 title="Бокс 2">Бокс 2</h4><p>Это бокс 2</p></div>

<div id="box3">

<h4 title="Бокс 3">Бокс 3</h4><p>Это бокс 3</p></div>

<div id="box4">

<h4 title="Бокс 4">Бокс 4</h4><p>Это бокс 4</p></div>

<div id="box5">

<h4 title="Бокс 5">Бокс 5</h4><p>Это бокс 5</p></div>

</body>

</html>

Плавающие боксы

Еще одним из способов позиционирования боксов являются плавающие боксы. Свойство float может принимать значение "left" или "right". Пример позиционирования четырех боксов, из которых два плавающих и два статичных (листинг 5.25), показан на рис. 5.25.

 

Рис. 5.25. Плавающие боксы

Листинг 5.25. Плавающие боксы

<html>

<head><title>Боксовая модель 4</title>

<style type="text/css">

#box1 {

margin-top: 10px;

width: 22%;

border: 10px solid #c0b0f0;

background-color: #ffe0c0;

}

#box2{

float: left;

width: 22%;

width: 10em;

margin: 30px;

border: 1px solid #cdb090;

background-color: #f0e0c0;

color: #000;

}

#box3 {

float: right;

width: 10em;

margin: 10px;

border: 1px solid #c0b090;

background-color: #f0e0c0;

color: #000;

}

#box4 {

margin-top: 30px;

border: 1px solid #444;

}

</style>

</head>

<body>

<h3 title="Плавающий бокс">Плавающий бокс</h3>

<div id="box1">

<h4 title="Бокс 1">Бокс 1</h4><p>Это бокс 1</p></div>

<div id="box2">

<h4 title="Бокс 2">Бокс 2</h4><p>Это бокс 2</p></div>

<div id="box3">

<h4 title="Бокс 3">Бокс 3</h4><p>Это бокс 3</p></div>

<div id="box4">

<h4 title="Бокс 4">Бокс 4</h4><p>Это бокс 4</p></div>

</body>

</html>

Подведем итоги

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

Урок 6. Гиперссылки

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

Универсальный указатель ресурса

Для организации ссылок в HTML используется универсальный указатель ресурса (Uniform Resource Locator, URL), в общем случае имеющий следующий формат:

метод://имя_сервера:порт/путь#якорь

Первая часть URL (до двоеточия) описывает метод доступа или сетевую службу, вторая часть (после двоеточия) интерпретируется в зависимости от метода доступа. Обычно два прямых слэша после двоеточия обозначают имя машины.

Наиболее часто используемыми методами являются file, http, ftp, mailto, telnet и news.

Имя сервера — необязательный параметр URL, описывающий полное сетевое имя машины. Например, www.piter.com — полное сетевое имя сервера издательства «Питер». Если имя сервера не указано, то ссылка считается локальной, и полный путь, указанный далее в URL, относится к той же машине, на которой хранится HTML-документ, содержащий ссылку.

Далее в URL указывается частичный или полный путь к документу, который должен вызываться в результате перехода по ссылке.

Якорь — это ссылка на место внутри текущего HTML-документа. Как будет показано далее, места в документе, на которые ссылается якорь, указываются в документе при помощи атрибута NAME.

Вставка ссылок в документ

Для вставки ссылок в документ используется элемент <а>. Он же позволяет вставить в документ якорь. Элемент <а> имеет собственные атрибуты, как общие, так и связанные с обработкой событий: href, name, id, methods, title, accesskey, class, dir, id, lang, onclick, ondblclick, onkeydown, onkeypress, onkeyup, onmousedown, onmousemove, onmouseout, onmouseover, onmouseup, style, title, charset, coord, hreflang, onblur, onfocus, rel, rev, shape, tabindex, target, type.

Ниже дано описание наиболее часто используемых атрибутов элемента <а>.

• Атрибут href. При вставке ссылки в документ обязательно указывается атрибут href. Значением атрибута является URL-адрес документа, на который указывает ссылка:

    <a href="url">

При использовании атрибута href любой текст, находящийся между тегами <a> и </a>, специальным образом выделяется веб-браузером (обычно подчеркивается и выделяется синим цветом).

• Атрибут name. Используется вместо атрибута href при вставке якоря в документ (см. раздел «Переходы внутри документа»).

• Атрибут id. Идентичен атрибуту name, может использоваться не только в теге <a>, но и в других тегах:

    <p id="имя абзаца">

Ссылка на данную метку в текущем документе может быть создана следующим образом:

    <a href="#имя абзаца"> ссылка</a>

• Атрибут methods. Задает протокол извлечения документа, например FTP, Gopher и т. д. Синтаксис:

    <a methods="название"> необязательный текст </A>

• Атрибут title. Служит для визуализации подсказки. Синтаксис:

    <a title="имя ссылки"> ССЫЛКА</a>

• Атрибут accesskey. Позволяет указать «горячую» клавишу, при нажатии на которую будет выполнен переход по ссылке. Синтаксис:

    <a accesskey="имя клавиши"> ССЫЛКА</a>

Ниже перечислены некоторые примеры ссылок.

• Ссылка на HTML-файл с использованием протокола HTTP:

    <a href="http://www.mizic.ru/alex/lena/page1.html"> ССЫЛКА </a>

• Ссылка на ZIP-файл с использованием протокола HTTP:

    <a href="http://www.mizic.ru/alex/lena/test.zip"> ССЫЛКА </a>

• Ссылка на TXT-файл с использованием протокола HTTP:

    <a href="http://www. mizic.ru/alex/lena/test.txt"> ССЫЛКА </a>

• Ссылка на MPG-файл с использованием протокола HTTP:

    <a href="http://www.mizic.ru/alex/lena.mpg"> ССЫЛКА </a>

• Ссылка на EXE-файл с использованием протокола FTP:

    <a href="ftp://ftp.spbszip.com/pub/priem/priem/install.exe"> ССЫЛКА </a>

• Ссылка, инициирующая создание сообщения электронной почты:

    <a href="mailto:name@domen.ru"> ССЫЛКА </a>

• Ссылка на группу новостей:

    <a href="news:comp.infosystems.www.announce"> ССЫЛКА </a>

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

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

Внутренние ссылки

Внутренние ссылки указывают на другую веб-страницу текущего веб-узла. Поэтому при создании внутренней ссылки в атрибуте href элемента <a> достаточно указать относительный путь.

Пример документа, содержащего внутренние ссылки, показан на рис. 6.1 (листинг 6.1).

Листинг 6.1. Пример создания внутренних ссылок

<html>

<head><title>Лекции по веб-дизайну</title></head>

<body background= "fff " >

<center><h1>Лекции по веб-дизайну </h1></center>

<p><h2><a href="Лекция1.htm">Лекция 1</a></p>

<p><a href="Лекция2.htm">Лекция 2</a></p>

<p><a href="Лекция3.htm">Лекция 3</a></p></h2>

</body></html>

 

Рис. 6.1. Документ с внутренними ссылками

Внешние ссылки

Внешние ссылки указывают на веб-страницы, не расположенные на текущем веб-узле. Поэтому в атрибуте href элемента <a> необходимо указывать полный URL-адрес документа, включая название протокола и адрес веб-узла.

Пример документа, содержащего внешние ссылки, показан на рис. 6.2 (листинг 6.2).

 

Рис. 6.2. Документ с внешними ссылками

Листинг 6.2. Пример создания внешних ссылок

<html><head><title>Внешние ссылки</title></head>

<body background="">

<a href="http://www.piter.com/" target="main">Издательство <i>ПИТЕР</i></a> </body></html>

В этом примере для элемента <a> был указан атрибут target, устанавливающий цель ресурса при активизации гиперссылки.

Переходы внутри документа

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

При вставке якоря также используется элемент <a>, но вместо атрибута href указывается атрибут name. Значением этого атрибута является имя якоря. Оно может состоять только из латинских букв и цифр и не должно содержать пробелов, например:

<a name="имя_якоря"> Переходы внутри документа </a>

Для ссылки на установленный якорь необходимо в конце URL-адреса после имени документа указать имя якоря, отделив его символом #:

<a href="#имя_якоря"> Ссылка </a>

Пример использования якоря приведен на рис. 6.3 (листинг 6.3).

 

Рис. 6.3. Пример веб-страницы с якорями

Листинг 6.3. Пример создания якорей в документе

<html><head><title>ПРИМЕР ЯКОРЯ</title></head>

<body background="#fff8dc">

<center>

<h1>Пример якоря</h1></center>

<p><b>Оглавление</b></p>

<ul> <li><a href="#glava1">Глава 1</a></li>

<li><a href="#glava">Глава 2</a></li> </ul>

<p><a name="glava"></a>Глава 1</p>

<il> <p>Текст главы 1</p> </ul>

<p><a name="glava"></a>Глава 2</p>

<ul> <p>Текст главы 2 <br></p>

</body></html>

Когда пользователь щелкнет мышью на ссылке Глава 1, браузер сразу перейдет к первому разделу главы 1. Якорь может находиться как в текущем, так и в другом документе. Во втором случае браузер выполнит загрузку нового документа и перейдет к указанному в нем разделу.

Графические ссылки

Как вы помните (см. урок 3), ссылкой может быть не только текст, но и изображение. При этом код программы на языке HTML и изображение должны находиться в одном каталоге.

Пример графической ссылки показан на рис. 6.4 (листинг 6.4). При щелчке на изображении открывается файл 4.4.htm.

 

Рис. 6.4. Графическая ссылка

Листинг 6.4. Пример создания графической ссылки

<html><head><title>Пеликан</title></head>

<body bgcolor=#ffffff>

<h3 align=center> Пеликан </h3>

<p align=center><a href="3.14.htm">

<img src="p.jpg" /></a></p>

</body></html>

Если изображение для ссылки и код программы на языке HTML находятся в разных каталогах, то вместо изображения на экране появится квадрат с красным крестом посередине. При этом сама ссылка останется работоспособной, то есть при щелчке на ней произойдет переход по указанному URL-адресу.

Ссылки и CSS

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

Псевдоклассы позволяют учитывать различные условия или события при определении свойств HTM-тега.

Псевдоклассы

Для настроек специфических свойств ссылок используются псевдоклассы CSS: link, visited, hover, active.

Псевдокласс link предназначен для ссылок на страницы, которые пользователь еще не посещал. Псевдокласс visited используется для ссылок на страницы, которые пользователь посетил. Псевдокласс hover соответствует перемещению мышки над ссылкой. Псевдокласс active указывает на активную ссылку. Пример использования ссылок показан на рис. 6.5 (листинг 6.5).

В примере кода не посещенная ссылка окрашена в красный цвет, посещенная — в зеленый, активная — в светло-зеленый, та, над которой находится мышка — в желтый.

 

Рис. 6.5. Пример использования ссылок

Листинг 6.5. Пример использования ссылок

<html>

<head><title>Ссылки</title>

<style type="text/css">

a:link {color:red;}    /*Не посещенная ссылка*/

a:visited {color:green;} /*Посещенная ссылка*/

a:hover {color:yellow;}   /*Перемещение мышки над ссылкой*/

a:active {color:lime;}  /*Активная ссылка */

</style></head>

<body>

<p><b><a href="Это">www.piter.com">Это не посещенная ссылка</a></b></p>

<p><b><a href="Это">www.piter.com">Это посещенная ссылка</a></b></p>

<p><b><a href="Это">www.piter.com">Это перемещение мышки над ссылкой</a></b></p>

<p><b><a href="Это">www.piter.com">Это активная ссылка</a></b></p>

</body></html>

Пример форматирования ссылок

Приведем еще один пример ссылок (рис. 6.6, листинг 6.6), где надпись меняет оформление при использовании ссылки.

 

Рис. 6.6. Пример форматирования надписей для ссылок

Листинг 6.6. Пример форматирования надписей для ссылок

<html>

<head><title>Форматирование надписей для ссылок</title>

<style type="text/css">

a.one:link {color:#ff0000;}

a.one:visited {color:#0000ff;}

a.one:hover {color:#ffcc00;}

a.two:link {color:#ff0000;}

a.two:visited {color:#0000ff;}

a.two:hover {font-size:150%;}

a.three:link {color:#ff0000;}

a.three:visited {color:#0000ff;}

a.three:hover {background:#66ff66;}

a.four:link {color:#ff0000;}

a.four:visited {color:#0000ff;}

a.four:hover {font-family:monospace;}

a.five:link {color:#ff0000;text-decoration:none;}

a.five:visited {color:#0000ff;text-decoration:none;}

a.five:hover {text-decoration:underline;}</style></head>

<body><p>Виды ссылок</p>

<p><b><a class="one" href="Ссылка">www.piter.com">Ссылка меняет цвет</a></b></p>

<p><b><a class="two" href="Ссылка">www.piter.com">Ссылка меняет размер</a></b></p>

<p><b><a class="three" href="Меняется">www.piter.com">Меняется фон за ссылкой</a></b></p>

<p><b><a class="four" href="Ссылка">www.piter.com">Ссылка меняет шрифт</a></b></p>

<p><b><a class="five" href="Ссылка">www.piter.com">Ссылка подчеркивается</a></b></p>

</body></html>

При наведении курсора на ссылку надпись меняет внешний вид (увеличивается размер шрифта, появляется фон и т. д.).

Атрибуты гиперссылок

Гиперссылки можно вставить в документ не только с помощью элемента <а>, но и с помощью атрибутов гипертекста cite, href, hreflang, hrefmedia, hreftype, nextfocus. Пример атрибута гипертекста, управляющего списком, приведен в листинге 6.7 (рис. 6.7).

 

Рис. 6.7. Пример использования атрибутов гиперссылок

Листинг 6.7. Пример использования атрибутов гиперссылок

<html><head><title>Атрибуты гиперссылок</title></head>

<body>

<p cite="07_01.htm">Обратитесь к первому упражнению</p>

 

<p href="http://www.piter.com" hreflang="ru">

   Учите немецкий!</p>

<quote href="07_02.htm"> Обратитесь ко второму упражнению </quote>

<var href="#index_yes"> Yes!</var>

<p href="http://www.example.com/forPrinters.html

   hrefmedia="print">

   Это печатная версия страницы.

</p>

<p href="http://www.piter.com " 

   hreftype="text/html,application/xhtml+xml">

   Это тип страницы.

</p>

<table>

<tr><td id="a" href="nw" nextfocus="b">NW</td>

    <td id="c" href="ne" nextfocus="d">NE</td></tr>

<tr><td id="b" href="sw" nextfocus="c">SW</td>

    <td id="d" href="se">SE</td></tr>

</table>

</body></html>

Все перечисленные атрибуты гиперссылок обеспечивают навигацию по сети.

Подведем итоги

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

Урок 7. Списки

В этом уроке рассматриваются способы создания разнообразных списков.

Виды списков

Существует три основных вида списков в HTML-документе:

• нумерованный список;

• маркированный список;

• список определений.

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

Нумерованные списки

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

Нумерованные списки создаются с помощью элемента <ol> (от англ. ordered list — нумерованный список). Каждый элемент списка начинается с элемента <li>. Пример нумерованного списка, в котором нумерация осуществляется по умолчанию, показан на рис. 7.1 (листинг 7.1).

Листинг 7.1. Пример создания списка, нумерованного по умолчанию

<html><head><title>НУМЕРОВАННЫЙ СПИСОК</title></head>

<body bgcolor = "floralwhite">

<h3> ПРОТОКОЛЫ И МОДЕЛИ ИНТЕРНЕТ-ВЗАИМОДЕЙСТВИЯ </h3>

Протокол - это набор правил, регламентирующих обмен информацией между различными устройствами, в частности между компьютерами.<br /><br />

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

<ol>

  <li>Модель клиент-сервер</li>

  <li>Протокол TCP/IP (Transmission Control Protocol/Internet Protocol) </li>

  <li>Протокол http (Hyper Text Transfer Protocol) </li>

  <li>URL(Uniform Resource Locator) - унифицированный указатель ресурса </li>

  <li>Протокол FTP (File Transfer Protocol) </li>

  <li>Microsoft Internet Explorer - самый популярный браузер</li>

  <li>Netscape Navigator - популярный браузер фирмы Netscape</li>

</ol></body></html>

 

Рис. 7.1. Список с нумерацией, заданной по умолчанию

Элемент ol> может иметь атрибуты type и start. Синтаксис:

<ol type="A|a|I|i|1" start="n">

Здесь:

• type — символы списка:

• A  — прописные латинские буквы (A, B, C...);

• a  — строчные латинские буквы (a, b, c...);

• I  — большие римские цифры (I, II, III...);

• i  — маленькие римские цифры (i, ii, iii...);

• 1  — арабские цифры (1, 2, 3...);

• start="n" — начальное значение списка.

Пример нумерованного списка с большими римскими цифрами и начальным значением XLIX показан на рис. 7.2 (листинг 7.2).

 

Рис. 7.2. Список с нумерацией из больших римских цифр

Листинг 7.2. Пример создания списка с нумерацией из больших римских цифр

<html><head> <title> СПИСОК С НУМЕРАЦИЕЙ ИЗ БОЛЬШИХ РИМСКИХ ЦИФР </title></head>

<body bgcolor="darkseagreen">

WWW – World Wide Web (Всемирная паутина) – одна из служб, <br />

доступных пользователям Интернета<br />

_____________________________________________________________ <br />

Характеристики языка HTML:

<ol type="I" start="49">

      <li> Простота</li>

      <li> Универсальность</li>

       <li>Совместимость</li>

   </ol>

_____________________________________________________________ <br />

Интернет развивается с конца 1950-х годов

</body></html>

Пример списка с нумерацией из прописных латинских букв и начальным значением I показан на рис. 7.3 (листинг 7.3).

Листинг 7.3. Пример создания списка с нумерацией из прописных латинских букв

<html><head> <title> </title></head>

<body bgcolor="chartreuse">

КОНЦЕПТУАЛЬНАЯ МОДЕЛЬ WEB<br />

_____________________________________________________________ <br />

WWW - это не только текст и изображение, это еще и поведение

 <ol type="A" start="9">

      <li> Представление</li>

      <li> Структура</li>

       <li>Поведение</li>

   </ol>

_____________________________________________________________ <br />

IAB (Internet Advisory Board) - координационный совет Интернета

</body></html>

 

Рис. 7.3. Список с нумерацией из прописных латинских букв

Пример списка с нумерацией из строчных латинских букв и начальным значением e показан на рис. 7.4 (листинг 7.4).

Листинг 7.4. Пример создания списка с нумерацией из строчных латинских букв

<html><head><title></title></head>

<body bgcolor="khaki">КОНЦЕПТУАЛЬНАЯ МОДЕЛЬ WEB

<br>_____________________________________________________________ <br />

Этап, предшествующий разработке

<ol type="a" start="5">

  <li>Получение заказа на выполнение проекта</li>

  <li>Работа с заказчиком</li>

  <li>Взаимодействие с представителем заказчика</li>

  <li>Мозговой штурм</li>

  <li>Определение предполагаемой аудитории</li>

  <li>Определение масштаба веб-узла</li>

  <li>Анализ информации, представленной конкурентами</li>

  <li>Бюджет и время выполнения проекта</li>

  <li>Переговоры и подписание договора</li>

</ol>

_____________________________________________________________ <br />

ISOC (Internet Society) - неправительственная некоммерческая организация, <br />

специально созданная для поддержки и развития Интернета

 </body></html>

 

Рис. 7.4. Список с нумерацией из строчных латинских букв

Пример списка с нумерацией из маленьких римских цифр и начальным значением iii показан на рис. 7.5 (листинг 7.5).

Листинг 7.5. Пример создания списка с нумерацией из маленьких римских цифр

<html><head><title>СПИСОК С НУМЕРАЦИЕЙ ИЗ МАЛЕНЬКИХ РИМСКИХ ЦИФР</title></head>

<body bgcolor="honeydew">Участники разработки веб-страницы 

<br />_____________________________________________________________ <br />

<ol type="i" start="3">

  <li> Веб-дизайнер</li>

  <li> Главный конструктор </li>

  <li> Веб-мастер </li>

  <li> Аудиодизайнер </li>

  <li> Видеодизайнер </li>

  <li> Аниматор </li>

  <li> Программист </li>

  <li> Авторы текстов </li>

  <li> Специалист, оценивающий применимость узла </li>

  <li> Руководитель проекта</li></ol>

_____________________________________________________________ <br />

IETF - международная организация, в которую входят специалисты по сетевым технологиям 

</body></html>

 

Рис. 7.5. Список с нумерацией из маленьких римских цифр

Пример списка с нумерацией из арабских цифр и начальным значением 11 показан на рис. 7.6 (листинг 7.6).

Листинг 7.6. Пример создания списка с нумерацией из арабских цифр и начальным значением 11

<html><head><title>ЯЗЫКИ РАЗМЕТКИ</title></head>

<body bgcolor="moccasin">Языки разметки веб-страницы<br />

_____________________________________________________________ <br />

<ol type="1" start="11">

<li> HTML (Hyper Text Markup Language) </li>

<li> SGML (Standard Generalized Markup Language) </li>

<li> XML</li>

<li> XHTML</li>

<li> Dynamic HTML</li></ol>

__________________________________________________________<br />

Mozilla - рабочая группа в составе Netscape 

 </body></html>

 

Рис. 7.6. Список с нумерацией из арабских цифр и начальным значением 11

Маркированные списки

Маркированные списки создаются с помощью элемента <ul> (от англ. unordered list — ненумерованный список). Каждый элемент списка начинается с элемента <li> (от англ. list item — элемент списка). Элемент <ul> может иметь атрибут type:

<ul type="disc|circle|square">

Атрибут type определяет внешний вид маркера. Доступные значения:

• disc — закрашенные круглые маркеры (вариант, заданный по умолчанию);

• circle — незакрашенные круглые маркеры;

• square — квадратные маркеры.

Пример маркированного списка с параметрами, заданными по умолчанию, показан на рис. 7.7 (листинг 7.7).

Листинг 7.7. Пример создания маркированного списка с параметрами, заданными по умолчанию

<html><head><title>ИНСТРУМЕНТАЛЬНЫЕ СРЕДСТВА</title></head>

<body bgcolor="snow">Инструментальные средства<br />

____________________________________________________________ <br />

<ul>

  <li>HTML-редакторы</li>

  <li>WYSIWYG-редакторы </li>

  <li>Adobe GoLive</li>

  <li>Microsoft FrontPage</li>

  <li>Macromedia Dreamweaver</li>

</ul>____________________________________________________________<br />

Java - язык программирования<br />

JavaScript - интерпретируемый язык, предназначенный для написания сценариев

 </body></html>

 

Рис. 7.7. Маркированный список с параметрами, заданными по умолчанию

Пример списка с маркерами в виде квадратов показан на рис. 7.8 (листинг 7.8).

Листинг 7.8. Пример создания списка с маркерами в виде квадратов

<html><head><title>ЭЛЕМЕНТЫ ДИЗАЙНА</title></head>

<body bgcolor="paleturquoise">Элементы дизайна<br />

____________________________________________________________ <br />

<ul type="square">

  <li>Пространство</li>

  <li>Формат</li>

  <li>Фрагмент</li>

  <li>Основа</li>

  <li>Линия</li>

  <li>Форма</li>

  <li>Фигура</li><li>Текстура</li>

<li>Цвет</li>

</ul>

____________________________________________________________<br />

Дизайн - это организация визуальной информации

 </body></html>

 

Рис. 7.8. Список с маркерами в виде квадратов

Пример списка с незакрашенными круглыми маркерами показан на рис. 7.9 (листинг 7.9).

 

Рис. 7.9. Список с незакрашенными круглыми маркерами

Листинг 7.9. Пример создания списка с незакрашенными круглыми маркерами

<html><head><title>ПРИНЦИПЫ ВЕБ-ДИЗАЙНА</title></head>

<body bgcolor="palegoldenrod">Принципы веб-дизайна<br />

____________________________________________________________ <br />

<ul type="circle">

  <li>Элементы дизайна </li>

  <li>Удобство восприятия </li>

  <li>Согласованность</li>

  <li>Единство стиля</li>

  <li>Контрасты</li>

  <li>Простота</li>

  <li>Наличие структуры</li>

  <li>Акценты </ul>

  ____________________________________________________________ <br />

Дизайнер должен предвидеть, как будет воспринята информация пользователем

 </body></html>

Вложенные списки

Примеры вложенных списков показаны на рис. 7.10 (листинг 7.10) и 7.11 (листинг 7.11).

Листинг 7.10. Пример создания вложенных списков

<html><head><title> СПИСОК СОТРУДНИКОВ </title></head>

<body bgcolor = "thistle">

<h2> Северо-Западный институт печати </h2>

<h3>Санкт-Петербургский государственный университет технологии и дизайна</h3>

<p> Единственный в Северо-Западном регионе России государственный специализированный вуз </p>

<ol>

<li> Факультет</li>

<ul>

<li> Издательское дело, реклама и книжная торговля</li>

<li> Полиграфические технологии и оборудование</li>

<li> Заочное отделение</li>

</ul>

<li> Специальности</li>

<ul type=square>

<li> Издательское дело и редактирование</li>

<li> Книгораспространение</li>

<li> Реклама</li>

<li> Графика</li>

<li> Технология полиграфического производства</li>

<li> Полиграфические машины и автоматизированные комплексы</li>

<li> Автоматизация технологических процессов и производств</li>

</ul>

</ol>

</body>

</html>

 

Рис. 7.10. Вложенные списки

 

Рис. 7.11. Еще один пример вложенных списков

Листинг 7.11. Еще один пример создания вложенных списков

<html><head><title> ПРИМЕР ВЛОЖЕННЫХ СПИСКОВ </title></head>

<body bgcolor=""dodgerblue">

<ul>

<li> Пункт 1</li>

<ol>

<li> Пункт 1.1</li>

<lI> Пункт 1.2</li></ol>

<li> Пункт 2</li>

<ol>

<li> Пункт 2.1</li>

<li> Пункт 2.2</li></ol>

<li> Пункт 3</li>

<ol>

<li> Пункт 3.1</li>

<li> Пункт 3.2</li></ol></li></ul>

</body></html>

Списки определений

Список определений состоит из специальным образом расположенных терминов и их описаний (определений). Для создания списков определений на веб-страницах используются элементы <dl>, <dt> и <dd>.

• Элемент <dl> (от англ. definition list — список определений). Начинает список определений. Он включает в себя элементы <dt> (помечает термин) и <dd> (помечает описание термина). Списки определений часто используют в научно-технических и учебных изданиях, оформляя с их помощью глоссарии. Элемент <dl> имеет атрибуты compact (современными браузерами не поддерживается), class, id, lang и style.

Если определяемые термины короткие, используется атрибут compact, который предназначен для вывода элементов списка в компактной форме (с уменьшенным кеглем и расстоянием между строками):

    <dl compact>...</dl>

Атрибут compact не имеет значений, синтаксис остальных атрибутов:

    class="Стилевой класс"

    id="Имя"

    lang="Код языка"

    style="Определение встроенного стиля"

• Элемент <dt> (от англ. definition term — определяемое слово, термин). Представляет собой блочный элемент, который помечает текст термина в списке определений. Атрибуты элемента <dt>:

    class="Стилевой класс"

    id="Имя"

    lang="Код языка"

• Элемент <dd> (от англ. definition description — описание определяемого термина). Представляет собой блочный элемент, который помечает текст определения в списке определений. Атрибуты элемента <dd>:

    class="Стилевой класс"

    id="Имя"

    lang="Код языка"

    style="Определение встроенного стиля"

Пример списка определений показан на рис. 7.12 (листинг 7.12).

 

Рис. 7.12. Список определений

Листинг 7.12. Пример создания списка определений

<html><head><title>ВВЕДЕНИЕ В ИНТЕРНЕТ</title></head>

<body bgcolor="lemonchiffon">

<dl>

  <dt>Интернет </dt>

  <dd>- совокупность сетей, применяющих единый протокол обмена (точнее, обширное семейство из сотен протоколов) для передачи информации</dl>

<dl>

  <dt>Локальная сеть </dt>

  <dd>- соединение нескольких компьютеров при помощи технических и программных средств, которые позволяют объединять файловые системы входящих в нее компьютеров </dd></dl>

<dl>

  <dt>Глобальная сеть </dt>

  <dd>- такое соединение компьютеров, при котором допускается использование информации, физически находящейся на других компьютерах сети (однако пользовательским программам не представляется непосредственный доступ к файловой системе других компьютеров) </dd></dl>

<dl>

  <dt>Провайдер сетевых услуг </dt>

  <dd>- владелец конкретной сети, с которой клиент находится в юридических отношениях </dt></dl>

<dl>

  <dt>Бод </dt>

  <dd>- бит в секунду - единица измерения пропускной способности канала - основная характеристика канала связи </dd></dl>

<dl>

  <dt>Гипертекст 

  <dd>- информационная структура, обеспечивающая навигацию посредством гипертекстовых ссылок </dd></dl>

<dl>

<dt>Гипертекстовая ссылка </dt>

<dd>- фрагмент текста или изображение, при активизации которого отображается документ, связанный со ссылкой</dd></dl>

</body></html>

Рассмотрим пример нескольких списков с разными маркерами, который показан на рис. 7.13 (листинг 7.13).

Листинг 7.13. Пример создания списков с разными маркерами

<html><head><title>ЕЩЕ ОДИН ПРИМЕР СПИСКОВ</title>

</head>

<body bgcolor="abcabc">

<ul>

....<li>Метод мозгового штурма</li>

....<li type=square> Метод моментов</li>

</ul>

<ol>

....<li> Метод системологии</li>

....<li> Метод системной ориентации</li>

....<li value=4> Метод проб и ошибок</li>

</ol>

<ol type=A>

....<li> Метод попарного сравнения</li>

....<li> Метод профильного анализа</li>

....<li> Метод Данахера—Руста</li>

</ol>

</body></html>

 

Рис. 7.13. Списки с разными маркерами

Помимо описанных в этом уроке списков, для создания логически связанных списков можно использовать элементы <menu> и <dir>.

• Синтаксис элемента <menu>:

    <menu><li> элемент списка <li> элемент списка </menu>

• Синтаксис элемента <dir>:

    <dir><li> элемент списка <li> элемент списка </dir>

Пример списка с созданием меню полей выбора представлен в листинге 7.14 (рис. 7.14).

 

Рис. 7.14. Пример списка с созданием меню

Листинг 7.14. Пример списка с созданием меню

<html><head><title>СПИСОК С СОЗДАНИЕМ МЕНЮ </title></head>

  <body>

     <menu>

       <li><input type="checkbox" />Красный</li>

       <li><input type="checkbox" />Желтый </li>

       <li><input type="checkbox" />Голубой </li>

     </menu>Не угнаться за тобой!</body></html>

Атрибут гипертекста

Атрибут гипертекста xml:base определяет базовый URI и позволяет в виде списка перелистать все страницы указанного ресурса. Пример атрибута гипертекста, управляющего списком, представлен в листинге 7.15 (рис. 7.15).

 

Рис. 7.15. Пример списка, управляемого атрибутом гипертекста

Листинг 7.15. Пример списка,  управляемого атрибутом гипертекста

<html><head><title>СПИСОК С СОЗДАНИЕМ МЕНЮ </title></head>

<body>

<ul xml:base="http://www.piter.com">

    <li href="/" src="Icons/piter_home">Домашняя страница издательства ПИТЕР</li>

    <li href="/Comp">Это страница редакции компьютерной литературы</li>

    <li href="/Econom">Литература по экономике</li>

    <li href="/Econom/Market">Литература по маркетингу</li>

</ul>

</body></html>

Подведем итоги

В этом уроке были рассмотрены способы создания разнообразных списков, в частности нумерованных (с арабскими и римскими цифрами), маркированных (с маркерами в виде кругов и квадратов) и списков определений. Допускается создание вложенных списков. Приведены примеры использования элемента <menu> и атрибута гипертекста xml:base.

Урок 8. Таблицы

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

Основные элементы таблиц

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

Создание таблиц

Основным элементом, описывающим таблицу, является элемент <table>. Все элементы таблицы должны находиться внутри элемента <table>. По умолчанию таблица не имеет обрамления и разделителей. Обрамление добавляется атрибутом border. Размер рамки может быть фиксированным или автоматически согласовываться с размерами окна просмотра браузера и размерами текста и рисунков в ячейках. Помимо своего естественного назначения (упорядочения текстовой информации), таблицы позволяют решать чисто дизайнерские задачи: выравнивать фрагменты страниц друг относительно друга, размещать рядом рисунки и текст, управлять цветовым оформлением, разбивать текст на столбцы и т. д.

Элемент <table> имеет атрибуты align, border, background, bgcolor, bordercolor, cellpadding, cellspacing, hspace, space, colspec, width.

• Атрибут align. Если атрибут align располагается внутри элементов <caption> и </caption>, он определяет положение подписи таблицы и может принимать значения top (сверху, вариант заданный по умолчанию) и bottom (снизу). Если атрибут align встречается внутри элементов <tr>...</tr>, <th>...</th> или <td>...</td>, он управляет выравниванием данных в ячейках по горизонтали и может принимать значения left (слева), right (справа) или center (по центру).

• Атрибут border. Определяет вид границ таблицы. Если данный атрибут присутствует, граница таблицы прорисовывается для всех ячеек и для таблицы в целом. Атрибут border может принимать числовые значения, определяющие толщину границы, например:

    border=3

• Атрибут background. Позволяет создать фоновое изображение для всей таблицы:

    background = url

• Атрибут bgcolor. Задает фоновый цвет.

• Атрибут bordercolor. Задает цвет рамки. Используется только с атрибутом border, например:

    <tablе border="число" bordercolor="цвет">

• Атрибут cellpadding. Определяет расстояние от границ ячейки до ее содержимого в пикселах.

• Атрибут cellspacing. Определяет расстояние между ячейками в пикселах.

• Атрибут hspace. Задает свободное пространство слева и справа от таблицы в пикселах.

• Атрибут vspace. Задает свободное пространство сверху и снизу от таблицы в пикселах.

• Атрибут colspec. Позволяет создать столбцы фиксированной ширины. Значение ширины задается либо в символах, либо в процентах, например:

    colspec="20%"

• Атрибут width. Определяет ширину таблицы. Значение ширины задается либо в пикселах, либо в процентах от текущей ширины окна браузера; например:

    width="256"

    width="100%"

Если вводимый текст не помещается в ячейку, то в нее с помощью символов &nbsp вводят неразрывный пробел. Это необходимо для прорисовки сетки таблицы.

Создание строк и столбцов таблицы

Для создания строк и столбцов таблицы служит элемент <tr> и <col>.

Элемент <tr> (от англ. Table Row — строка таблицы) задает строку таблицы. Количество строк определяется количеством встречающихся пар <tr> и </tr>. Строки могут иметь атрибуты align (выравнивание по горизонтали) и valign (выравнивание по вертикали).

Элемент <col> (от англ. Column — столбец) используется для задания столбцов таблицы и может иметь атрибуты width, bgcolor, align, valign и id.

• Атрибут width. Задает ширину ячеек в столбце:

    <col width="число">

• Атрибут bgcolor. Задает цвет фона ячеек:

    <сol bgcolor="цвет">

• Атрибут align. Задает режим горизонтального выравнивания содержимого внутри ячейки. Он может принимать значения left (влево), center (по центру) и right (вправо), например:

    <сol align="значение">

• Атрибут valign. Задает режим вертикального выравнивания содержимого внутри ячейки. Он может принимать значения middle (по середине) и top (вверх), например:

    <сol valign="значение">

• Атрибут id. Задает имя для ссылки, например:

    <col id="имя">

Создание ячеек таблицы

Для создания ячейки таблицы служит элемент <td> (от англ. Table Data — табличные данные). Ячейка таблицы может быть описана только внутри строки таблицы. Каждая ячейка должна быть пронумерована номером столбца, к которому она относится. Если в строке для некоторых столбцов отсутствует одна или несколько ячеек, браузер отображает пустую ячейку. Расположение данных в ячейке по умолчанию определяется атрибутами align="left" и valign="middle". Данное расположение может быть изменено как на уровне описания строки, так и на уровне описания ячейки.

Создание заголовка и подписи таблицы

Для создания заголовка таблицы используется элемент <th> (от англ. Table Head — заголовок таблицы). Ячейка заголовка таблицы имеет ширину всей таблицы. Текст в данной ячейке имеет атрибуты bold и align="center".

Для создания подписи таблицы используется элемент <caption> (от англ. cap­tion — подпись). Элемент <caption> должен присутствовать внутри элементов <table> и </table>, но вне описания строки или ячейки. Атрибут align определяет, где будет находиться подпись. По умолчанию атрибут align имеет значение top (сверху), но может быть установлен равным bottom (снизу). Подпись всегда центрирована в рамках таблицы по горизонтали.

Элементы группирования таблиц

Для группирования элементов таблиц служат элементы <colgroup>, <tbody> и <tfoot>.

Группирование столбцов таблицы

Элемент <colgroup> используется с целью группирования столбцов таблицы и может иметь атрибуты bgcolor, align, valign, span, width, id.

• Атрибут bgcolor. Задает цвет фона ячеек, например:

    <colgroup bgcolor="цвет">

• Атрибут align. Задает режим горизонтального выравнивания содержимого внутри ячейки. Он может принимать значения left (влево), center (по центру) и right (вправо), например:

    <colgroup align="значение">

• Атрибут valign. Задает режим вертикального выравнивания содержимого внутри ячейки. Он может принимать значения middle (по середине) и top (вверх), например:

    <colgroup valign="значение">

• Атрибут span. Задает количество столбцов в группе, например:

    <colgroup span="число">

• Атрибут width. Задает ширину ячеек в столбцах, например:

    <colgroup width="число">

• Атрибут id. Задает имя для ссылки, например:

    <colgroup id="имя">

Группирование строк таблицы

Для создания логических связанных групп строк в теле таблицы используется элемент <tbody>, например:

<tbody><tr><td>...<td>...</tbody>

У элемента <tbody> есть атрибуты bgcolor, align, valign, которые имеют тот же смысл, что и одноименные атрибуты элемента <colgroup>.

Для логического группирования строк в верхней части таблицы (то есть для создания верхней шапки таблицы) используется элемент <thead>, например:

<thead><tr><td>...<td>...</thead>

У элемента <thead> есть атрибуты bgcolor, align, valign, id, которые имеют тот же смысл, что и одноименные атрибуты элемента <colgroup>.

Для логического группирования строк в нижней части таблицы (то есть для создания нижней шапки таблицы) используется элемент <tfoot>, например:

<tfoot><tr><td>...<td>...</thead>

У элемента <tfoot> есть атрибуты bgcolor, align, valign, id, которые имеют тот же смысл, что и одноименные атрибуты элемента <colgroup>.

Основные атрибуты элементов таблицы

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

• Атрибут align. Управляет выравниванием содержимого ячеек. Допустимые значения left (влево), right (вправо) и center (по центру).

• Атрибут background. Задает фоновое изображение для ячеек строки:

    background="url"

• Атрибут bgcolor. Задает фоновый цвет для ячеек строки.

• Атрибут border. Задает толщину рамки, обрамляющей ячейки строки. Нулевое значение данного атрибута означает отсутствие обрамления.

• Атрибут valign. Встречается внутри элементов <tr>, <th> и <td>. Он определяет вертикальное выравнивание данных в ячейках. Доступные значения top (вверху), bottom (внизу), center (по центру), middle (по середине) и baseline (по базовой линии).

• Атрибут nowrap. Говорит о том, что данные в ячейке не могут логически разбиваться на строки и должны быть представлены одной строкой.

• Атрибут colspan. Указывает, какое количество ячеек будет объединено по горизонтали с указанной ячейкой. По умолчанию значение этого атрибута равно 1.

• Атрибут rowspan. Указывает, какое количество ячеек будет объединено по вертикали с указанной ячейкой. По умолчанию значение этого атрибута равно 1.

• Атрибут rules. Определяет правила вывода линий между ячейками, например:

    <table rules="all">

Доступные значения:

• none — нет линий (это значение используется по умолчанию);

• groups — линии отображаются только между группами строк (которые задаются элементами <thead>, <tfoot> и <tbody>) или группами столбцов (которые задаются элементами <colgroup> и <col>);

• rows — линии отображаются только между строками;

• cols — линии отображаются только между столбцами;

• all — линии отображаются между строками и столбцами.

• Атрибут frame. Указывает, какие стороны фрейма, окружающего таблицу, должны быть видимыми, например:

    <table frame="void">

Доступные значения:

• void — стороны невидимы (это значение используется по умолчанию);

• above — видима только верхняя сторона;

• below — видима только нижняя сторона;

• hsides — видима только верхняя и нижняя стороны;

• vsides — видима только левая и правая стороны;

• lhs — видима только левая сторона;

• rhs — видима только правая сторона;

• box — видимы все четыре стороны;

• border — как и в предыдущем случае, видимы все четыре стороны (визуальных различий между этими двумя значениями нет).

• Атрибут id. Задает имя для ссылки, например:

    <table id="имя">

Примеры таблиц

Программа, создающая таблицу из двух строк и семи столбцов, представлена в листинге 8.1, а результат работы этой программы показан на рис. 8.1. В этом примере надписи в ячейках выполнены с использованием элементов <th> и </th>, поэтому они центрированы по умолчанию.

 

Рис. 8.1. Таблица из двух строк и семи столбцов, в которой надписи центрированы

Листинг 8.1. Пример создания таблицы из двух строк и семи столбцов, в которой надписи центрированы

<html><head><title>ТАБЛИЦА ИЗ ДВУХ СТРОК И СЕМИ СТОЛБЦОВ</title>

</head>

<body>

<h3>Таблица из двух строк и семи столбцов</h3>

<table cellspacing="0" cellpadding="0" width="60%" border="4">

<tr align=center>

<th bgcolor="black"></th>

<th bgcolor="white">а12 </th>

<th bgcolor="black"></th>

<th bgcolor="white">а14 </th>

<th bgcolor="black"></th>

<th bgcolor="white">а16 </th>

<th bgcolor="black"></th></tr>

<tr align="center">

<th bgcolor="white">а21 </th>

<th bgcolor="black"></th>

<th bgcolor="white">а23 </th>

<th bgcolor="black"></th>

<th bgcolor="white">а25 </th>

<th bgcolor="black"></th>

<th bgcolor="white">а27</th></tr>

</table></body></html>

В следующем примере, представленном на рис. 8.2, надписи ячеек выполнены с использованием тегов <td> и </td>, поэтому они по умолчанию выровнены по левому краю (листинг 8.2).

 

Рис. 8.2. Таблица из двух строк и семи столбцов, в которой надписи выровнены по левому краю

Листинг 8.2. Пример создания таблицы из двух строк и семи столбцов, в которой надписи выровнены по левому краю

<html><head><title>ТАБЛИЦА ИЗ ДВУХ СТРОК И СЕМИ СТОЛБЦОВ</title>

</head>

<body>

<h3>ТАБЛИЦА ИЗ ДВУХ СТРОК И СЕМИ СТОЛБЦОВ</h3>

<table cellspacing="0" cellpadding="0" width="90%" align="center" border="4">

<tr>

<td bgcolor="black"></td>

<td bgcolor="white">а12 </td>

<td bgcolor="black"></td>

<td bgcolor="white">а14 </td>

<td bgcolor="black"></td>

<td bgcolor="white">а16</td> 

<td bgcolor="black"></td></tr>

<tr>

<td bgcolor="white">а21 </td>

<td bgcolor="black"></td>

<td bgcolor="white">а23 </td>

<td bgcolor="black"></td>

<td bgcolor="white">а25 </td>

<td bgcolor="black"></td>

<td bgcolor="white">а27</td></tr>

</table></body></html>

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

 

Рис. 8.3. Таблица из четырех строк и двух столбцов, у которой ширина рамки равна одному пикселу

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

<html><head>

<title>ТАБЛИЦА ЦВЕТОВ ИЗ ЧЕТЫРЕХ СТРОК И ДВУХ СТОЛБЦОВ</title></head>

<body bgcolor="white">

<table width="30%" border="1">

<tr>

<h2>ЦВЕТОВАЯ МОДЕЛЬ CMYK</h2>

<td width="50%">CYAN</td>

<td width="50%" bgcolor="cyan">&nbsp;</td></tr>

<tr>

 <td width="50%">MAGENTA</td>

<td width="50%" bgcolor="magenta">&nbsp;</td></tr>

<tr>

 <td width="50%">YELLOW</td>

<td width="50%" bgcolor="yellow">&nbsp;</td></tr>

<tr>

<td width="50%">BLAСK</td>

<td width="50%" bgcolor="black">&nbsp;</td></tr>

</table></body></html>

Программа, создающая таблицу из предыдущего примера, но выровненную по центру и имеющую толщину рамки 70 пикселов, представлена в листинге 8.4, а результат работы этой программы показан на рис. 8.4. Здесь несколько раз использован элемент<br>, что позволило опустить таблицу относительно заголовка. Ширина этой таблицы, регулируемая параметром width, составляет 30% от ширины экрана.

 

Рис. 8.4. Таблица основных цветов модели CMYK

Листинг 8.4. Пример создания таблицы основных цветов модели CMYK

<html><head><title>Таблица основных цветов модели CMYK</title></head>

<body bgcolor="white">

<center> 

<table width="30%" border="70" >

<tr><h2>цветовая модель cmyk</h2><br /><br /><br /><br />

<td width="50%">CYAN</td>

<td width="50%" bgcolor=cyan>&nbsp;</td></tr>

<tr><td width="50%">MAGENTA</td>

<td width="50%" bgcolor=magenta>&nbsp;</td></tr>

<tr><td width="50%">YELLOW</td>

<td width="50%" bgcolor="yellow">&nbsp;</td></tr>

<tr><td width="50%">BLAСK</td>

<td width="50%" bgcolor="black">&nbsp;</td></tr>

</table></center></body></html>

Программа, создающая таблицу из девяти строк и девяти столбцов, представлена в листинге 8.5, а результат работы этой программы показан на рис. 8.5. Подпись таблицы, которая задается элементом <caption>, расположена сверху.

 

Рис. 8.5. Таблица из девяти строк и девяти столбцов

Листинг 8.5. Пример создания таблицы умножения

<html><head><title>ТАБЛИЦА</title></head>

<body>

<table border="2">

<caption>ТАБЛИЦА УМНОЖЕНИЯ</caption>

<tr><td><th>2</th><th>3</th><th>4</th><th>5</th><th>6</th><th>7</th><th>8 </th><th>9</th></td></tr>

<tr><th>2</th><td>4</td><td>6</td><td>8</td><td>10</td><td>12</td><td>14 </td><td>16</td><td>18</td></tr>

<tr><th>3</th><td>6</td><td>9</td><td>12</td><td>15</td><td>18</td><td>21 </td><td>24</td><td>27</td></tr>

<tr><th>4</th><td>8</td><td>12</td><td>16</td><td>20</td><td>24</td><td>28 </td><td>32</td><td>36</td></tr>

<tr><th>5</th><td>10</td><td>15</td><td>20</td><td>25</td><td>30</td><td>35 </td><td>40</td><td>45</td></tr>

<tr><th>6</th><td>12</td><td>18</td><td>24</td><td>30</td><td>36</td><td>42 </td><td>48</td><td>54</td></tr>

<tr><th>7</th><td>14</td><td>21</td><td>28</td><td>35</td><td>42</td><td>49 </td><td>56</td><td>63</td></tr>

<tr><th>8</th><td>16</td><td>24</td><td>32</td><td>40</td><td>48</td><td>56 </td><td>64</td><td>72</td></tr>

<tr><th>9</th><td>18</td><td>27</td><td>36</td><td>45</td><td>54</td><td>63 </td><td>72</td><td>81</td></tr>

</table></body></html>

Программа, создающая таблицу без рамок из восьми строк и пяти столбцов, показана в листинге 8.6 (рис. 8.6).

 

Рис. 8.6. Таблица из восьми строк и пяти столбцов

Листинг 8.6. Пример создания таблицы из восьми строк и пяти столбцов

<html><head><title>ТАБЛИЦЫ БЕЗ РАМКИ</title></head>

<body>

<h3>ПРОСТАЯ ТАБЛИЦА БЕЗ РАМКИ</h3>

<table>

<tr><td>ячейка 11 </td><td>ячейка 12 </td><td>ячейка 13 </td><td>ячейка 14 </td><td>ячейка 15 </td></tr>

<tr><td>ячейка 21 </td><td>ячейка 22 </td><td>ячейка 23 </td><td>ячейка 24 </td><td>ячейка 25 </td></tr>

<tr><td>ячейка 31 </td><td>ячейка 32 </td><td>ячейка 33 </td><td>ячейка 34 </td><td>ячейка 35 </td></tr>

<tr><td>ячейка 41 </td><td>ячейка 42 </td><td>ячейка 43 </td><td>ячейка 44 </td><td>ячейка 45 </td></tr>

<tr><td>ячейка 51 </td><td>ячейка 52 </td><td>ячейка 53 </td><td>ячейка 54 </td><td>ячейка 55 </td></tr>

<tr><td>ячейка 61 </td><td>ячейка 62 </td><td>ячейка 63 </td><td>ячейка 64 </td><td>ячейка 65 </td></tr>

<tr><td>ячейка 71 </td><td>ячейка 72 </td><td>ячейка 73 </td><td>ячейка 74 </td><td>ячейка 75 </td></tr>

<tr><td>ячейка 81 </td><td>ячейка 82 </td><td>ячейка 83 </td><td>ячейка 84 </td><td>ячейка 85 </td></tr>

</table></body></html>

Программа, создающая ту же таблицу без рамок из восьми строк и пяти столбцов, но с атрибутом width, равным 100%, показана в листинге 8.7 (рис. 8.7).

 

Рис. 8.7. Таблица с шириной, равной ширине экрана

Листинг 8.7. Пример создания таблицы из восьми строк и пяти столбцов с шириной экрана

<html><head><title>ТАБЛИЦЫ БЕЗ РАМКИ</title></head>

<body>

<h3>ПРОСТАЯ ТАБЛИЦА БЕЗ РАМКИ</h3>

<table width="100%">

<tr><td>ячейка 11 </td><td>ячейка 12 </td><td>ячейка 13 </td><td>ячейка 14 </td><td>ячейка 15 </td></tr>

<tr><td>ячейка 21 </td><td>ячейка 22 </td><td>ячейка 23 </td><td>ячейка 24 </td><td>ячейка 25 </td></tr>

<tr><td>ячейка 31 </td><td>ячейка 32 </td><td>ячейка 33 </td><td>ячейка 34 </td><td>ячейка 35 </td></tr>

<tr><td>ячейка 41 </td><td>ячейка 42 </td><td>ячейка 43 </td><td>ячейка 44 </td><td>ячейка 45 </td></tr>

<tr><td>ячейка 51 </td><td>ячейка 52 </td><td>ячейка 53 </td><td>ячейка 54 </td><td>ячейка 55 </td></tr>

<tr><td>ячейка 61 </td><td>ячейка 62 </td><td>ячейка 63 </td><td>ячейка 64 </td><td>ячейка 65 </td></tr>

<tr><td>ячейка 71 </td><td>ячейка 72 </td><td>ячейка 73 </td><td>ячейка 74 </td><td>ячейка 75 </td></tr>

<tr><td>ячейка 81 </td><td>ячейка 82 </td><td>ячейка 83 </td><td>ячейка 84 </td><td>ячейка 85 </td></tr>

</table></body></html>

Программа, создающая ту же таблицу, но у которой расстояние от границы ячейки до ее содержимого, задаваемое параметром cellpadding, равно 20 пикселов, показана в листинге 8.8 (рис. 8.8).

 

Рис. 8.8. Таблица из восьми строк и пяти столбцов

Листинг 8.8. Пример создания таблицы из восьми строк и пяти столбцов

<html><head><title>ТАБЛИЦЫ БЕЗ РАМКИ</title></head>

<body>

<h3>ПРОСТАЯ ТАБЛИЦА БЕЗ РАМКИ</h3>

<table width="100%" cellpadding="20">

<tr><td>ячейка 11 </td><td>ячейка 12 </td><td>ячейка 13 </td><td>ячейка 14 </td><td>ячейка 15 </td></tr>

<tr><td>ячейка 21 </td><td>ячейка 22 </td><td>ячейка 23 </td><td>ячейка 24 </td><td>ячейка 25 </td></tr>

<tr><td>ячейка 31 </td><td>ячейка 32 </td><td>ячейка 33 </td><td>ячейка 34 </td><td>ячейка 35 </td></tr>

<tr><td>ячейка 41 </td><td>ячейка 42 </td><td>ячейка 43 </td><td>ячейка 24 </td><td>ячейка 45 </td></tr>

<tr><td>ячейка 51 </td><td>ячейка 52 </td><td>ячейка 53 </td><td>ячейка 44 </td><td>ячейка 55 </td></tr>

<tr><td>ячейка 61 </td><td>ячейка 62 </td><td>ячейка 63 </td><td>ячейка 54 </td><td>ячейка 65 </td></tr>

<tr><td>ячейка 71 </td><td>ячейка 72 </td><td>ячейка 73 </td><td>ячейка 64 </td><td>ячейка 75 </td></tr>

<tr><td>ячейка 81 </td><td>ячейка 82 </td><td>ячейка 83 </td><td>ячейка 74 </td><td>ячейка 85 </td></tr>

</table></body></html>

Программа, создающая ту же таблицу, но с фоновым изображением, представлена в листинге 8.9 (рис. 8.9).

Листинг 8.9. Пример создания таблицы, у которой фоном является изображение

<html><head><title>ТАБЛИЦЫ БЕЗ РАМКИ</title></head>

<body>

<h3>ПРОСТАЯ ТАБЛИЦА БЕЗ РАМКИ</h3>

<table width="100%" cellpadding="20" background ="Зима.jpg">

<tr><td>ячейка 11 </td><td>ячейка 12 </td><td>ячейка 13 </td><td>ячейка 14 </td><td>ячейка 15 </td></tr>

<tr><td>ячейка 21 </td><td>ячейка 22 </td><td>ячейка 23 </td><td>ячейка 24 </td><td>ячейка 25 </td></tr>

<tr><td>ячейка 31 </td><td>ячейка 32 </td><td>ячейка 33 </td><td>ячейка 34 </td><td>ячейка 35 </td></tr>

<tr><td>ячейка 41 </td><td>ячейка 42 </td><td>ячейка 43 </td><td>ячейка 44 </td><td>ячейка 45 </td></tr>

<tr><td>ячейка 51 </td><td>ячейка 52 </td><td>ячейка 53 </td><td>ячейка 54 </td><td>ячейка 55 </td></tr>

<tr><td>ячейка 61 </td><td>ячейка 62 </td><td>ячейка 63 </td><td>ячейка 64 </td><td>ячейка 65 </td></tr>

<tr><td>ячейка 71 </td><td>ячейка 72 </td><td>ячейка 73 </td><td>ячейка 74 </td><td>ячейка 75 </td></tr>

<tr><td>ячейка 81 </td><td>ячейка 82 </td><td>ячейка 83 </td><td>ячейка 84 </td><td>ячейка 85 </td></tr>

</table></body></html>

 

Рис. 8.9. Таблица, у которой фоном является изображение

Программа, создающая таблицу с использованием атрибута cellpadding, равного 20, показана в листинге 8.10 (рис. 8.10).

Листинг 8.10. Пример таблицы, созданной с использованием атрибута cellpadding

<html><head><title>ТЕКСТ В ТАБЛИЦАХ</title></head>

<body>

<h1 align="center"> СЕВЕРО-ЗАПАДНЫЙ ИНСТИТУТ ПЕЧАТИ </h1>

<h2 align="center"> наш адрес </h2>

<h3 align="center"> ПЕРЕУЛОК ДЖАМБУЛА, дом 13 </h3>

<table cellspacing="15" cellpadding="20" width="90%" align="center" border="4">

<caption> Вступительные экзамены:</caption>

<tbody>

<tr> <th bgcolor="cyan"> Экономика и управление на предприятии </th>

<th bgcolor="cyan" >Математика, русский язык </th></tr>

<tr><th bgcolor="cyan"> Книгораспространение </th>

<th bgcolor="cyan">Русский язык, история отечества </th></tr>

<tr><th bgcolor="yellow"> Технология полиграфического производства </th>

<th bgcolor="yellow">Математика, русский язык </th></tr>

<tr><th bgcolor="yellow">Реклама </th>

<th bgcolor="yellow"> Русский язык, литература, история отечества </th>

</tr></tbody></table></body></html>

 

Рис. 8.10. Таблица, созданная с использованием атрибута cellpadding

Программа, создающая таблицу, в которой объединены ячейки с помощью атрибутов rowspan и colspan, показана в листинге 8.11 (рис. 8.11).

Листинг 8.11. Пример создания таблицы с объединенными ячейками

<html><head><title>ТЕКСТ В ТАБЛИЦАХ</title></head>

<body>

<table border="10" width="80%" align="center"> 

<caption> Пример таблицы с объединенными ячейками по вертикали и горизонтали </caption> <br /><br /><br />

<tr><td width="30%" bgcolor="cornsilk"> а11 ячейка первого столбца и первой строки</td>

<td width="200" bgcolor="chartreuse"> а12 ячейка второго столбца и первой строки</td>

<td rowspan=2" bgcolor="aqua"> а13+а23 (объединение ячеек по вертикали) </td></tr>

<tr><td align="center" bgcolor="azure">ячейка а21 <br /> выравнивание по центру</td>

<td align="right" bgcolor="lawngreen"> ячейка а22  <br /> выравнивание по правому краю ячейки</td></tr>

<tr><td height="60" valign="top" bgcolor="lightgrey"> ячейка а31 </td>

<td colspan="2" valign="bottom" bgcolor="mediumspringreen"> а32+а33 <br>

(объединение ячеек по горизонтали)</td></tr>

</table></body></html>

 

Рис. 8.11. Таблица с объединенными ячейками

Программа, создающая таблицу, в которой ячейки объединены с помощью атрибутов rowspan и colspan и в качестве фона выбраны рисунки, показана в листинге 8.12 (рис. 8.12).

Листинг 8.12. Пример создания таблицы с объединенными ячейками и фоновыми рисунками

<html><head><title>ТАБЛИЦА</title>

</head>

<body>

<table border="2">

<caption>Таблица, в которой объединены ячейки </caption>

<tbody><tr><td background = "icon1.gif">1111111</td>

<th background = "icon2.gif">2</th>

<th background = "icon3.gif">Объединение по горизонтали</th>

<th background = "icon4.gif">4 </th>

<th background = "icon5.gif">5 </th>

<th  background = "icon6.gif">6 </th>

<th  background = "icon7.gif">7 </th>

<th  background = "icon8.gif">8 </th>

<th  background = "icon9.gif">9 </th></tr>

<tr> <th rowspan=8  background = "Янтарная комната.jpg"></th>

<td background = "icon10.gif">4 4444</td>

<td background = "icon11.gif">66666 </td>

<td background = "icon12.gif">88888 </td>

<td background = "icon13.gif">10000 </th>

<td background = "icon14.gif">12000 </td>

<td background = "icon15.gif">14000 </td>

<td background = "icon16.gif">16000 </td>

<td background = "icon17.gif">18000 </td></tr>

<tr><th colspan=5>Объединение по горизонтали </th>

<td background = "icon18.gif">6 </td>

<td background = "icon18.gif">9 </td>

<td background = "icon18.gif">12</td></td>

<tr><th background = "icon17.gif">4 </td>

<td background = "icon17.gif"> </td>

<td background = "icon16.gif">12 </td>

<td background = "icon16.gif">16 </td>

<td background = "icon15.gif">20 </td>

<td background = "icon15.gif">24 </td>

<td background = "icon14.gif">28 </td>

<td background = "icon14.gif">32</td>

<tr><th>т</th><td></td><td>а</td><td>б</td><td>л</td><td>и</td><td>ц</td><td>а</td></tr>

<tr><th>е</th><td></td><td></td><td></td><td></td><td></td><td></td><td></td>

<tr><th>к</th><td></td><td>11</td><td>11</td><td>11</td><td>11</td><td>11 </td><td>11</td>

<tr><th>с</th><td></td><td>11</td><td>11</td><td>11</td><td>11</td><td>11 </td><td>11</td>

<tr><th>т</th><td></td><td>11</td><td>11</td><td>11</td><td>11<td>11<td>11 </td></tr></tbody></table></body></html>

 

Рис. 8.12. Таблица с объединенными ячейками и фоновыми рисунками

Программа, создающая таблицу, в которой подпись располагается внизу (align="bottom"), показана в листинге 8.13 (рис. 8.13).

 

Рис. 8.13. Таблица, в которой подпись располагается внизу

Листинг 8.13. Пример создания таблицы, в которой подпись располагается внизу

<html><head><title>ЕЩЕ ОДНА ТАБЛИЦА</title></head>

<body>

<table border="4"> 

<caption align="bottom"> Таблица №1 </caption> 

<tr><td rowspan="2"></td><th colspan="2">Среднее значение</th></tr> 

<tr><th>Рост</th><th>вес</th></tr> 

<tr><td>Мужчины</td><td align="center">184</td><td align="center">88</td></tr> 

<tr><td>Женщины</td><td align="center">168</td><td align="center">63</td></tr> </table></body></html>

Еще один пример таблицы (таблицы цветов) показан на рис. 8.14 (лис­тинг 8.14).

Листинг 8.14. Пример создания таблицы цветов

<html>

<head>

<title>ТАБЛИЦА</title></head>

<body>

<table align="center" width="90%" border="4" cellspacing="15%" cellpadding="50%">

<caption>Цветовая панель rgb</caption>

<tr><th bgcolor="red">RED</th>

<th bgcolor="red">Красный</th>

<tr><th bgcolor="green">GREEN</th>

<th bgcolor="green">Зеленый</th>

<tr><th bgcolor="blue">BLUE</th>

<th bgcolor="blue">Синий</th></tr>

</table></body></html>

 

Рис. 8.14. Таблица цветов

Программа, создающая таблицу, в которой представлены коды цветов, показана в листинге 8.15 (рис. 8.15).

 

Рис. 8.15. Таблица с кодами цветов

Листинг 8.15. Пример создания таблицы с кодами цветов

<html><head><title>ТЕСТ ЦВЕТА</title></head>

<body>

<table width="200" border="3">

<tbody><tr><td align="middle" bgcolor="white"><b>код</b> 

<td align="middle" bgcolor="white"><b>цвет</b>

<tr><td>#b0e0e6 <td bgcolor="#b0e0e6">1

<tr><td>#afeeee <td bgcolor="#afeeee">2

<tr><td>#7fffd4 <td bgcolor="#7fffd4">3

<tr><td>#00fa9a <td bgcolor="#00fa9a">4

<tr><td>#00ff00 <td bgcolor="#00ff00">5

<tr><td>#32cd32 <td bgcolor="#32cd32">6

<tr><td>#008000 <td bgcolor="#008000">7

<tr><td>#006400 <td bgcolor=#006400">8

<tr><td>#008080 <td bgcolor=#008080">9

<tr><td>#ff6800 <td bgcolor=#ff6800">10

<tr><td>#ff6000 <td bgcolor=#ff6000">11

<tr><td>#ff5800 td bgcolor=#ff5800">12 </td></tr></tbody></table>

</body></html>

Программа, создающая таблицу, в которой отражены все цвета радуги, показана в листинге 8.16 (рис. 8.16). Рамка таблицы окрашена в томатный цвет.

 

Рис. 8.16. Таблица, в которой показаны все цвета радуги

Листинг 8.16. Пример создания таблицы, в которой показаны все цвета радуги

<html><head><title>РАДУГА</title></head>

<body>

<center><font color="red" size="5">РАДУГА</font> 

<table width="40%"border="3" cellspacing= "15" cellpadding="10" bordercolor="tomato">

<tbody> <tr> <td bgcolor="#ff3030" align="center"> КРАСНЫЙ</td></tr>

<tr><td bgcolor="#ffd000" align="center"> ОРАНЖЕВЫЙ </td></tr>

<tr><td bgcolor="#f3ff5f" align="center"> ЖЕЛТЫЙ </td></tr>

<tr><td bgcolor="#00ff00" align="center"> ЗЕЛЕНЫЙ </td></tr>

<tr><td bgcolor="#cfd3f7" align="center"> ГОЛУБОЙ </td></tr>

<tr><td bgcolor="#5f2ff0" align="center"> СИНИЙ </td></tr>

<tr><td bgcolor="#b568f4" align="center"> ФИОЛЕТОВЫЙ </td></tr></tbody></table></body></html>

Программа, в которой фон таблицы и документа закрашен разными цветами, показана в листинге 8.17 (рис. 8.17).

 

Рис. 8.17. Веб-страница, на которой показана простая таблица

Листинг 8.17. Пример веб-страницы, на которой показана простая таблица

<html><head><title>ПРОСТАЯ ТАБЛИЦА</title></head>

<body bgcolor="red">

<h3 align="center">ПРОСТАЯ ТАБЛИЦА </h3>

<div align="center"> <center> <table bgcolor"greenyellow" border="5">

<caption>ЗАГОЛОВОК ТАБЛИЦЫ</caption>

<tbody> <tr><td>ячейка 11 </td>

<td>ячейка 12 </td></tr>

<tr><td>ячейка 21 </td>

<td><p align="center">ячейка 22 

</p></td></tr></tbody></table></center></div></body></html>

Программа, создающая таблицу, в которой отражены различные способы выравнивания, показана в листинге 8.18 (рис. 8.18). Рамка таблицы окрашена в черный и белый цвета.

 

Рис. 8.18. Таблица, в которой отражены различные способы выравнивания

Листинг 8.18. Создание таблицы, отражающей различные способы выравнивания

<html><head><title>ВЫРАВНИВАНИЕ В ТАБЛИЦАХ</title></head>

<body bgcolor="#f0fff0">

<h3 align="center"><font color="#080"><big><big><strong><em>Различные способы выравнивания</em></strong></big></big></font></h3>

<table bordercolordark="#000" cellpadding="5</th> bordercolorlight="#fff" border="3"><caption valign="top" align="right">Заголовок таблицы</caption>

<tbody> <tr> <td>&nbsp;</td></tr>

<tr><th colspan="2" rowspan=2>&nbsp;</th>

<th colspan="3">Способ выравнивания</th></tr>

<tr><th>По левому краю</th>

<th>Центрирование</th>

<th>По правому краю</th></tr>

<tr><th rowspan=2>Направление</th>

<th>По горизонтали</th>

<td>Этот текст выровнен по левому краю</td>

<td align="middle">Этот текст отцентрирован</td>

<td align="right">Этот текст выровнен по правому краю</td></tr>

<tr><th>По вертикали</th>

<td valign="top">Вверху</td>

<td align="middle">Посередине</td>

<td valign="bottom" align="right">Внизу</td></tr></tbody></table>

</body></html>

Программа, создающая таблицу с тремя столбцами и четырьмя строками, подпись которой располагается внизу, показана в листинге 8.19 (рис. 8.19).

 

Рис. 8.19. Таблица, у которой подпись располагается внизу

Листинг 8.19. Пример создания таблицы, у которой подпись располагается внизу

<html><head><title>ТАБЛИЦЫ</title></head>

<body bgcolor = "#e6e6fa">

<h3 align="center">Таблица с тремя столбцами и четырьмя строками</h3>

<div align="center">

<center> <table bordercolordark="black" cellpadding="5" bgcolor="silver" bordercolorlight="white" border="1">

<tbody><tr><th>Столбец 1</th>

<th>Столбец 2</th><th>Столбец 3</th></tr>

<tr><td><font color=maroon>Текст выделен цветом </font></td>

<td>ячейка 12 </td><td>ячейка 13 </td></tr>

<tr><td>ячейка 21 </td><td>ячейка 22 </td><td>ячейка 23 </td></tr>

<tr><td>ячейка 31 </td><td>ячейка 32 </td><td>ячейка 33 </td></tr>

<caption valign="bottom" align="left">Подпись таблицы внизу и слева</caption></table></center></div></body></html>

Программа, создающая таблицу с четырьмя столбцами и тремя строками, показана в листинге 8.20 (рис. 8.20).

 

Рис. 8.20. Таблица с четырьмя столбцами и тремя строками

Листинг 8.20. Пример создания таблицы с четырьмя столбцами и тремя строками

<html><head><title>ТАБЛИЦА С ЧЕТЫРЬМЯ СТОЛБЦАМИ И ТРЕМЯ СТРОКАМИ</title></head>

<body bgcolor = "#ff0">

<h3 align="center">Таблица с четырьмя столбцами и тремя строками</h3>

<div align="center">

<center>

<table bordercolordark="#000" cellpadding="5" bgcolor="#fc4" 

bordercolorlight="#fff" border="1" frame="lhs">

<caption>CSS (Cascading Style Sheets - каскадные листы стилей)</caption>

<tbody> <tr> <th rowspan="2">Объединение двух ячеек по горизонтали</th>

<td><font color="maroon">Текст выделен цветом</font></td>

<td>ячейка 12 </td> <td>ячейка 13 </td></tr>

<tr> <td>ячейка 21 </td> <td>ячейка 22 </td> <td>ячейка 23 </td></tr>

<tr> <th>строка 3</th> <td>ячейка 31 </td> <td>ячейка 32 </td>

<td>ячейка 33 </td></tr></tbody></table></center></div></body></html>

Еще один пример программы, создающий таблицу с тремя столбцами и четырьмя строками, у которой, в отличие от рис. 8.19, подпись размещена сверху, показан в листинге 8.21 (рис. 8.21).

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

<html><head><title>ТАБЛИЦЫ С ОБЪЕДИНЕННЫМИ ЯЧЕЙКАМИ</title></head>

<body  bgcolor="#faf0e6">

<h3 align="center">ТАБЛИЦЫ С РАЗЛИЧНЫМИ РАМКАМИ</h3>

<div align="center">

<center>

<table bordercolordark="#000" cellpadding="5" bgcolor="#c0c0c0" 

bordercolorlight="#fff" background="111" border="2" frame="below">

<caption align="left">Программный код - текст программы</caption>

<tbody> <tr> <th>столбец 1</th>

<th colspan=2>Объединение двух ячеек по вертикали</th></tr>

<tr><td><font color=maroon>Текст выделен цветом </font></td>

<td>ячейка 12 </td>

<td>ячейка 13 </td></tr>

<tr><td>ячейка 21 </td><td>ячейка 22 </td><td>ячейка 23 </td></tr>

<tr><td>ячейка 31 </td><td>ячейка 32 </td>

<td>ячейка 33 </td></tr></tbody></table></center></div>

</body></html>

 

Рис. 8.21. Таблица, у которой подпись располагается сверху

Еще один пример программы, создающий таблицу без рамки с четырьмя столбцами и тремя строками, у которой заголовок выровнен по центру, показан в листинге 8.22 (рис. 8.22).

Листинг 8.22. Пример создания таблицы без рамки

<html><head><title>ЗАГОЛОВОК, ВЫРОВНЕННЫЙ ПО ЦЕНТРУ</title>

</head>

<body bgcolor="#fff0f5">

<h3 align="center"> Заголовок, выровненный по центру </h3>

<div align="center">

<center>

<table bordercolordark="#000" cellpadding="5" bgcolor="#c4ecff" 

bordercolorlight="#fff" border="3" frame="void">

<caption align="right">Заголовок таблицы - параметр frame = "void"</caption>

<tbody><tr><th>Заголовок строки 1 - элемент th</th>

<td align="right"><font color="maroon"><i>Текст выделен цветом, курсивом и расположен с правого края</i></font></td>

<td>ячейка 12 </td><td>ячейка 13 </td></tr>

<tr><th>Заголовок строки 2 - элемент th</th><td>ячейка 21 </td><td>ячейка 22 </td><td>ячейка 23 </td></tr>

<tr><th>Заголовок строки 3 - элемент th</th><td>ячейка 31 </td><td>ячейка 32 </td><td>ячейка 33 </td></tr></tbody></table></center></div>

</body></html>

 

Рис. 8.22. Таблица без рамки

Рассмотрим еще один пример создания таблицы, представленный в листинге 8.23. В этом примере показано, что жирные рамки могут создавать различные визуальные эффекты (рис. 8.23). Противоположный результат можно получить, если создать таблицу без рамки. При создании вложенных таблиц границы делают разной толщины, чтобы легче было различать таблицы.

 

Рис. 8.23. Вложенные таблицы с разной толщиной рамок

Листинг 8.23. Пример создания вложенных таблиц с разной толщиной рамок

<html><head><title>ТАБЛИЦЫ С РАЗНОЙ ТОЛЩИНОЙ РАМОК</title></head>

<body><table cellspacing="10" cellpadding="0" width="90%" border="8" bordercolor="black">

<tr><td align="center"><h2>ТИПЫ БРАУЗЕРОВ</h2>

<table border cellspacing="10" width="100%">

<tr><td align="center" colspan="4"><h4>первый графический браузер появился в 1993 году</h4></td></tr>

<tr><td align="center">Microsoft Internet Explorer </td>

<td align="center">Mozilla Firefox</td>

<td align="center">Opera </td>

<td align="center">Safari</td></tr></table></td></tr></table>

</body></html>

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

 

Рис. 8.24. Таблица с интересными эффектами размещения текста

Листинг 8.24. Пример создания таблицы с интересными эффектами размещения текста

<html><head><title>АТРИБУТЫ ЭЛЕМЕНТОВ ТАБЛИЦЫ</title></head>

<body bgcolor = "#f0fff0"><center>

<table border cellspacing="20">

<tr><td>элемент 11</td><td> элемент 12</td><td> элемент 13</td></tr>

<tr><td>элемент 21</td><td>элемент 22</td><td>элемент 23</td></tr></table>

<table border cellspacing="20">

<tr><td>элемент 31</td><td> элемент 32</td><td> элемент 33</td></tr>

<tr><td>элемент 41</td><td> элемент 42</td><td> элемент 43</td></tr></table>

<table border cellspacing="0">

<tr><td>элемент 51</td><td>элемент 52</td><td>элемент 53</td></tr>

<tr><td>элемент 61</td><td> элемент 62</td><td> элемент 63</td></tr></table>

</body></html>

Пример таблицы, в которой с помощью атрибута cellspacing имитируется рамка вокруг изображения, показан на рис. 8.25 (листинг 8.25).

 

Рис. 8.25. Таблица, в которой имитируется рамка вокруг изображения

Листинг 8.25. Пример создания таблицы, в которой имитируетсярамка вокругизображения

<html><head><title>РАМКА ВОКРУГ ФОТОГРАФИИ</title></head>

<body bgcolor="#f080f0">

<center>

<table cellspacing="10" border="15">

<caption align="bottom">ПОРТРЕТ</caption>

<tr><td>

<table border="30">

<tr><td><img src="ПОРТРЕТ.jpg"> </td></tr>

</table></td></tr>

</table></center></body></html>

Еще один пример таблицы, в которой имитируется рамка с тенью, показан на рис. 8.26 (листинг 8.26). Ячейка выглядит выпуклой.

Листинг 8.26. Пример создания таблицы с выпуклойрамкой

<html><head><title>РАМКА С ТЕНЬЮ</title></head>

<body bgcolor="#e0f">

<center>

<table ellpadding="10" cellspacing="0" border="17">

<tr><td align="center">

<h1>Родина моя</h1><h3>Санкт-Петербург</h3>

<table border="30" width="100%">

<tr><td> <i>На том и этом свете буду вспоминать я </i></td></tr>

<tr><td> <i>Как упоительны в России вечера </i></td></tr>

</table></td></tr></table></center></body></html>

 

Рис. 8.26. Таблица с выпуклой рамкой

Таблицы позволяют размещать текст в колонках. Такой пример показан на рис. 8.27 (листинг 8.27).

 

Рис. 8.27. Текст в колонках

Листинг 8.27. Размещение текста в колонках

<html><head><title>ТЕКСТ В КОЛОНКАХ</title></head>

<body bgcolor="#dcdcdc">

<center>

<table width="70%" border="0" cellpadding="5">

<tr> <td align="center" colspan="2">

<h2>Как сделать красиво?</h2>

<h3>Основные правила: Контраст, Выравнивание, Приближенность</h3></td></tr>

<tr> <td  width="50%" align="top">

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

</td> <td valign="top">

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

</td></tr></table></center></body></html>

Пример разноцветной таблицы из четырех столбцов показан на рис. 8.28 (лис­тинг 8.28).

 

Рис. 8.28. Таблица из четырех столбцов

Листинг 8.28. Пример создания таблицы из четырех столбцов

<html><head><title>ТЕКСТ В ЧЕТЫРЕХ СТОЛБЦАХ</title></head>

<body bgcolor="#0ff">

<center> <h4> Даты возникновения математических знаков</h4>

<table cellpadding="5" width="80%" border="1" cellspacing="2">

<tr align="leftv bgcolor = "#099">

<td> Знак</td><td> Значение </td><td> Кто ввел </td>

<td>Год</td></tr><tr><td>= </td>

<td align="left" valign="top" bgcolor ="#00ced1">равенство </td>

<td align="left" valign="top" bgcolor ="#00ced1">Р.Рекорд</td>

<td align="left" valign="top" bgcolor ="#00ced1">1557</td></tr>

<td align="left" valign="top" bgcolor ="#00ced1">&gt, &lt </td>

<td align="left" valign="top" bgcolor ="#00ced1">больше, меньше </td>

<td align="left" valign="top" bgcolor ="#00ced1">Т.Гарриот</td>

<td align="left" valign="top" bgcolor ="#00ced1">1631</td></tr>

<td align="lef" valign="top" bgcolor ="#00ced1">&para </td>

<td align=left valign=top bgcolor ="#00ced1">Отношение длины окружности к диаметру </td>

<td align="left" valign="top" bgcolor ="#00ced1">У.Джонсон</td>

<td align="left" valign="top" bgcolor ="#00ced1">1706</td></tr>

<td align="left" valign="top" bgcolor ="#00ced1">&times </td>

<td align="left" valign="top" bgcolor ="#00ced1">умножение </td>

<td align="left" valign="top" bgcolor ="#00ced1">У.Оутред</td>

<td align="left" valign="top" bgcolor ="#00ced1">1631</td></tr>

<td align="left" valign="top" bgcolor ="#00ced1">log </td>

<td align="left" valign="top" bgcolor ="#00ced1">логарифм</td>

<td align="left" valign="top" bgcolor ="#00ced1">И.Кеплер</td>

<td align="left" valign="top" bgcolor ="#00ced1">1624</td>   </tr>

<td align="left" valign="top" bgcolor ="#00ced1">sin </td>

<td "align="left" valign="top" bgcolor ="#00ced1">синус </td>

<td align="left" valign="top" bgcolor ="#00ced1">Б.Кавальери</td>

<td align=left valign="top" bgcolor ="#00ced1">1632</td>   </tr>

<td align="left" valign="top" bgcolor ="#00ced1">cos </td>

<td align="left" valign=top bgcolor ="#00ced1">косинус </td>

<td align="left" valign="top" bgcolor ="#00ced1">Л.Эйлер</td>

<td align="left" valign="top" bgcolor ="#00ced1">1748</td>

</tr></tbody></table></center></body></html>

Пример таблицы с общим заголовком и отдельными заголовками столбцов показан на рис. 8.29 (листинг 8.29).

Листинг 8.29. Пример создания таблицы с общим заголовком и отдельными заголовками столбцов

<html><head><title>ТАБЛИЦА С ОБЩИМ ЗАГОЛОВКОМ И ОТДЕЛЬНЫМИ ЗАГОЛОВКАМИ СТОЛБЦОВ</title></head>

<body bgcolor="#6600ff">

<table border="5" cellspacing="4">

<caption> Заголовок таблицы </caption>

<tr><th bgcolor="#fff">Заголовок 1

<th bgcolor="#ffd">Заголовок 2

<th bgcolor="#ffe">Заголовок 3

<tr><td>ячейка 11 <td>ячейка 12</td><td>ячейка 13</td>

<tr><td>ячейка 21 <td>ячейка 22</td><td>ячейка 23</td>

<tr><td>ячейка 31 <td>ячейка 32</td><td>ячейка 33</td>

</table></body></html>

 

Рис. 8.29. Таблица с общим заголовком и отдельными заголовками столбцов

Пример таблицы с общим заголовком и отдельными заголовками столбцов и строк показан на рис. 8.30 (листинг 8.30).

 

Рис. 8.30. Таблица с общим заголовком и отдельными заголовками столбцов и строк

Листинг 8.30. Пример создания таблицы с общим заголовком и отдельными заголовками столбцов и строк

<html><head><title>ТАБЛИЦА С ОБЩИМ ЗАГОЛОВКОМ И ОТДЕЛЬНЫМИ ЗАГОЛОВКАМИ СТОЛБЦОВ И СТРОК</title></head>

<body bgcolor="#ee0066">

<table border="5" cellspacing="4">

<caption>ЗАГОЛОВОК ТАБЛИЦЫ </caption>

<tr><th bgcolor="fff">

<th bgcolor="fff">Заголовок 1</th>

<th bgcolor="fff">Заголовок 2</th>

<th bgcolor="fff">Заголовок 3</th>

<th bgcolor="fff">Заголовок 4 </th></tr>

<tr> <th bgcolor="fff">Заголовок 5</th>

<td>ячейка 11<td>ячейка 12<td>ячейка 13<td>ячейка 14 </td></tr>

<tr><th bgcolor="fff">Заголовок 6</tr>

<td>ячейка 21<td>ячейка 22<td>ячейка 23<td>ячейка 24 </td></tr>

</table></body></html>

Пример таблицы с объединенными ячейками в столбцах и строках показан на рис. 8.31 (листинг 8.31).

 

Рис. 8.31. Таблица с объединенными ячейками в столбцах и строках

Листинг 8.31. Пример создания таблицы с объединенными ячейками в столбцах и строках

<html><head><title>ТАБЛИЦА С ОБЪЕДИНЕННЫМИ ЯЧЕЙКАМИ В СТОЛБЦАХ И СТРОКАХ </title></head>

<body bgcolor="#ee0011">

<table border="4" cellspacing="0">

<caption>Заголовок таблицы </caption>

<tr><td bgcolor="fff">Заголовок 1</td>

<td bgcolor="fff">Заголовок 2</td></tr>

<tr><td rowspan=3 bgcolor="fff">ячейка 1</td>

<td>ячейка 2</td></tr>

<tr><td>ячейка 3</td></tr>

<tr><td>ячейка 4</td></tr>

<tr><td colspan=2 bgcolor="fff" align="center">ячейка 5</td></tr>

<tr><td colspan=2 bgcolor="fff" align="center">ячейка 6</td></tr>

<tr><td colspan=2 bgcolor="fff" align="center">ячейка 7</td></tr>

<tr><td colspan=2 bgcolor="fff" align="center">ячейка 8</td></tr>

</table> </body></html>

Пример таблицы со сложным объединением ячеек в столбцах и строках показан на рис. 8.32 (листинг 8.32).

 

Рис. 8.32. Таблица со сложным объединением ячеек в столбцах и строках

Листинг 8.32. Пример создания таблицы со сложным объединением ячеек в столбцах и строках

<html><head><title>ОБЪЕДИНЕНИЕ ЯЧЕЕК В СТОЛБЦАХ И СТРОКАХ</title></head>

<body bgcolor= "#ddee11">

<table border= "4" cellspacing= "0" >

<tr><td bgcolor="fff">Заголовок 1</td>

<td bgcolor="fff">Заголовок 2</td>

<td bgcolor="fff">Заголовок 3</td>

<td bgcolor="fff">Заголовок 4</td></tr>

<tr><td rowspan= "4" colspan= "2" bgcolor="fff">ячейка 1</td></tr>

<tr><td>ячейка 2<td rowspan= "3" > ячейка 5</td></tr>

<tr><td>ячейка 3</td></tr>

<tr><td>ячейка 4</td></tr>

<tr><td rowspan= "4" colspan= "2" bgcolor="fff">ячейка 6</td></tr>

<tr><td colspan= "3" bgcolor="white" align="center">ячейка 7</td></tr>

</table></table></body></html>

Пример таблицы, размещенной в ячейке другой таблицы, показан на рис. 8.33 (листинг 8.33).

Листинг 8.33. Пример создания таблицы, которая размещается в ячейке другой таблицы

<html><head><title>ОБЪЕДИНЕНИЕ ЯЧЕЕК В СТОЛБЦАХ И СТРОКАХ</title></head>

<body bgcolor="#ddeeff">

<table border="5" cellspacing="0">

<tr><td bgcolor="fff">ячейка 1</td>

<td><table border="3"> </td>

<tr><td>ячейка 2-1</td><td>ячейка 2-2</td>

<tr><td>ячейка 3-2</td><td>ячейка 4-2</td>

</table>

<td bgcolor="fff">ячейка 5</td>

<tr><td bgcolor="fff">ячейка 3-1</td>

<td bgcolor="fff">ячейка 4-1</td>

<td ffffff="fff">ячейка 6-1</td></tr>

</table></body></html>

 

Рис. 8.33. Таблица, которая размещается в ячейке другой таблицы

Примеры трех таблиц, состоящих из одной ячейки и имеющих рамки разной толщины, показаны на рис. 8.4 (листинг 8.34).

 

Рис. 8.34. Таблицы, состоящие из одной ячейки

Листинг 8.34. Примеры таблиц, состоящих из одной ячейки

<html><head><title>ОБЪЕДИНЕНИЕ ЯЧЕЕК В СТОЛБЦАХ И СТРОКАХ</title></head>

<body bgcolor="#dde">

<table border="4" cellspacing="3" cellpadding="10">

<tr><td bgcolor="fff">одна ячейка </td></tr></table>

<table border="4" cellspacing="20" cellpadding="10">

<tr><td bgcolor="fff">одна ячейка</td></tr></table>

<table border="4" cellspacing="40" cellpadding="10">

<tr><td bgcolor="fff">одна ячейка</td></tr></table>

</body></html>

В заключение хотелось бы привести листинг таблицы, которую наши студенты шутя назвали «ТАБЛЕТКА» (листинг 8.35).

 

Рис. 8.35. Пример вложенных таблиц

Листинг 8.35. Пример вложенных таблиц

<html><head><title> Текст в таблицах</title></head>

<body><table border="1" bordercolor="black" width="30%" align="center">

<caption>ТАБЛИЦА</caption> <br /><br /><br />

<tr><td colspan="8" bgcolor="aquamarine"> &nbsp;</td></tr>

<tr><td rowspan="6" bgcolor="burlywood"> &nbsp;</td>

<td colspan="6" bgcolor="aquamarine">&nbsp;</td><td rowspan="6" bgcolor="burlywood"> &nbsp;</td></tr>

<tr><td rowspan="4" bgcolor="burlywood"> &nbsp;</td><td colspan="4" bgcolor="aquamarine">&nbsp;</td><td rowspan="4" bgcolor="burlywood"> &nbsp;</td></tr>

<tr><td rowspan="2" bgcolor="burlywood"> &nbsp;</td><td colspan="1" bgcolor=red>&nbsp;</td><td colspan=1 bgcolor=blue>&nbsp;<td rowspan=2 bgcolor="burlywood"> &nbsp;</td></tr>

<tr><td bgcolor="green">&nbsp;</td><td bgcolor="yellow">&nbsp;</td></tr>

<tr><td colspan="4" bgcolor="aquamarine">&nbsp;</tr>

<tr><td colspan="6" bgcolor="aquamarine">&nbsp; </td></tr>

<tr><td colspan="8" bgcolor="aquamarine">&nbsp; </td></tr>

</table></body></html>

Подведем итоги

В этом уроке было рассказано о создании таблиц. Элемент <tr> определяет строку таблицы, элемент <col> — столбец таблицы, элемент <td> — ячейку таблицы, элемент <th> — заголовок таблицы, элемент<caption> — подпись таблицы. Все эти теги должны располагаться внутри элементов <table> и </table>.

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

Урок 9. Формы

Формы представляют собой важные элементы HTML-страниц, позволяющие разработчикам страниц интерактивно взаимодействовать с посетителями. С их помощью пользователь может посылать комментарии по поводу посещения определенного узла, пересылать запросы, регистрироваться. Разработчик задает вопросы, создавая форму, а пользователь отвечает на них, заполняя ее. Форма создается при помощи различных элементов и атрибутов, заключенных в элемент <form>. В этом уроке рассматриваются методы создания форм.

Создание форм

Формы предназначены для ввода информации. Все формы начинаются тегом <form> (от англ. form — форма) и завершаются тегом </form>. У формы могут быть атрибуты name, action, method, target.

• Атрибут name. Определяет имя формы и обычно не указывается. Применяется для идентификации формы, если в документе присутствует несколько форм.

• Атрибут action. Обязательный атрибут action задает URL-адрес программы, которая будет вызываться для обработки формы.

• Атрибут method. Определяет способ отправки параметров формы. Принимает значение get или post. В настоящее время использование метода get не рекомендуется.

• Атрибут target. Определяет окно, в которое возвращается результат обработки отправленной формы. Возможные значения self, parent, top, blank или явно указанное имя окна.

Пример элементарной формы показан на рис. 9.1 (листинг 9.1). Имеющиеся на форме поля ввода задаются элементами <input>. Атрибут size регулирует длину поля ввода.

 

Рис. 9.1. Веб-страница, содержащая элементарную форму

Листинг 9.1. Пример создания веб-страницы, содержащей элементарную форму

<html>

<head> <title> ФОРМЫ</title> </head>

<body> <form>

<center><h3>МОЯ ПЕРВАЯ ФОРМА</h3>

ПЕРВОЕ ПОЛЕ<input name="Первое Поле"size="40" /><br />

<input name="ВТОРОЕ ПОЛЕ"size="60" />ВТОРОЕ ПОЛЕ <br />

</center> </form> </body>

</html>

Создать форму легко, но трудно красиво выстроить все элементы. Эта проблема не имеет простого решения. Можно разместить поля ввода и раскрывающиеся списки в левой части страницы, а весь сопроводительный текст — справа. Поскольку длина полей ввода задается атрибутом size, можно выровнять строки по левому краю, а текст справа оставить не выровненным, как в большинстве документов. Такая форма выглядит аккуратнее. Пример такой формы показан на рис. 9.2 (листинг 9.2).

 

Рис. 9.2. Форма с выровненными элементами

Листинг 9.2. Пример создания формы с выровненными элементами

<html>

<head> <title> ФОРМЫ</title> </head>

<body> <form>

<center><h2>КАКАЯ ФОРМА ВЫГЛЯДИТ ЛУЧШЕ?</h2>

<table><tr><td>

ПЕРВЫЙ <input name="ПЕРВЫЙ"size="20" /><br />

ПОСЛЕДНИЙ<input name="ПОСЛЕДНИЙ"size="20"><br>

АДРЕС<input name="АДРЕС"size="20" /><br />

ГОРОД<input name="ГОРОД"size="20" /><br />

ОБЛАСТЬ<input name="ОБЛАСТЬ"size="20" /><br />

РАЙОН<input name="РАЙОН"size="20" /><br /></td>

<td><h3>ИЛИ</h3></td>

<td>

<input name="ПЕРВЫЙ"size="20" /> ПЕРВЫЙ<br)>

<input name="ПОСЛЕДНИЙ"size="20" /> ПОСЛЕДНИЙ<br/>

<input name="АДРЕС"size="20" /> АДРЕС<br />

<input name="ГОРОД"size="20" /> ГОРОД<br />

<input name="ОБЛАСТЬ"size="20" /> ОБЛАСТЬ<br />

<input name="РАЙОН"size="20" /> РАЙОН</td>

</tr></table></form></center>

</body></html>

Размещение на форме элементов управления

Для создания полей ввода, с которыми мы познакомились в предыдущем разделе, и других элементов управления используется элемент <input> (от англ. input — ввод). Элемент имеет атрибуты name, size, checked, maxlength, src, type.

• Атрибут name. Определяет имя поля ввода. Данное имя используется как уникальный идентификатор поля, по которому впоследствии можно получить данные, введенные пользователем в это поле.

• Атрибут size. Определяет размер поля ввода в символах.

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

• Атрибут maxlength. Определяет количество символов, которое пользователи могут ввести в поле ввода. При превышении этого количества браузер отреагирует на попытку ввода нового символа звуковым сигналом и не даст его ввести. Не следует путать этот атрибут с атрибутом size, который определяет количество видимых в поле символов. Если количество введенных символов окажется больше чем size, в поле появится возможность прокрутки. По умолчанию значение maxlength равно бесконечности.

• Атрибут src. Задает URL-адрес, указывающий на изображение (используется совместно с атрибутом image).

• Атрибут type. Определяет тип элемента управления. По умолчанию это однострочное поле ввода. Все остальные типы должны быть явно указаны.

• Значение checkbox превращает поле ввода во флажок, который используется для передачи в вызываемую программу простых логических значений (on или off ), заданных пользователем.

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

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

• Значение password внешне не меняет поле ввода, но вводимое пользователем значение не отображается браузером на экране.

• Значение radio превращает поле ввода в переключатель, который позволяет выбрать одно значение из нескольких, задаваемых переключателями с разными значениями атрибута value, но с одинаковыми значениями атрибута name. В вызываемую программу будет передано значение name=value, причем value примет значение установленного переключателя. При установке одного переключателя все остальные автоматически сбрасываются.

• Значение reset превращает поле ввода в кнопку, при щелчке на которой все элементы управления формы примут значения, заданные для них по умолчанию.

• Значение submit превращает поле ввода в кнопку, при щелчке на которой будет вызвана ассоциированная с формой программа или произойдет переход по заданному URL-адресу.

• Значение text описывает однострочное поле ввода. Используйте атрибуты maxlength и size для определения максимальной длины вводимого значения в символах и размера поля ввода (по умолчанию 20 символов).

• Атрибут value. Позволяет присвоить элементу управления значение по умолчанию или значение, которое будет присвоено атрибуту name при установке соответствующего переключателя (для типа переключателя данный атрибут обязателен).

Пример формы с переключателями (type=radio) показан на рис. 9.3 (лис­тинг 9.3).

 

Рис. 9.3. Форма с переключателями

Листинг 9.3. Пример создания формы с переключателями

<html>

<head><title>ПРИМЕР ФОРМЫ С ПЕРЕКЛЮЧАТЕЛЯМИ</title></head>

<body>

<input type="radio" name="modem" value="9600" checked /> 9600 бит/с <br />

<input type="radio" name="modem" value="14400" checked /> 14400 бит/с <br />

<input type="radio" name="modem" value="28800" checked /> 28800 бит/с <br />

<input type="radio" name="modem" value="56600" checked /> 56600 бит/с <br />

</body>

</html>

В листинге 9.4 представлен пример создания формы, содержащей кнопку отправки данных (type=submit). Сама форма показана на рис. 9.4.

 

Рис. 9.4. Форма с кнопкой отправки

Листинг 9.4. Пример создания формы с кнопкой отправки

<html>

<head> <title>АТРИБУТ submit</title> </head>

<body>

<form action="www.piter.ru" method="post">

<input size="40" name="text" value="Значение по умолчанию" /> 

<input type="submit" value="Отправка запроса" value="Опубликовать"/> </form>

</body></html>

В отличие от переключателей в группе флажков (type=checkbox) с одинаковыми именами может быть установлено сколько угодно флажков. В листинге 9.5 приведен пример создания формы с флажками, причем, как показано на рис. 9.5, при открытии формы второй и третий флажки оказываются установленными, поскольку для них указан атрибут checked.

 

Рис. 9.5. Форма с флажками

Листинг 9.5. Пример создания формы с флажками

<html>

<head><title>ФЛАЖКИ</title></head>

<body bgcolor="#dc143c">

<form method="post" action ="www.piter.ru">

<input type="text" name="text"

value="Значение по умолчанию" size="40" />

<input type="submit" value="Опубликовать" /> <br />

<input type="checkbox" name="comp" value="www" /> Всемирная паутина <br />

<input type="checkbox" name="comp" value="http"checked />

Hyper Text Transfer Protocol <br />

<input type="checkbox" name="comp" value="html"checked />

Hyper Text Markup Language </form>

</body></html>

В листинге 9.6 приведен пример создания формы с полем для ввода пароля (type=password). При вводе информации в такое поле она отображается в виде звездочек (рис. 9.6).

 

Рис. 9.6. Форма с полем для ввода пароля

Листинг 9.6. Пример создания формы с полем для ввода пароля

<html>

<head><title>Ввод пароля </title></head>

<body>

<form method="post" action ="www.piter.ru">

<input type="password" name="text" value="Введите значение" size="40" maxlegth="40"/><br/></form>

</body></html>

Списки выбора

Для создания списков на форме, позволяющих выбрать одно или несколько значений из множества возможных, используется элемент <select>. По умолчанию в поле списка отображается его первый элемент.

Список создается с помощью элемента <option>. В листинге 9.7 представлен пример использования элемента <select> (рис. 9.7).

 

Рис. 9.7. Веб-страница с раскрытым списком выбора

Листинг 9.7. Пример создания веб-страницы, содержащей список выбора 

<html>

<head><title>ФОРМЫ</title></head>

<body>

<h1 align="left">Устройства ввода-вывода компьютера</h1>

<form>

<select name="group">

<option> Клавиатура </option>

<option> Мышь </option>

<option> Монитор </option>

<option> Принтер </option>

<option> Гибкий магнитный диск </option>

<option> Cd-диск </option>

<option> Dvd-диск </option>

<option> Синхронизатор с карманным ПК </option></select>

</form></body></html>

Список выбора, создаваемый элементом <select>, не обязательно является однострочным. Количество одновременно видимых на экране элементов списка задается атрибутом size. Если количество элементов списка превышает значение, указанное в атрибуте size, справа появляется полоса прокрутки. Чтобы в списке одновременно можно было выбрать несколько элементов (с помощью клавиши Shift или Ctrl), применяется атрибут multiple, который задает максимальное количество одновременно выбранных элементов. Пример использования элемента <select> с атрибутами size и multiple показан на рис. 9.8 (лис­тинг 9.8).

 

Рис. 9.8. Многострочный список на форме

Листинг 9.8. Пример создания многострочного списка

<html>

<head><title> Элемент select, атрибут multiple </title></head>

<body>

<form>

<select name="group" size="4" multiple="2">

<option> Запись на формный цилиндр </option>

<option> Запись на форму </option>

<option> Запись на фотоформу </option>

<option> Печатная машина </option>

<option> Прямая запись </option>

</select></form></body></html>

В элементе <option> обязательно надо указывать атрибут value. Только в этом случае программа, ассоциированная с формой, сможет определить, какой элемент списка выбран. Соответствующий пример показан на рис. 9.9 (лис­тинг 9.9).

 

Рис. 9.9. Список, в котором используется атрибут value

Листинг 9.9. Пример создания списка, в котором используется атрибут value

<html>

<head><title> select.htm </title></head>

<body>

<form>

Форматы графических файлов:

<select name="GIF - Graphics Interchange Format">

<option selected value="Graphics Interchange Format"> GIF - Graphics Interchange Format</option>

<option value="JPEG"> JPEG - Joint Photographic Expert Group</option>

<option value="PNG">PNG - Portable Network Graphic </option>

<option value="BMP">BMP - Bit Map - битовая карта </option>

</select> </form>

</body> </html>

Многострочные текстовые поля

Для создания на форме многострочных текстовых полей, позволяющих пользователю вводить большие объемы информации, служит элемент <textarea>. Этот элемент имеет атрибуты name, rows, cols.

• Атрибут name. Задает имя поля ввода.

• Атрибут rows. Задает высоту поля ввода в символах.

• Атрибут cols. Задает ширину поля ввода в символах.

Для того чтобы в поле ввода по умолчанию при открытии формы выводился какой-либо текст, его необходимо вставить между элементами <textarea> и </textarea>.

Пример использования элемента <textarea> показан на рис. 9.10 (лис­тинг 9.10).

 

Рис. 9.10. Форма с многострочным текстовым полем

Листинг 9.10. Пример создания формы с многострочным текстовым полем

<html><head><title>Элемент textarea </title></head>

<body><form>

<textarea name="Глоссарий" rows="10" cols="50">

URL 

Uniform Resource Locator - унифицированный указатель ресурса

Стандартный способ адресации файлов в WWW

EPS

Encapsulated PostScript

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

</textarea>

</form></body></html>

Подведем итоги

В этом уроке было рассказано, как создавать формы, позволяющие разработчикам интерактивно взаимодействовать с посетителями своих страниц. Такое взаимодействие реализуется с помощью элементов управления, таких как однострочные и многострочные поля ввода, флажки, переключатели, кнопки, раскрывающиеся и прокручивающиеся списки. Для создания форм используется элемент <form>, для создания элементов управления — элемент <input>, для создания списков — элемент <select>, для создания многострочных полей ввода — элемент <textarea>.

Урок 10. Внешние объекты

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

Элемент object

Для включения в состав документа внешнего объекта используется элемент <object>. Внешним объектом может быть Java-апплет, изображение или внешнее приложение. Данный элемент появился в HTML 4.0. Он может располагаться в разделе <head>, но не забывайте, что в этот раздел можно помещать только те объекты, которые не требуют отображения.

Элемент <object> имеет как общие, так и собственные атрибуты id, declare, classid, codebase, content-length, data, type, codetype, arhive, standby, height, widht, usemap, name, tabindex, align, border, hspace и vspace.

Пример внедрения в документ звукового файла приведен в листинге 10.1.

Листинг 10.1. Пример внешнего объекта со звуковым файлом

<html>

<head><title>Звуковой файл</title></head>

<body background=ffffff>

<object src="http://www.example.com/file.mp3">

    <em>Внешним объектом является звуковой файл</em>

</object></body></html>

Рассмотрим пример, в котором стилевое оформление объекта задается в заголовке (листинг 10.2).

Листинг 10.2. Пример стилевого оформления объекта

<html>

<head><title> Стилевое оформление объекта </title>

<style type="text/css">

#obj1 {width:150px; height:150px;}

</style></head>

<body background=ffffff>

<object id="obj1"

  xml:base="http://www.example.com/applets/classes"

  srctype="application/x-java-applet"

  src="Clock.class">

    <param  name="delay"   value="100"/>

    <param  name="link"    value="http://www.example.com/"/>

    <param  name="border"  value="5"/>

    <param  name="nradius" value="80"/>

    <param  name="cfont"   value="TimesRoman|BOLD|18"/>

    <param  name="bgcolor" value="ddddff"/>

    <param  name="shcolor" value="ff0000"/>

    <param  name="mhcolor" value="00ff00"/>

    <param  name="hhcolor" value="0000ff"/>

    <param  name="ccolor"  value="dddddd"/>

    <param  name="ncolor"  value="000000"/>

    <em>Альтернативный текст</em>

</object>

</body></html>

Элемент param

Элемент <object> является контейнером, то есть элементом, который содержит другие элементы. Элемент <param> используется внутри элемента <object> для последовательного описания всех свойств объекта. Элемент <param> имеет атрибуты name, value, valuetype, type.

Параметры объекта записываются в элементе <param>. Пример внедрения в документ этого элемента показан на рис. 10.1 (листинг 10.3).

Листинг 10.3. Пример использования Java-апплета

<html>

<head><title>Просматриваемая страница использует Java</title></head>

<body background="abcdef">

<applet

  codebase="http://www.example.com/applets/classes"

  code="Clock.class" width="150" height="150">

    <param name="bgcolor" value="ffffff"/>

    <param name="border" value="5"/>

    <param name="ccolor" value="dddddd"/>

    <param name="cfont" value="TimesRoman|BOLD|18"/>

    <param name="delay" value="100"/>

    <param name="hhcolor" value="0000ff"/>

    <param name="link" value="http://www.example.com/"/>

    <param name="mhcolor" value="00ff00"/>

    <param name="ncolor" value="000000"/>

    <param name="nradius" value="80"/>

    <param name="shcolor" value="ff0000"/>

</applet></body></html>

 

Рис. 10.1. Пример использования Java-апплета

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

Программа Macromedia Flash

Macromedia Inc. — одна из крупнейших фирм-производителей программ, связанных с созданием веб-страниц. Компания была основана в 1992 году в Сан-Франциско, а в апреле 2005 была приобретена компанией Adobe Systems за 3,4 миллиарда долларов. Поэтому, как только вы наберете адрес https://www.macromedia.com, автоматически откроется страница http://www.adobe.com/.

Adobe Flash (ранее Macromedia Flash), или просто Flash (по-русски часто пишут флеш или флэш) — мультимедийная платформа компании Adobe для создания веб-приложений или мультимедийных презентаций. Широко используется для создания рекламных баннеров, анимации, игр, а также воспроизведения на веб-страницах видео- и аудиозаписей.

Adobe Flash позволяет работать с векторной, растровой и трeхмерной (в ограниченном виде) графикой, а также поддерживает двунаправленную потоковую трансляцию аудио и видео. Стандартным расширением для скомпилированных flash-файлов (анимации, игр и интерактивных приложений) является формат swf (Shockwave Flash или Small Web Format). Файлы данного формата имеют расширение swf и создаются в пакете Adobe Flash.

Далее приведен пример внедрения flash-объекта (рис. 10.2, листинг 10.4). Использованный в примере файл f5_3.swf был взят из пакета Flash 5.0.

 

Рис. 10.2. Пример вставки объекта flash

Листинг 10.4. Пример вставки объекта flash

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=koi8-r" />

<title>Объект flash</title>

</head>

<body bgcolor="#ffcecf">

<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="550" height="400" id="f5_3" align="middle">

<param name="allowScriptAccess" value="sameDomain" />

<param name="movie" value="f5_3.swf" /><param name="quality" value="high" /><param name="wmode" value="transparent" /><param name="bgcolor" value="#ffffff" /><embed src="f5_3.swf" quality="high" wmode="transparent" bgcolor="#ffffff" width="550" height="400" name="f5_3" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />

</object></body></html>

На рисунке пингвины статичны, а на веб-странице они открывают и закрывают глаза, так как на странице внедрен flash-ролик.

Подведем итоги

В этом уроке было рассказано об элементах, управляющих внешними объектами, такими как Java-апплеты, звук, видео, flash-ролики и пр.

Урок 11. Технологии JavaScript

JavaScript — один из популярных скриптовых языков, используемых в Интернете. Он был разработан фирмой Netscape в сотрудничестве с Sun Microsystems и является диалектом языка Java. Программы, созданные на этом языке, работают на многих браузерах, таких как Internet Explorer, Firefox, Chrome, Opera и Safari.

JavaScript был разработан для работы с HTML (и XHTML) и создания более динамичных и интерактивных страниц. Коды JavaScript (сценарий), представляющие собой последовательность операторов, обычно непосредственно встраивают в HTML-страницы. JavaScript является языком-интерпретатором (то есть скрипты выполняются без предварительной компиляции).

Если вы хотите больше узнать про JavaScript, обратитесь к сайту http://jquery.com, посвященному jQuery, — библиотеке JavaScript. Дополнительную информацию по языку JavaScript можно получить на сайтах http://script.aculo.us, http://javascript.about.com/library и http://www.w3schools.com/js.

Основными элементами языка JavaScript являются:

• ключевые слова, синтаксис и грамматика;

• правила для выражений, переменных и литералов;

• основополагающие объекты.

Объектами могут быть окна, кнопки, меню и другие элементы, например файлы, наборы данных. На стороне клиента элементы JavaScript, встроенные в HTML-страницу, могут предоставлять пользователю такие события, как реакция на щелчок мыши, формы ввода и навигацию по странице.

При написании сценариев используется объектная модель рис. 11.1.

В этой иерархии объекты-«потомки» являются свойствами объектов. Например, форма под названием form1 является объектом и в то же время свойством document — document.form1.

 

Рис. 11.1. Иерархия объектов

Каждая веб-страница состоит из следующих объектов:

• window — верхний уровень объекта; имеет свойства, которые определяют полное окно;

• navigator — информация о самом браузере; имеет свойства имени пользователя, используемой версии браузера, типа процессора, возможности использования cookie и т. д.;

• document — документ, находящийся в окне браузера; имеет свойства, основанные на содержании и структуре документа (заголовок, цвет фона, связи и формы);

• location — информация о текущем URL;

• history — информация о свойствах, посещавшихся до настоящего момента сайтах и порядке их посещения.

Объект window представляет собой объект верхнего уровня иерархии объектной модели со стороны клиента. Он содержит дочерние объекты document, history и location.

Вставка скрипта в тело документа

Для создания кода на JavaScript нет необходимости в среде разработки.

Для вставки скриптов в документ используется элемент <script>. Элемент <script> обозначает начало и конец блока, содержащего команды скрипта. Он имеет атрибут type, указывающий название языка, на котором написан скрипт (по умолчанию им считается JavaScript). Пример программы с внедренным в элемент <body> скриптом на языке JavaScript показан на рис. 11.2 (лис­тинг 11.2). Заметим, что в коде может присутствовать несколько элементов <script>.

 

Рис. 11.2. Пример внедрения скрипта в HTML-документ

Листинг 11.2. Пример внедрения скрипта в тело HTML-документа

<html><head><title>Первая Веб-страница c JavaScript</title></head>

<body>

<h3>Моя первая веб-страница c JavaScript</h3>

<script type="text/javascript">

document.write("<p>" + Date() + "</p>");

// Это короткий комментарий

</script>

Скрипт внедрен в элемент body

</body>

</html>

В этом примере была использована одна из наиболее важных команд языка JavaScript — document.write(). Команда document.write() применяется для создания надписи в текущем документе. Кроме того, в этом примере был использован объект Date, позволяющий работать как со временем, так и с датой. На рисунке видно, что название месяца и дня недели, к сожалению, написано не на русском, а на английском языке.

Комментарии в JavaScript позволяют сделать код более понятным. Простая строка комментария начинается с //. Многострочный комментарий начинается с /* и заканчивается */.

Вставка скрипта в заголовок документа

В данном разделе приведен пример внедрения скрипта в заголовок документа. Обычно скрипт, содержащий функции, расположен в элементе <head> веб-документа, а сами функции вызываются внутри элемента <body>. Функции — логически независимые части программы — являются основным элементом языка JavaScript. Пример использования функции с параметрами приведен на рис. 11.3 (листинг 11.3).

Листинг 11.3. Пример использования функции с параметрами

<html><head><title>Первая функция</title>

     <script type="text/javascript">

       function product(a,b)

       {

        return a*b;

       }

    /* В этом примере показано действие многострочного комментария

    и работа функции, вычисляющей произведение чисел */

    </script></head>

    <body> 

          <h4>Функция произведения чисел</h4>

             14 х 6 = 

         <script type="text/javascript">

             document.write(product(14,6));

  </script></body></html>

 

Рис. 11.3. Пример использования функции с параметрами

Этот пример не только демонстрирует работу функции function product(a,b), вычисляющей произведение чисел, но и использование многострочного комментария.

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

Листинг 11.4. Пример использования внешнего файла JavaScript

<html><head><title>Первая функция</title>

    <script type="text/javascript" src="first.js"></script>

     </head><body></body></html>

События

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

Пример программы, использующей обработчик события, приведен на рис. 11.4 (листинг 11.5).

Листинг 11.5. Пример программы с обработчиком события

<html> <head><title>Обработка событий</title>

   <script type="text/javascript">

    function displayDate()

    {

    document.getElementById("demo").innerHTML=Date();

    }

   </script></head>

   <body>

       <h5>Обработка событий </h5>

          <p id="demo"></p>

           <button type="button" onclick="displayDate()">

           Отображение даты</button>

   </body></html>

В этом скрипте описана функция function displayDate(), содержащая метод getElementById, который возвращает указатель на объект, имеющий идентификатор demo.

 

Рис. 11.4. Пример программы с обработчиком события

При нажатии кнопки, генерируемой элементом <button>, на экран выводится дата. Нажатие кнопки или щелчок кнопкой мыши представляет собой событие click, произведенное пользователем. Имя параметра обработки события начинается с приставки on, за которой следует название самого события, то есть параметр обработки события click будет выглядеть как onclick.

Математический объект Math

В языке JavaScript определены некоторые объекты и функции, которыми можно пользоваться без предварительного описания. Одним из таких объектов является объект Math. Пример использования объекта Math показан на рис. 11.5 (листинг 11.6).

 

Рис. 11.5. Пример программы с объектом Math

Листинг 11.6. Пример программы с объектом Math

<html>

  <head>

   <title> Объект Math</title>

    <script>

      function f1(){alert("Math.E="+Math.E)};

      function f2(){alert("Math.LN10="+Math.LN10)}

      function f3(){alert("Math.LN2="+Math.LN2)}

      function f4(){alert("Math.LOG10E="+Math.LOG10E)}

      function f5(){alert("Math.LOG2E="+Math.LOG2E)}

      function f6(){alert("Math.Pi="+Math.PI)}

      function f7(){alert("Math.SQRT1_2="+Math.SQRT1_2)}

      function f8(){alert("Math.SQRT2="+Math.SQRT2)}

    </script>

    </head>

    <body bgcolor=#ccfafa text=#838383 onclick="zz.style.top=50">

    <div style="position:absolute;top:30;left:20;" id="zz"

      onclick="f1();f2();f3();f4();f5();f6();f7();f8();">Щелкните по

      этой надписи - получите окно сообщение со значением

       стандартной функции</div></body></html>

В этом скрипте кроме функций, содержащих объект Math, появляется окно сообщения alert.

При каждом щелчке на надписи Щелкните по этой надписи - получите окно сообщение со значением стандартной функции будет появляться новое окно.

Условный оператор

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

• if <высказывания>;

• if...else <высказывания>;

• if...else if...else <высказывания>;

• switch <высказывания>.

Логическая команда if проверяет, чем заканчивается сравнение. Если результат выполнения команды if равен true, то будет выполняться одна последовательность операций, если результат равен false, то будет выполняться другая последовательность операций.

Пример использования условного оператора можно увидеть на рис. 11.6 (лис­тинг 11.7).

 

Рис. 11.6. Пример с условным оператором

Листинг 11.7. Пример использования условного оператора

<html><head><title>Условный оператор</title></head>

<body>

<script type="text/javascript">

var r=Math.random();

if (r>0.5)

{

document.write("Датчик случайных чисел");

}

else

{

document.write("Пример программы с объектом Math");

}

</script>

</body>

</html>

В данном примере использован объект Math.random, являющийся датчиком случайных чисел. Если он вырабатывает случайное число, большее 0,5, то на экране появляется надпись Датчик случайных чисел, если случайное число меньше или равно 0,5, то на экран выводится надпись Пример программы с объектом Math.

Оператор цикла

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

В JavaScript есть два разных типов цикла:

• for используется при известном количестве повторений;

• while используется тогда, когда количество повторов зависит от некоторых условий.

Пример использования оператора цикла показан на рис. 11.7 (листинг 11.8).

 

Рис. 11.7. Пример с оператором цикла

Листинг 11.8. Пример использования оператора цикла

<html><head><title>Оператор цикла </title></head>

<body>

<script type="text/javascript">

for (i = 1; i <= 6; i++)

{

document.write("<h" + i + ">Это заголовок " + i);

document.write("</h" + i + ">");

}

</script>

</body>

</html>

В данном примере тексты заголовков и их стиль генерируются в цикле. На рисунке показано только два заголовка, остальные можно увидеть, если воспользоваться полосой прокрутки. Оператор ++ увеличивает переменную i на единицу, пока выполняется условие i <= 6.

Оператор выбора

Оператор switch удобно использовать для выбора данных. Пример использования оператора switch показан на рис. 11.8 (листинг 11.9).

 

Рис. 11.8. Пример с оператором выбора

Листинг 11.9. Пример использования оператора выбора

<html><head><title>Оператор case</title>

   <script type="text/javascript">

   // Считаем, что Понедельник = 1, 

   // Вторник = 2, Среда = 3 и т. д.

     var d=new Date();

     var theDay=d.getDay();

     switch (theDay)

     {

     case 5:

       document.write("Веселая пятница");

       break;

     case 6:

       document.write("Выходной день - суббота");

       break;

     case 0:

       document.write("Выходной день - воскресенье");

       break;

     default:

       document.write("Дни недели");

     }

   </script></head>

   <body></body></html>

В данном примере использована функция new Date(), позволяющая работать с датами. Обратите внимание, что дни недели пронумерованы от 0 до 6, и начинается неделя с воскресенья, то есть порядковый номер воскресенья — 0.

Изображения

Изображения являются украшением любой веб-страницы. Язык JavaScript позволяет реализовывать интересные визуальные эффекты, создавать галереи изображений. Только не забывайте, что веб-страница и файлы изображений должны находиться в одной папке. Иногда браузеры не отображают иллюстрации, а вместо них помещают квадрат с красным крестиком. В чем дело? Дело в том, что прежде чем размещать изображение на странице, необходимо внимательно изучить его размеры, разрешение, формат. Если, например, фотография сделана цифровым фотоаппаратом, она имеет слишком большие размены и высокое разрешение, например 180 пикселов на дюйм. В этом случае необходимо уменьшить не только размеры, но и разрешение до «экранных» значений — 72 пиксела на дюйм (или даже 45 пикселов на дюйм).

Перестановка изображений

Разместите на веб-странице два изображения. Щелчок кнопкой мыши на изображении должен поменять иллюстрации местами. В данном примере обработчиком события click является атрибут onClick="change_picture ()" элемента img, который вызывает функцию перестановки изображений. Пример перестановки изображений показан на рис. 11.9 (листинг 11.10).

Листинг 11.10. Пример перестановки изображений

<html><head>

<title>Перестановка изображений</title>

   <script type="text/javascript">

<script language="JavaScript">

<!-- //

     function change_picture ()

     { var d=document

       var n=d.p1.src

       d.p1.src=d.p2.src

       d.p2.src=n

     }

//-->

  </script></head>

  <body >

  <h3>Перестановка изображений</h3>

  <img src="1.jpg" name="p1" width="300"

     onClick="change_picture ()" />

  <img src="2.jpg" name="p2" width="500"

     onClick="change_picture ()" />

   </body></html>

 

Рис. 11.9. Перестановка изображений

Функция перестановки изображений change_picture () вводит дополнительную переменную n, в которой сохраняется информация об источнике первого изображения. Затем на место первого изображения перемещается второе, а на его место попадает информация из переменной n (сохраненные сведения о первом изображении).

Увеличение изображения

Разместите на веб-странице иллюстрацию. При щелчке кнопкой мыши на изображении оно должно увеличивать свой размер. В данном примере обработчиком события click является атрибут onClick="big_picture()" элемента img, который вызывает функцию увеличения размеров изображения. Пример увеличения размеров изображения показан на рис. 11.10 (лис­тинг 11.11).

 

Рис. 11.10. Пример увеличения изображения

Листинг 11.11. Пример увеличения изображения

<html><head><title>Увеличение изображения</title>

  <script language="JavaScript">

   <!--//

    function big_picture()

     { var d=document

       var w=d.picture.width

      if (w<800)

       {

       d.picture.width=w+500

       d.picture.src="1.jpg"

       }

      else

       {

       d.picture.width=w-500

       d.picture.src="1.jpg"

       }

     }

   //-->

  </script></head>

  <body> <h4>Увеличение изображения при щелчке по нему</h5>

      <img src="5.jpg" name="picture" width="200"

       onClick="big_picture()" /></body></html>

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

Показ изображений

Разместите на веб-странице несколько небольших изображений, они образуют картинную галерею. Просмотр изображений реализуется с помощью метода setTimeout, который создает таймер, однократно запускающий функцию просмотра изображения в течение заданного промежутка времени. Пример показа изображений приведен на рис. 11.11 (листинг 11.12).

 

Рис. 11.11. Пример показа изображений

Листинг 11.12. Показ изображений

<html><head>

    <title>Просмотр изображений с помощью метода setTimeout</title>

     <script language="JavaScript">

     <!-- //

        var k=1

        function ref ()

         {k=6}

        function pictures ()

       { var d= document

         if (k<=4)

          {if (k==1)

            {d.pict.src="1.jpg"; k++}

            else

             if (k==2)

              {d.pict.src="2.jpg"; k++}

              else

               if (k==3)

                {d.pict.src="3.jpg"; k++}

                else

                 if (k==4)

                  {d.pict.src="4.jpg"; k++}

                  else

                   if (k==5)

                     {d.pict.src="5.jpg"; k=1}

         setTimeout("pictures ()", 3000)

         }

        }

     //-->

     </script></head><body>

      <p>Просмотр рисунков</p>

<img src="1.jpg"  width="100" />

<img src="2.jpg"  width="100" />

<img src="3.jpg"  width="100" />

<img src="4.jpg"  width="100" />

<img src="5.jpg" width="100" />

<img src="1.jpg" name="pict" width="400" />

      <form name="form1"onLoad="pictures ()">

         <input type="reset" value="Остановить" onClik="ref ()" />

          <input type="button" value="Начать снова"

            onClick="k=1; pictures ()" />

      </form></body></html>

В данном примере метод setTimeout("pictures ()", 3000) каждые 3000 мс вызывает функцию pictures (). Функция pictures () показывает следующее изображение, увеличивая его размер. В примере присутствуют кнопки, позволяющие начать или прекратить просмотр.

Создание окон

Создание новых окон — одна из удивительнейших возможностей языка Java­Script. В новое окно можно загружать новые веб-страницы (документы html) либо (динамически) создавать новые материалы.

В JavaScript создание окон реализуется с помощью метода openWin ().

Пример создания нового окна, содержащего изображение, показан на рис. 11.12 (листинг 11.13). Новое окно не имеет ни строки статуса, ни панели инструментов, ни меню. При открытии нового окна происходит затемнение окна первоначального документа по заданному значению document.bgColor = 'black'.

 

Рис. 11.12. Пример нового окна, содержащего изображение

Листинг 11.13. Пример нового окна, содержащего изображение

<html><head><title>Новое окно, содержащее изображение </title>

     <script language="JavaScript">

          <!-- hide

          function openWin()

         {

          myWin= open("1.png"),

          "width=400,height=400,status=no,toolbar=no,menubar=no";

         }

           // -->

          </script></head>

    <body><form>

            <input type="button" value="Открыть новое окно";

            onClick="openWin(); document.bgColor = 'black'">

          </form></body></html>

Обратите внимание, что свойства окна задаются строкой "width=400,height=400,status=no,toolbar=no,menubar=no", которая не должна содержать пробелов.

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

Подведем итоги

В этом уроке было рассказано о JavaScript — языке разработки HTML-сценариев, являющемся диалектом языка Java. Это достаточно сложный и богатый язык, описанию которого посвящены целые книги. В этом уроке было показано, как вставить сценарий в документ, что такое события и обработчики событий, объекты, математический объект Math.

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

Урок 12. Технологии XML и DHTML

Языки XML, XHTML, DHTML появились одновременно и в качестве альтернативы HTML, несомненно, имеют право на существование. Их достоинства и недостатки можно долго обсуждать. В данной главе приведем основные сведения об этих языках, а более подробную информацию можно найти на сайте http://www.w3schools.com.

Технология XML

XML (EXtensible Markup Language, расширенный язык разметки) — текстовый формат, предназначенный для хранения структурированных данных и обмена данными между разными системами обработки информации. Он представляет собой набор общих синтаксических правил.

Наиболее важные черты XML:

• XML — язык гипертекстовой разметки, ориентированный на описание структурированных данных;

• XML позволяет использовать не только предопределенные теги, но и вводить свои собственные теги;

• XML не зависит от платформы.

XML является разработкой корпорации W3C (спецификация языка была утверждена 10 февраля 1998 года).

Если наш читатель листает страницы этой книги и мечтает создать веб-страницу на языке HTML, то мы просто уверены в том, что следующим его желанием будет создание веб-страницы на языке PHP (PHP: Hypertext Preprocessor) с использованием AJAX (Asynchronous JavaScript And XML). AJAX — это не новый язык программирования, а новая технология для создания лучшего, удобного и более интерактивного веб-приложения. Сразу становится ясным, что следует разобраться и в том, что такое XML.

Когда в 1986 году появился язык SGML (Standard Generalized Markup Language — стандартный обобщенный язык разметки), то веб-страницы со­здавались на этом гибком, комплексном и всеохватывающем мета-языке. Но его сложность и, как следствие, дороговизна привели к тому, что потребовался более простой язык создания веб-страниц, которым успешно стал язык HTML. Однако со временем посчитали, что HTML слишком прост, и это стало его главным недостатком. Ограниченность количества тегов и полное безразличие к структуре документа побудили разработчиков в лице консорциума W3C к созданию такого языка разметки, который был бы не столь сложен, как SGML, и не настолько примитивен, как HTML. В результате на свет появился язык XML, сочетающий в себе простоту HTML, логику разметки SGML и удовлетворяющий требованиям Интернета.

Однако не забудьте, что для создания документов на языке XML следует найти и использовать специальную программу — редактор XML. Может ее можно найти у ваших друзей или «скачать из Интернета».

Пример использования XML, приведенный в листинге 12.1 (показан на рис. 12.1), является обращением ПРЕПОДАВАТЕЛЯ к СТУДЕНТАМ.

 

Рис. 12.1. Веб-страница на языке XML

Листинг 12.1. Пример создания веб-страницы на языке XML

<?xml version="1.0" encoding="UTF-8"?>

<note>

<to>ПРЕПОДАВАТЕЛЬ</to>

<from>СТУДЕНТАМ</from>

<heading>ЖИЗНЕННАЯ ПОЗИЦИЯ</heading>

<body>УЧЕНЬЕ – СВЕТ, А НЕУЧЕНЬЕ - ТЬМА!</body>

</note>

В этом примере такие элементы, как <note>, <heading>, <to> и <from>, не являются стандартными XML-элементами, а придуманы авторами XML-документа.

Если код программы на языке HTML создается в обыкновенной программе (например, в Блокноте), то код программы на языке XML создается в специальном XML-редакторе, который предварительно следует инсталлировать. Существует достаточно много бесплатных XML-редакторов, их можно легко найти в Интернете. В настоящее время технология XML является достаточно модной и многие программисты ее используют.

Технология DHTML

Dynamic HTML — усовершенствованная версия HTML, которая поддерживает объектную модель документа (Document Object Model). Наряду с возможностями форматирования DHTML поддерживает условную логику и динамическое выполнение. В листинге 12.2 приведен пример DHTML-документа, в котором нажатие на кнопку управляет отображением/скрытием текста (показан на рис. 12.2).

а

 

б

Рис. 12.2. Управление отображением текста: а — исходный документ; б — со скрытым текстом

Листинг 12.2. Пример веб-страницы, управляющей отображением текста

<html> 

<head><title>УПРАВЛЕНИЕ Отображением Текста</title></head>

   <body><p id="p1">DYNAMIC HTML — УСОВЕРШЕНСТВОВАННАЯ ВЕРСИЯ HTML, 

        КОТОРАЯ ПОДДЕРЖИВАЕТ ОБЪЕКТНУЮ МОДЕЛЬ ДОКУМЕНТА 

       (DOCUMENT OBJECT MODEL)</p>

   <input type="button" value="СКРЫТЬ ТЕКСТ" 

       onclick="document.getElementById('p1').style.visibility='hidden'" />

   <input type="button" value="ОТОБРАЗИТЬ ТЕКСТ" 

       onclick="document.getElementById('p1').style.visibility='visible'" />

   </body></html>

В листинге 12.3 приведен пример DHTML-документа, в котором изменяется содержание текста при наведении на него курсора мыши. На рис. 12.3 приведен первоначальный документ (а), его вид после наведения курсора мыши на надпись (б) и после того как курсор покинул надпись — (в).

Листинг 12.3. Пример изменения текста при наведении на него курсора

<html>

<head><script type="text/javascript">

function nameon()

{

document.getElementById('h2text').innerHTML="ТОЧКА ЕСТЬ ТО, ЧТО НЕ ИМЕЕТ ЧАСТЕЙ";

}

function nameout()

{

document.getElementById('h2text').innerHTML="ЛИНИЯ ЕСТЬ ДЛИНА БЕЗ ШИРИНЫ";

}

</script></head>

<body>

<h2 id="h2text" onmouseout="nameout()"

onmouseover="nameon()">

НАВЕДИТЕ КУРСОР НА ЭТОТ ТЕКСТ!!!</h2>

</body></html>

В листинге 12.4 приведен пример DHTML-документа, содержащего движущийся текст, раздвигающий границы документа (показан на рис. 12.4). В этом примере текст движется очень интересно. Слово «АКСИОМА» движется вправо, а слово «ЛЕММА» движется вниз.

 

a

 

б

в

Рис. 12.3. Управление отображением текста: а — исходный документ; б — вид после наведения курсора мыши на надпись; в — и после того как курсор покинул надпись

 

Рис. 12.4. Пример движущегося текста

Листинг 12.4. Пример движущегося текста

<html><head>

<script type="text/javascript">

var i=1

function starttimer()

{

document.getElementById('h_one').style.position="relative";

document.getElementById('h_one').style.left=+i;

document.getElementById('h_two').style.position="relative";

document.getElementById('h_two').style.top=+i;

i++;

timer=setTimeout("starttimer()",10);

}

function stoptimer()

{

clearTimeout(timer);

}

</script></head>

<body onload="starttimer()" onunload="stoptimer()">

<h1 id="h_one">АКСИОМА</h1>

<h1 id="h_two">ЛЕММА</h1>

</body></html>

В листинге 12.5 приведен пример DHTML-документа (рис. 12.5), в котором при движении курсора мыши по экрану будет перемещаться рисунок (файл рисунка, например БЕЛКА.jpg, должен находиться в этой же папке, что и документ веб-страницы).

 

Рис. 12.5. Пример передвижения рисунка вместе с курсором

Листинг 12.5. Пример движущейся за курсором картинки

<html><head>

<script type="text/javascript">

function cursor(event)

{

document.getElementById('trail').style.visibility="visible";

document.getElementById('trail').style.position="absolute";

document.getElementById('trail').style.left=event.clientX+10;

document.getElementById('trail').style.top=event.clientY;

}

</script></head>

<body onmousemove="cursor(event)">

<h1>ПЕРЕДВИГАЙТЕ КУРСОР ПО СТРАНИЦЕ</h1>

<img id="trail" style="visibility:hidden" src="БЕЛКА.jpg" width="300" height="300">

</body></html>

В листинге 12.6 приведен пример DHTML-документа, в котором нажатие на кнопку управляет дрожанием окна Windows. Исходный документ показан на рис. 12.6. Дрожание окна трудно отразить на рисунке, поэтому поверьте на слово, создайте страницу и посмотрите сами.

 

Рис. 12.6. Управление дрожанием окна WINDOWS

Листинг 12.6. Пример управления дрожанием окна WINDOWS

<html><head>

<script>

function startEQ()

{

richter=5;

parent.moveBy(0,richter);

parent.moveBy(0,-richter);

parent.moveBy(richter,0);

parent.moveBy(-richter,0);

timer=setTimeout("startEQ()",10);

}

function stopEQ()

{

clearTimeout(timer);

}

</script></head>

<body><form>

<input type="button" onclick="startEQ()" value="НАЧАТЬ ДРОЖАНИЕ"><br />

<br /><input type="button" onclick="stopEQ()" value="ОСТАНОВИТЬ ДРОЖАНИЕ">

</form></body></html>

В листинге 12.7 приведен пример DHTML-документа, в котором появление/исчезновение текста управляется двойным щелчком клавиши мыши при наведении курсора на надпись (показан на рис. 12.7).

 

Рис. 12.7. Появление надписи при двойном щелчке клавиши мыши

Листинг 12.7. Появление надписи при двойном щелчке клавиши мыши 

<html><head>

<script type="text/javascript">

function gettip(txt)

{

document.getElementById('tip').innerHTML='Организация W3Schools является разработчиком стандартов для World Wide Web';

}

</script></head>

<body>

<p>ДВАЖДЫ ЩЕЛКНИТЕ ПО НАДПИСИ "W3Schools.com"</p>

<table>

<tr>

<th ondblclick="gettip()" valign="top">W3Schools.com</th>

<th id="tip"> </th>

</tr>

</table></body></html>

Подведем итоги

В этом уроке были приведены начальные сведения о создании веб-страниц на языках XML и DHTML.

Урок 13. Баннерная реклама

В 1855 году в Лондоне вышла книга Томаса Смита, в которой он очень интересно писал про рекламу: «В первый раз человек смотрит на рекламное сообщение и не видит его. Во второй раз он не замечает его. В третий раз он осознает его присутствие. В четвертый раз он с трудом припоминает, что где-то это уже видел. В пятый раз он читает рекламное сообщение. В шестой раз он выхватывает его взглядом из массы других сообщений. В седьмой раз он перечитывает его и говорит: „О Господи!“ В восьмой раз он произносит: „Ну вот, опять эта проклятая вещь!“ В девятый раз он задумывается, что это за вещь? В десятый раз он подумывает расспросить соседа, не случалось ли ему покупать этой вещи. В одиннадцатый раз он поражается, каким образом эта вещь может приносить рекламодателю прибыль. В двенадцатый раз он приходит к выводу, что, вероятно, эта вещь чего-нибудь да стоит. В тринадцатый раз он заключает, что эта вещь может определенно ему понадобиться. В четырнадцатый раз он припоминает, что всю жизнь мечтал об этой вещи. В пятнадцатый раз он сокрушается, что не может себе позволить купить эту вещь. В шестнадцатый раз он говорит себе: „Придет время — и я обязательно куплю эту вещь“. В семнадцатый раз он вносит в свои планы покупку этой вещи. В восемнадцатый раз он клянет свою нищету. В девятнадцатый раз он тщательно пересчитывает деньги. В двадцатый раз он вновь видит рекламное объявление — и покупает эту вещь (или заставляет купить ее свою супругу)».

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

Определение баннера

Баннер (от англ. banner — знамя, флаг) — небольшой рекламный модуль стандартного размера (468 × 60, 88 × 31 и т. д.), который обычно помещается сверху или внизу веб-страницы. Баннер может быть текстовым, графическим или интерактивным, содержать анимацию. Как правило, баннер представляет собой ссылку на сервер рекламодателя, рекламирующего тот или иной ресурс Интернета.

Обычно изображение для баннера имеет формат GIF или JPG, хотя встречаются баннеры других форматов, созданные с помощью технологий Java, ShockWave и т. д.

В настоящее время не существует официально принятых стандартов на размер баннеров, хотя наиболее распространенным является размер 468 × 60 пикселов.

Первой вехой в стандартизации размеров баннеров стали рекомендации, предложенные организацией Internet Advertising Bureau совместно с CASIE (The Coalition for Advertising Supported Information & Entertainment):

• 468 × 60 — полный горизонтальный баннер (16,51 × 2,12 см);

• 460 × 55 — полный горизонтальный баннер (16,2 × 1,94 см);

• 234 × 60 — половинный баннер (8,26 × 2,12 см);

• 125 × 125 — квадратный баннер (4,41 × 4,41 см);

• 120 × 90 — кнопка (4,23 × 3,18 см);

• 120 × 60 — кнопка (4,23 × 2,12 см);

• 88 × 31 — микрокнопка (3,1 × 2,12 см);

• 120 × 240 — вертикальный баннер (4,23 × 8,47 см).

Размеры в сантиметрах указаны для монитора, имеющего разрешение 72 пиксела на дюйм.

Так как необходимо, чтобы баннер загружался на страницу как можно быстрее, существует ограничение на размер баннера в килобайтах. Так, для баннера 468 × 60 максимальный размер обычно составляет 10–15 Кбайт.

Эффективность баннеров

Одной из самых важных характеристик баннера является отношение числа щелчков мышью на баннере к числу его показов. Так, если баннер был показан на какой-либо странице 1000 раз, а щелкнули на нем и, соответственно, с его помощью перешли на сайт рекламодателя 50 раз, то эффективность (его отклик) такого баннера равна 5%. По статистике средний отклик баннеров в WWW составляет 2,11%.

На сайте www.promo.ru в энциклопедии интернет-рекламы Тимофей Бокарев приводит рекомендации по созданию баннеров.

• Волшебная фраза «Click Here». Самый простой способ увеличить количество щелчков на вашем баннере — попросить об этом пользователя. По статистике баннеры, содержащие слова типа «click here», «жми сюда», «visit now», «enter» и т. д., имеют отклик на 30% больше, чем без оных. Хорошей идеей является размещение на баннере псевдокнопки или полосы прокрутки.

• Ничто человеческое пользователю сети не чуждо. Следует сделать баннер загадочным, заинтриговать пользователя: Что они этим хотели сказать? Куда ведет сей баннер?

• Размер баннера. Баннеры большего размера имеют значительно больший отклик, чем баннеры меньшего размера. Хотя, разумеется, часто за размещение на веб-странице баннера большего размера приходится больше платить.

• Использование анимации. Движение, характерное для анимированных баннеров, всегда приковывает взгляд. По статистике отклик у таких баннеров на 25% выше, чем у их статичных баннеров.

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

• Цвет. Для баннера следует использовать яркие цвета — они привлекают к себе взгляд пользователя — и подобрать оптимальное цветовое сочетание.

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

• Положение на странице. Помимо дизайна баннера на его отклик имеет сильное влияние положение на странице.

Как уже отмечалось, средний отклик баннера в Интернете составляет примерно 2%. Возникает ощущение, что только 2% показов баннера идут на пользу рекламодателя (приводят посетителей на его веб-сайт), а остальные 98% тратятся впустую. Это совершенно не так! Каждый показ баннера приносит рекламодателю ощутимую пользу, являясь прекрасным инструментом продвижения торговой марки компании, ее товаров/услуг, ее веб-сайта.

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

Ниже приведены некоторые результаты исследований, которые показывают отношение пользователей Интернета к рекламе в сети (по данным сайта http://www.iab.net/):

• 18% горячо поддерживают;

• 41% одобряют;

• 34% не возражают;

• 6% против;

• 1% крайне не одобряют.

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

Примеры баннеров

Хотя в начале этого урока были приведены размеры стандартных банеров, на современных сайтах появляются модули нестандартных размеров, причем наблюдается тенденция к увеличению размеров баннеров. На рис. 13.1 показан баннер размером 600 × 125 пикселов, что при разрешении 72 пиксела на дюйм составляет 21,17 × 4,41 см (листинг 13.1).

 

Рис. 13.1. Баннер размером 600 × 125 пикселов

Листинг 13.1. Пример создания баннера размером 600 × 125 пикселов

<html><head><title>БАННЕР ШКОЛЫ</title></head>

<body><center><img src="school.gif"/></center></body></html>

В последнее время очень модными стали вертикальные баннеры, один из которых показан на рис. 13.2 (листинг 13.2). Этот баннер имеет размеры 240 × 400 пик­селов, что составляет 8,47 × 14,11 см при разрешении 72 пиксела на дюйм. Иногда высота вертикального баннера увеличивается еще больше, и чтобы его просмотреть, требуется полоса прокрутки.

 

Рис. 13.2. Вертикальный баннер размером 240 × 400 пикселов

Листинг 13.2. Пример создания вертикального баннера

<html><head><title>ВЕРТИКАЛЬНЫЙ БАННЕР</title></head>

<body>

<center><img src="banner_240x400.gif" /></center></body></html>

Одними из самых распространенных считаются баннеры размером 468 × 60 пик­селов, что составляет 14,11 × 2,12 см при разрешении 72 пиксела на дюйм. Пример показан на рис. 13.3 (листинг 13.3).

Листинг 13.3. Пример создания баннера размером 468 × 60 пикселов

<html><head><title>БАННЕР</title></head>

<body><center><img src="banner13.3.gif" /></center></body></html>

 

Рис. 13.3. Баннер размером 468 × 60 пикселов

Иногда на страницу помещают баннер в виде кнопки размером 88 × 31 пикселов, что составляет 3,1 × 1,09 см при разрешении 72 пиксела на дюйм. Пример показан на рис. 13.4 (листинг 13.4).

 

Рис. 13.4. Баннер в виде кнопки

Листинг 13.4. Пример создания баннера в виде кнопки

<html><head><title>БАННЕР В ВИДЕ КНОПКИ</title></head>

<body><center><img src="banner13.4.gif /" ></center> </body></html>

Баннер размером 234 × 60 пикселов, что составляет 8,26 × 2,12 см при разрешении 72 пиксела на дюйм, показан на рис. 13.5 (листинг 13.5).

 

Рис. 13.5. Баннер размером 234 × 60 пикселов

Листинг 13.5. Пример создания баннера размером 234 × 60 пикселов

<html><head><title>БАННЕР</title></head>

<body>

<center><img src="banner13.5.gif" /></center></body></html>

Баннер размером 474 × 161 пикселов, что составляет 16,72 × 5,68 см при разрешении 72 пиксела на дюйм, показан на рис. 13.6 (листинг 13.6).

 

Рис. 13.6. Баннер размером 474 × 161 пикселов

Листинг 13.6. Пример создания баннера размером 474 × 161 пикселов

<html><head><title>БАННЕР</title></head>

<body>

<center><img src="banner13.6.gif" /></center></body></html>

Подведем итоги

В этом уроке было рассказано, что такое баннер и баннерная реклама. Рассмотрены вопросы эффективности баннерной рекламы. Приведены многочисленные примеры баннеров.

Урок 14. Публикация и поиск документов

В этом уроке рассматриваются вопросы размещения материалов в Интернете, что подразумевает выполнение двух этапов:

• подготовку веб-сайта;

• публикацию веб-сайта.

Публикация веб-сайта осуществляется сохранением его страниц на доступном дисковом пространстве специальных веб-сайтов, которые называются хостами (от англ. host — хозяин), а сама эта услуга — хостингом.

Хостинг — услуга по предоставлению вычислительных мощностей для физического размещения информации на сервере, постоянно находящемся в сети (обычно Интернет). По условиям предоставления хостинг часто разделяется на платный и бесплатный. Обычно компания, предоставляющая бесплатный хостинг, зарабатывает путем показа рекламы на страницах, размещенных на нем. Одним из важных критериев выбора хостинга является используемая операционная система, поскольку от этого зависит программное обеспечение, которое будет поддерживать функциональность тех или иных сервисов. Важным аспектом описания хостинга является наличие тех или иных служб и возможностей (Perl, PHP, ASP, Ruby, баз данных и др.).

Наиболее известными хостингами являются www.narod.ru, www.domishko.ru, www.gudzon.net, www.echo-host.com. Список провайдеров бесплатного хостинга размещается по адресу http://www.besthostings.ru/freehosting/search.php.

Так, на сайте http://www.vanta.ru/hosting/host3.php перечислены сайты, в том числе русскоязычные, англоязычные, немецкоязычные, бесплатно предлагающие услуги веб-хостинга: www.agava.ru, www.boom.ru, www.by.ru, www.chat.ru, www.hoha.ru, www.holm.ru, www.hut.ru, www.km.ru, www.narod.ru, www.newmail.ru, www.russianzone.ru.

Подготовка и публикация веб-сайта

Сайт (от англ. site — участок) — это ресурс Интернета, один из разделов сервера, полностью посвященный какой-либо одной теме. В отличие от сервера для обслуживания сайта, как правило, не выделяется отдельная серверная программа, а все сайты, расположенные на сервере, обслуживаются одной такой программой. Сайт является частью сервера, хотя большинство сайтов имеют собственное доменное имя. Сайты могут включать в себя подразделы, но тем не менее все подразделы должны быть подчинены общей идее, единому стилю исполнения. Сайт — самостоятельная логическая единица, состоящая из комплекса связанных между собой по смыслу текстовых документов и графических иллюстраций.

В качестве примера можно создать и опубликовать сайт с помощью ресурса Народ.Ру, расположенного по адресу http://www.narod.yandex.ru (рис. 14.1).

 

Рис. 14.1. Главная страница сайта Народ.Ру

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

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

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

Поиск информации в Интернете

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

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

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

Существуют три основных способа поиска информации в Интернете: по тематическим ссылкам, по URL-адресам и с помощью поисковых машин. Проще всего искать информацию по тематическим ссылкам — достаточно щелкать мышью на предлагаемых ссылках, последовательно сужая круг поиска, например: Покупки\Спортивные товары\Тренажеры и т. д. Другие виды поиска (по URL-адресам и поиск с помощью поисковых машин) несколько сложнее.

Поиск информации по URL-адресам

Чтобы искать информацию по URL-адресам, нужно иметь представление о доменной системе имен. В соответствие с этой системой адреса компьютеров делятся на части — так называемые домены (от англ. domain — область), причем символы последней части URL-адреса представляют собой тематические или географические домены. Ниже перечислены некоторые наиболее известные домены подобного рода (домены верхнего уровня).

Тематические домены:

• com — корпорации;

• edu — учебные заведения;

• gov — невоенные правительственные учреждения;

• mil — военные учреждения;

• net — сетевые организации;.

• org — прочие организации;

• int — международные организации;

• firm, biz — бизнес;

• store — виртуальные магазины;

• web — веб-организации;

• arts — организации культуры;

• rec — организации развлечений;

• info — организации, предоставляющие информацию;

• nom — индивидуальные пользователи;

• arpa — исторически возникший домен верхнего уровня, соответствующий сети ARPANET (предшественнице Интернета).

Географические домены:

• at — Австрия (Austria);

• an — Австралия (Australia);

• be — Бельгия (Belgium);

• bg — Болгария (Bolgaria);

• cа — Канада (Canada);

• ch — Швейцария (Switzerland);

• cy — Кипр (Cypr);

• de — Германия (Germany);

• es — Испания (Espania);

• fi — Финляндия (Finland);

• gr — Греция (Greece);

• it — Италия (Italy);

• jp — Япония ( Japan);

• hl — Голландия (Holland);

• no — Норвегия (Norway);

• pl — Польша (Poland);

• ru, su, rf — Россия (Russia);

• se — Швеция (Sweden);

• tr — Турция (Turkey);

• uk — Великобритания (United Kingdom);

• us — США (United State).

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

• Для поиска корпоративных сайтов к названию фирмы, предприятия, организации нужно добавить домен .com, а впереди подставить символы, определяющие, как вы уже знаете, метод доступа (www). Вписав полученные символы в адресную строку браузера, вы наверняка получите адрес нужной веб-страницы, например:

www.adobe.com — адрес компании Adobe, известного производителя графических приложений;

www.microsoft.com — адрес корпорации Microsoft;

www.europages.com — справочник на английском, французском, немецком, испанском и итальянском языках по более чем по 150 тыс. компаниям, расположенным во всех странах Европы;

www.intellimatch.com — бесплатный банк данных резюме, предлагающий услуги как работодателям, так и тем, кто хочет найти работу в США.

• Для поиска российских серверов к названию фирмы, предприятия, организации следует добавить домен .ru, а впереди подставить символы www, например:

www.students.ru — сервер российского студенчества;

www.translate.ru — электронный переводчик текстов:

www.ntv.ru — телекомпания НТВ;

www.hermitage.ru — сервер Эрмитажа;

www.resume.ru — база данных вакансий и резюме.

• При поиске сайтов крупных учебных заведений к названию американского или английского университета прибавляется домен .edu, например: www.oxford.edu — сайт Оксфордского университета.

• В каждой стране есть свой региональный сервер, например:

www.russia.net, www.ru.net — Россия;

www.usa.net — США;

www.uk.net — Великобритания.

Популярные адреса

Сетевой проект ВКОНТАКТЕ.РУ (http://vkontakte.ru) появился летом 2006 го­ду, тем не и получил широкое распространение в основном среди молодежи. В настоящее время он является универсальным средством поиска знакомых. Это самый посещаемый сайт в России и на Украине.

Аналогичным сайтом является www.odnoklassniki.ru (Одноклассники.ru), который поможет вам найти старых друзей и узнать, чем и как они живут сейчас.

Каждый житель страны, несомненно, имеет желание заглянуть на сайт президента и воспользуется адресом www.kremlin.ru. На этом сайте много страниц, и он предоставляет различные возможности (видео- и аудио-сюжеты, терминологический глоссарий и др.). Например, можно написать электронное письмо президенту, отправить его, и президент его обязательно получит. Можно обратиться к блогу. Что такое блог?

Блог — это публичный электронный дневник в Интернете с комментариями. Обычный дневник мало кому показывают. Блог открыт для чтения, более того, читатели могут оставлять к записям свои комментарии.

Широкую популярность получил сайт http://twitter.com, представляющий собой систему микроблогов, которые позволяют отправлять короткие текстовые заметки пользователям ресурса (до 140 символов), используя веб-интерфейс, смс или другие программы-клиенты. Название сайта происходит от англ. «tweet» — «щебетать, болтать». С 2009 года компания стала приносить доход, а с апреля 2010 года начала размещать на своем сайте рекламу.

Чтобы попасть в интернет-сообщество твиттеристов, необходимо зарегистрироваться (создать аккаунт) на сайте и выбрать для себя уникальное имя.

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

Поисковые системы

Поисковых систем, которые еще называют поисковыми программами, поисковыми серверами или поисковыми машинами, в Интернете множество, в том числе русскоязычных.

Чтобы вызвать поисковую систему, необходимо ввести ее адрес в адресную строку браузера. Таких систем множество, вот адреса некоторых наиболее известных: http://www.google.com, http://www.rambler.ru, http://www.yahoo.com, http://www.bing.com, http://www.aport.ru, http://www.yndex.ru, http://www.list.ru, http://www.lycos.com, http://www.altavista.com, http://www.go.com, http://www.excite.com, http://www.nigma.com, http://www.hotbol.com.

Кроме того, вы можете воспользоваться http://www.altervista.ru, http://asknet.ru, http://www.askforkids.com, http://www.gogo.ru, http://ithaki.net, http://www.vebalta.ru, http://weblist.ru, http://www.43n39e.ru, http://vivo.ru.

После загрузки поисковой системы в поле поиска следует ввести запрос (искомую строку текста) на любом языке (русском, английском и др.) и щелкнуть на кнопке поиска.

В результате выполнения запроса появляется список адресов веб-страниц, содержащий документы, в которых встречаются введенные в запросе слова. В этом списке указываются веб-адреса страниц, их названия, фамилии авторов, краткие описания. Выбрав нужный адрес, можно перейти к найденному документу. Обычно в результате поиска предлагается множество документов (иногда тысячи), которые сгруппированы постранично. Чтобы проще было ориентироваться в таком количестве документов, поисковая система обычно сортирует их — первыми предлагаются те страницы, которые, по мнению поисковой системы, точнее удовлетворяют запросу.

Основу любой поисковой системы составляет сетевой робот, называемый также пауком (spider), червем (worm) или ползуном (crawler). Поисковая система рассылает в сеть таких пауков, пытаясь, по возможности, просмотреть максимальное количество веб-страниц, и сохраняет их адреса и содержимое в своей базе данных. После того как пользователь вводит запрос и щелкает на кнопке поиска, поисковая система просматривает свою базу данных и выводит на экран результат поиска.

Если есть запись электронного адреса ресурса (URL) http://www.google.ru/history/gagarin1961.htm, то:

• history/gagarin1961.htm — относительный сетевой путь, на котором располагается указанный файл.

http://www. google.ru/history/gagarin1961.htm — полный универсальный локатор ресурса, на котором находится запрашиваемый файл.

http:// — сетевой протокол, по которому идет запрос данных. В данном случае гипертекстовый протокол передачи данных.

www.google.ru — адрес сервера.

Взаимодействие в сети

В IP-сетях иногда встречаются проблемы, связанные с адресацией, поэтому иногда проверяют конфигурацию адресов. Командами, позволяющими протестировать сетевой комплекс, являются команды telnet, ping, trace, show ip route и show interfaces. Так, например, если проверить связь с сайтом электронной почты www.mail.ru, необходимо в командной строке написать команду трассировки trace:

C:\>trace www.mail.ru

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

Подведем итоги

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

Урок 15. Еще раз с начала

В этом уроке рассматриваются элементы, которые находятся в самом начале веб-страницы, а именно элементы <!doctype>, <link> и <meta>.

Элемент !doctype

Первым элементом созданной начинающим пользователем компьютера веб-страницы является элемент <html>. Но стоит сохранить веб-страницу под новым именем, в ее начале сразу появляется новая строка, начинающаяся с элемента <!doctype>. Он должен быть первым элементом в документе и впервые появился в HTML 2.0

Элемент <!doctype> предоставляет сведения об используемой версии языка HTML, которые размещаются в первой строке документа в форме SGML-объявления.

Теоретически элемент <!doctype> должен помочь веб-серверу выбрать способ обработки документа, информируя его о том, какие дескрипторы могут находиться на странице. Он предоставляет для браузера основную информацию. Синтаксис:

<!DOCTYPE HTML элемент_верхнего_уровня уровень_доступа "Признак_регистрации//организация//тип_объекта//метка//Код_языка""URI">

Для большинства современных сайтов первая строчка выглядит следующим образом:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

Ниже перечислены параметры элемента <!doctype>.

• html — объявляет, что для создания документа используется язык HTML.

• PUBLIC — указывает на использование общепринятой версии языка.

• "-//W3C//DTD XHTML 1.0 Transitional//EN" — показывает используемую версию языка (XHTML 1.0), признак регистрации, который указывает на то, зарегистрирована (+) или нет (–) организация в ISO. Консорциум W3C (World Wide Web Consortium) в ISO не зарегистрирован, поэтому нужно указывать знак – (минус). В качестве организации указывается организация, ответственная за создание и поддержку DTD. За поддержку определения типа HTML-документа отвечает консорциум W3C, поэтом используется значение W3C. В случае языка HTML в качестве типа объекта используется значение DTD. Код языка — двухбуквенное обозначение, принятое в ISO. Например, код английского языка — EN.

http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd — адрес URL-доку­мен­та, содержащего стандарты для элементов и атрибутов соответствующей версии языка.

Общая схема документа с элементом <!doctype> выглядит следующим образом:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html><head><title>ЗАГОЛОВОК ДОКУМЕНТА</title></head>

<body>"Тело" документа, содержащее теги, которые позволяют управлять информацией, выводимой на экран </body></html>

Элемент meta

Кроме обычных элементов существуют еще и так называемые meta-элементы. Они не отображаются браузером, но могут содержать дополнительную служебную информацию, значимую для обработки страницы и поисковых систем (например, ключевое слово, указание на авторство, описание).

Как и элемент <!doctype>, meta-информация может появляться автоматически после первого сохранения страницы под новым именем. Она располагается между тегами <head> и </head>:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html><head><title>ЗАГОЛОВОК ДОКУМЕНТА</title>

<meta http-equiv=content-type content="text/html; charset=windows-1251" />

<meta content="mshtml 6.00.2600.0" name="generator" /></head>

<body>"Тело" документа, содержащее элементы, которые позволяют управлять информацией, выводимой на экран </body></html>

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

<meta name="имя_meta-тега" content="содержание_meta-тега" />

Еще один вариант:

<meta http-equiv="имя_meta-тега" content="содержание_meta-тега" />

Атрибутами элемента <meta> являются: property (например, автор, дата, ключевые слова и т. д.), edit, title, cite, name, http-equiv.

Примеры атрибутов элемента meta

Ниже представлены примеры элемента <meta> с разными атрибутами. В последнее время вместо атрибута name рекомендуется использовать атрибут property.

• Атрибут property позволяет задать имя автора:

         <meta property="dc:creator">Елена Яковлева</meta>

• Атрибут property может получить свойств, используя URI:

    <meta property="dc:identifier">

      http://www.rfc-editor.org/rfc/rfc3236.txt </meta>

• Атрибутами property и name можно задать ключевые слова:

    <meta property="keywords" 

        xml:lang="en-us">HTML, html, JavaScript</meta>

    <meta name="keywords" content="Ключевые слова" />

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

    <meta name="keywords" content="HTML html JavaScript

    javascript css CSS VBScript vbscript VRML vrml php

    PHP Perl perl теги атрибуты листинг браузер" />;

• Атрибут name позволяет указать:

• имя автора документа, адрес его электронной почты, домашний адрес и другие данные:

        <meta name="author" content="Информация_об_авторе" />

• название программы, с использованием которой создан документ:

        <meta name="generator" content="Название_программы" />

• время «устаревания» документа (то есть срок годности):

        <meta name = "expires" content = "Дата" />

• адрес электронной почты:

        <meta name="Reply-to" content="Имя@Адрес" />

• описание авторских прав на документ:

        <meta name="Copyrigh" content="Авторские_права" />

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

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

Атрибуту name можно присвоить значение "Robots":

<meta name="Robots" content="noindex,follow" />

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

Атрибут http-equiv

Ниже представлены примеры элемента <meta> с атрибутом http-equiv.

• Переход на определенный адрес через указанный промежуток времени.

    <meta http-equiv="Refresh" content="0";

    URL=http://www.piter-press.ru" />

В данном случае сразу после загрузки страницы браузер перейдет на адрес http://www.piter-press.ru.

• MIME-тип содержимого и его кодировка:

    <meta http-equiv="Content-Type" content="text/html;

    charset=windows-1251" />

В данном случае в качестве MIME-типа указано значение text/html, то есть гипертекст, а в качестве кодировки — значение windows-1251. Вообще говоря, явно указывать кодировку не рекомендуется. Браузеры и сами неплохо справляются с ее выбором.

• Время «устаревания» документа (срок годности):

    <meta http-equiv="expires" content="Mon, 2 Nov 2012

     10:00:00 GMT" />

Срок годности указывается в формате RFC-850 (стандарт электронной почты):

• Mon — день недели;

• 2 Nov — день месяца и месяц;

• 2012 — год;

• 10:00:00 — время (часы, минуты и секунды);

• GMT — временной пояс (в данном случае время указано московское).

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

Связь страницы с другими файлами

Связь текущей страницы с другими файлами задается элементом <link>. Основное применение — обращение к описанным в отдельном файле стилям. Элемент <link> вставляется между тегами <head>:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html lang=en><head><title>Css units</title>

<meta http-equiv=content-type content="text/html; charset=windows-1251" />

<link rev=made href="mailto:liam@htmlhelp.com" />

<link href="./" rel="start" />

<link href="properties.html" rel="up" />

<link href="/glossary/glossary.html" rel="glossary" />

<link href="/copyright.html" rel="copyright" />

<link href="css units1.files/style.css" type=text/css rel="stylesheet" />

<link media=aural href="css units1.files/aural.css" type=text/css rel="stylesheet" />

<meta content="john pozadzides/liam quinn" name="author" />

<meta content="a description of the units available in cascading style sheets, level 1." name="description" />

<meta content="html authoring, web page design, help, frequently asked questions, internet help, site creation, page creation, site design, site layout, page layout, html, hypertext markup language, hyper text markup language, url, uniform resource locator, rgb, answer" name="keywords" />

<meta http-equiv=content-style-type content="text/css" />

<meta content="mshtml 6.00.2600.0" name="generator" /></head>

<body text="#000000" vlink="#800080" alink="#000080" link="#0000ff" bgcolor="#ffffff">

<h2><img height="83" alt="the web design group" 

src="css units1.files/wdglogo1.gif" width="250" /></h2>

<body></body><html>

Элемент <link> имеет обязательные атрибуты: href (целевой адрес), type (тип данных) и либо rel (отношение целевого документа, заданного атрибутом href, к текущей странице), либо rev (обратное отношение).

Что такое Shadowbox

В настоящее время многие галереи фотографий используют всплывающие окна, в которых показывается полноформатное изображение. Для создания эффекта плавного появления изображения используется динамическое изменение прозрачности. Существуют десятки популярных скриптов для отображения контента во всплывающих окнах. Один из них — это достаточно удобный скрипт Shadowbox.js , который можно скачать на официальном сайте: http://www.shadowbox-js.com.Он является универсальным скриптом просмотра медиа-контента в сети Интернет. Shadowbox — это программное обеспечение, разработанное для работы с фотографиями.

Для корректной работы тестовых примеров в каждом случае нужно подключить файлы shadowbox.js и shadowbox.css. Для этого в элементе <head> достаточно написать.

<link rel="stylesheet" type="text/css"

 href="shadowbox-build-3.0rc1/shadowbox.css" />

<script type="text/javascript" src="

shadowbox-build-3.0rc1/shadowbox.js"></script>

Плеер Shadowbox.js создается как Javascript, оформление находится в файле shadowbox.css, а в коде главной страницы задаются управляющие настройки типа задержки и т. д.

Shadowbox.init({

        counterType: "skip",

        slideshowDelay: 5,

        continuous: true,

        onFinish: function () { $('#sb-body-inner img').bind("mousedown",function(e){ return false; });  }

});

Параметр задержки slideshowDelay описан в основной странице в начале (Вид\ Просмотр исходной страницы, или Просмотр HTML кода).

Кнопка закрытия фотографий close зашита прямо в код:

        //   <a href="#" id="bottomNavClose" />

        //   <img src="images/close.gif" />

Ранее, большой популярностью пользовался красивый, удобный, гибкий и быстрый скрипт lightbox.js, который вместе со стилевым файлом lightbox.css, добавлял на сайт визуальный эффект увеличенного изображения в виде окна.

Подведем итоги

В этом уроке было рассказано об элементах, находящихся в самом начале веб-страницы, — <!doctype>, <meta> и <link>.

Урок 16. HTML 5

Язык HTML 5 является совместным продуктом корпорации World Wide Web Consortium (W3C) и рабочей группы Web Hypertext Application Technology Working Group (WHATWG). Рабочая группа WHATWG разрабатывала формы и приложения, корпорация W3C сосредоточила усилия на XHTML 2.0.

Многие идеи HTML 5 были изначально предложены WHATWG в стандарте Web Applications 1.0. HTML 5 включает другой стандарт WHATWG, Web Forms 2.0.

На старых браузерах не все новинки языка HTML 5 будут видны, а в последних версиях Internet Explorer, Chrome, Opera, Safari, Firefox нововведения будут отражены в полном объеме. Страница браузера Internet Explorer 9, использующая новые возможности HTML 5, показана на рис. 16.1.

 

Рис. 16.1. Заставка программы Internet Explorer 9

Пример веб-страницы HTML 5

Когда веб-браузер получает документ, он по элементам определяет, как документ должен быть интерпретирован.

HTML 5 вводит несколько новых элементов и атрибутов. Некоторые из них технически являются эквивалентами <div> и <span>, но имеют свое семантическое значение, например <nav> и <footer>. Эти элементы должны облегчать работу поисковым системам. Другие элементы предоставляют новую функциональность, такие как <audio> и <video>. Новый элемент <section> выводит на экран данные, формируя их в разделы.

Некоторые устаревшие элементы HTML 4, такие как <font> и <center>, были удалены из HTML 5. Пример создания веб-страницы на языке HTML 5 приведен в листинге 16.1.

Листинг 16.1. Пример создания веб-страницы на языке HTML 5

<!DOCTYPE HTML>

  <html>

   <head>

    <title> Пример веб-страницы на языке HTML 5</title>

   </head>

   <body>

    <header>...</header>

    <nav>...</nav>

    <section>

       <article>

          ...

       </article>

    </section>

    <aside>...</aside>

    <footer>...</footer>

  </body>

  </html>

Спецификация <!DOCTYPE> является первым объявлением документа в версии HTML 5, предшествуя элементу <html>. Данный элемент объявляет браузеру о спецификациях используемого HTML, выступая в роли объявления, инструкции браузеру.

Документ, созданный в версии HTML 4.01, требует ссылки на DTD, так как версия языка HTML 4.01 была основана на SGML. HTML 5 основан не на SGML и не требует ссылки на DTD, но использует спецификацию doctype для указания браузеру. Спецификация <!DOCTYPE> пишется прописными буквами и не имеет конечного тега.

Размещение объектов мультимедиа на веб-страницах

Мультимедийные файлы размещаются на веб-страницах с помощью элементов <audio>, <video>, <embed> и <object>.

Элемент <audio> имеет атрибуты autoplay, controls, loop, preload, src.

• Атрибут autoplay. Определяет порядок воспроизведения данных мультимедиа. Если он присутствует, то файл мультимедиа автоматически запускается по окончании загрузки документа.

• Атрибут controls. Позволяет пользователю управлять воспроизведением, например, с помощью кнопки проигрывания.

• Атрибут loop. Указывает на то, что по окончании файл мультимедиа должен снова начать воспроизводиться. Данные мультимедиа могут сначала воспроизводиться от начала до конца как в прямом, так и в обратном направлении.

• Атрибут preload. Контролирует загрузку файла. Принимает значения auto (автоматический), metadata (метаданные) и none (никакой).

• Атрибут src (от англ. source — источник). Определяет месторасположение изображения, включаемого в состав документа. Имеет параметр url, который указывает браузеру, где находится файл.

Мультимедийные файлы имеют расширение ogg vorbis, mp3, wav. Однако будьте внимательны — не все браузеры поддерживают аудио (табл. 16.1).

Таблица 16.1. Поддержка аудиоформатов разными браузерами

Формат

Microsoft Internet Explorer 8

Firefox 3.5

Opera 10.5

Chrome 3.0

Safari 3.0

Ogg Vorbis

Нет

Да

Да

Да

Нет

MP3

Нет

Нет

Нет

Да

Да

Wav

Нет

Да

Да

Нет

Да

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

Листинг 16.2. Документ, содержащий встроенный аудиофайл

<!DOCTYPE HTML>

<html><head> <title> Встроенный аудиофайл </title></head>

<body> <audio src="happy.ogg" controls="controls">

ВАШ БРАУЗЕР НЕ ПОДДЕРЖИВАЕТ АУДИО ЭЛЕМЕНТ</audio></body></html>

Элемент <video> (видео) имеет атрибуты autoplay, controls, loop, preload, src, height, width.

• Атрибут height. Задает высоту окна для отображения видеоданных в пикселах или процентах.

• Атрибут width. Задает ширину окна для отображения видеоданных в пикселах или процентах.

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

Листинг 16.3. Документ, содержащий встроенные видео- и аудиофайлы

<!DOCTYPE HTML>

<html><head><title> Встроенный аудиофайл</title></head>

<body><video src="movie.ogg" controls="controls">

ВАШ БРАУЗЕР НЕ ПОДДЕРЖИВАЕТ ВИДЕОЭЛЕМЕНТЫ </video> </body> </html>

Элемент <embed> используется для размещения мультимедиа, например, посредством кода:

<embed src="helloworld.swf" />

Элемент <embed> имеет атрибуты height, width, src, type.

В листинге 16.4 приведен еще один код программы, запускающей музыку и воспроизводящей видеоклип.

Листинг 16.4. Еще один пример документа, содержащий встроенные мультимедийные файлы

<!DOCTYPE HTML>

<html><body>

      <video width="320" height="240" controls="controls">

      <source src="movie.ogg" type="video/ogg" />

      <source src="movie.mp4" type="video/mp4" />

      ВАШ БРАУЗЕР ПОДДЕРЖИВАЕТ ВИДЕОФАЙЛЫ </video>

      <audio controls="controls">

      <source src="song.ogg" type="audio/ogg" />

      <source src="song.mp3" type="audio/mpeg" />

      ВАШ БРАУЗЕР ПОДДЕРЖИВАЕТ АУДИОФАЙЛЫ </audio></body></html>

Новый элемент <source> определяет источник медиаданных.

Файловые форматы аудио и видео

В анимационной графике используются форматы, предложенные разработчиками анимационных программных пакетов, например в программе Autodesk Animator Pro используются форматы FLI, FLC и ZEL. К анимационным программам для Web можно отнести: Microsoft GIF Animator, Animagic GIF, GIF Construction Set и др.

Расширениями звуковых файлов являются aiff, aif, au, avr, hcom, iff, nsp, sf, smp, snd, sou, voc, wav. Такое многообразие расширений появилось из-за большого количества программ для работы со звуком. Файлы с нотной записью будут иметь расширения amf, cmf, dmf, far, mid, mod, mtm, nst, okt, org, rol, sbi, sng, stm, s3m, ult, wow, xm.

Формат SWF

Векторный формат SWF (Shockwave Flash) был разработан компанией Macromedia, затем права фирмы Macromedia были куплены фирмой Adobe, и файлы формата SWF стали создаваться в программе Adobe Flash. Данный формат в первую очередь предназначен для хранения анимации. Для правильного отображения файлов формата SWF на компьютере пользователя должен быть установлен соответствующий подключаемый модуль.

В настоящее время технология Flash (английское слово «flash» означает вспышка, сверкание) широко применяется для разработки документов с мультимедийным содержанием (анимация и звук). До появления технологии Flash применение мультимедиа в веб-дизайне было ограничено, поскольку растровая графика, звуковые и видеофайлы имеют большой объем и, следовательно, очень медленно загружаются в браузер. В технологии Flash используется векторный формат изображений, а растровые и звуковые файлы сжимаются.

Файлы, созданные с помощью технологии Flash, имеют расширение swf. Они могут содержать изображения в векторном формате, звук, мультфильмы, элементы управления, интерактивные эффекты. Для их просмотра используется проигрыватель Flash Рlауеr — элемент управления АсtiveX, который встроен в последние версии браузеров или его следует инсталлировать на компьютер.

Формат OGG

Формат Ogg Vorbis — открытый формат аудиосжатия, появившийся летом 2002 года. Он предназначен для аудиокомпрессии и относится к тому же типу форматов, что и МР3, AAC, VQF и WMA, то есть к форматам компрессии с потерями. Достоинством формата Ogg Vorbis является его полная открытость и свободность. Формат Ogg Vorbis не ограничивается двумя аудиоканалами (стерео — левый и правый), он поддерживает до 255 отдельных каналов с частотой дискретизации до 192 кГц и разрядностью до 32 бит (чего не позволяет ни один формат сжатия с потерями). Используется для кодирования 6- канального звука DVD-Audio. Данные формата Ogg Vorbis хранятся в файлах с расширением .ogg.

Формат AVI

Формат AVI (Audio Video Interleaved — чередующиеся аудио- и видеоданные) предназначен для записи звука и движущихся изображений и соответствует спецификации RIFF (Resource Interchange File Format — файловый формат обмена ресурсами). Данные формата AVI, которые можно редактировать, экспортировать и сжимать, хранятся в файлах с расширением .avi. Для их воспроизведения необходима специальная программа, которая входит в комплект поставки некоторых браузеров. Если в составе вашего браузера нет такой программы, ее можно загрузить из Интернета.

Формат MOV

Формат MOV, или QuickTime, разработанный фирмой Apple, предназначен для создания, хранения и воспроизведения данных мультимедиа. QuickTime позволяет объединить звук, текст, анимацию и видео в одном файле.

Семейство форматов MPEG

При работе с цифровым видеосигналом возникает необходимость обработки, передачи и хранения очень больших объемов информации. В связи с этим стала актуальной проблема сжатия видеоданных, для решения которой были разработаны эффективные методы и алгоритмы. Группа MPEG (Moving Pictures Experts Group) предложила технологию компактного представления цифровых видео- и аудиосигналов.

Эта группа занимается разработкой стандартов сжатия цифрового видео и звука. Такие форматы, как правило, требуют использования кодеков (кодеров/декодеров). Существует несколько версий кодека MPEG, например: MPEG-1, MPEG-2, MPEG-3, MPEG-4, MPEG-7, MPEG-j.

Формат WAV

Формат WAV (от англ. wave — волна) был создан корпорацией Microsoft и принят в качестве стандарта для звукового сопровождения операционной системы и компьютерных игр. Wav-данные хранятся в файлах с расширением wav. Первоначально этот формат был разработан для PC, а затем стал использоваться и в Macintosh. В wav-файле данные хранятся в несжатом виде, кроме того, в нем содержится информация о числе дорожек (моно или стерео), количестве битов, а также образец.

Формат AIFF

Формат AIFF (Audio Interchange File Format — формат обмена аудиоданными) — популярный формат, применяемый на платформе Macintosh, а также используемый для записи аудиоинформации на компакт-диски. Данные в формате AIFF хранятся в файлах с расширением AIF. В файле формата AIFF хранятся аудиоданные, информация о том, записан звук как стерео или как моно, число битов, образец, а также сведения, применяемые при обработке аудиофайлов.

Формат MP3

Формат MP3 (mpeg-1 Audio Layer-3) позволяет создавать файлы небольшого размера, при воспроизведении которых обеспечивается исходное качество звука.

Потоковое видео

Потоковыми называются данные мультимедиа, передаваемые по сети и воспроизводимые в реальном времени. Информация может быть получена непосредственно от источника данных, например с видеокамеры или с радиостанции, либо храниться на веб-сервере. Потоковое видео — это процесс преобразования видео и аудио в сжатый цифровой формат, а затем распространение данных через компьютерные сети. Видео и аудио может быть постоянно потоковым или доставляться по требованию.

Технология Real Audio/Video — это технология передачи аудио- и видеоинформации, разработанная фирмой Progressive Networks. Для воспроизведения данных необходим дополнительный модуль RealPlayer. Файлы, которые могут обрабатываться модулем RealPlayer, имеют расширения ra, ram, .rm, rmn и rmd.

Технология Windows Media Server предлагает набор цифровых компонентов для работы с мультимедиа. Windows Media Player поддерживает форматы WAV, AVI, MIDI, VOD, AIFF и MPEG-2 LAYER-3 (MP3).

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

Текстовые данные

Рассмотрим пример использования элемента <article> (листинг 16.5). Этот новый элемент выводит на экран внешние текстовые данные.

Листинг 16.5. Пример создания веб-страницы, содержащей внешние текстовые данные

<!DOCTYPE HTML>

<html><head><title> ВНЕШНИЕ ДАННЫЕ </title></head>

<body> <article>

<a href="http://blog.netscape.com/2007/12/28/

end-of-support-for-netscape-web-browsers">

Вы знаете что такое Netscape?</a><br />

Эта корпорация участвовала в развитии Интернета</article></body>

Если нажать на ссылке, то произойдет переход на сайт http://blog.netscape.com/2007/12/28/end-of-support-for-netscape-web-browsers (рис. 16.2).

 

Рис. 16.2. Пример использования элемента article

Новый элемент <details> выводит на экран уточненные текстовые данные:

<details> Версия HTML 5 появилась в январе 2008 года</details>

Новый элемент <hgroup> выводит на экран заголовок группы:

<hgroup>

<h1>ИСТОКИ МОДЕРНИЗМА</h1>

<h2> «НАД» ИЛИ «ПОД» РЕАЛЬНОСТЬЮ</h2>

</hgroup>

<p> АБСУРД ВМЕСТО ЛОГИКИ</p>

Новый элемент <progress> выводит на экран оценку выполнения работы:

СТЕПЕНЬ ЗАГРУЗКИ ОБЪЕКTА:

<progress><span id="objprogress">76</span>%</progress>

Аббревиатура

В главе 2 уже шла речь об использовании элементов для акронима или аббревиатуры. Рассмотрим пример с элементом <abbr>. Содержимое элемента <abbr> выводится в виде всплывающей подсказки (рис. 16.3), которая дает пользователю возможность увидеть расшифровку аббревиатуры (листинг 16.6).

 

Рис. 16.3. Пример использования элемента abbr

Листинг 16.6. Пример, содержащий аббревиатуру

<!DOCTYPE HTML>

<html><head><title> Аббревиатура </title></head>

<body> Учебное заведение <abbr title="ГОСУДАРСТВЕННЫЙ АРХИТЕКТУРНО-СТРОИТЕЛЬНЫЙ УНИВЕРСИТЕТ">ГАСУ</abbr> было основано 27 апреля (9 мая по н. ст.) 1832 г. </body></html>

Внешние данные

Новый элемент <aside>управляет внешними данными (рис. 16.4). Пример использования элемента <aside> приведен в листинге 16.7.

 

Рис. 16.4. Пример использования элемента aside

Листинг 16.7. Пример, содержащий внешние данные

<!DOCTYPE HTML>

<html><head><title> Управление внешними данными </title></head>

   <body><p>Операции отрицания, конъюнкции, дизъюнкции</p>

      <aside>

      <h4>АЛГЕБРА ЛОГИКИ</h4>

      Операции эквиваленции или двойной импликации 

      </aside></body></html>

Направление текста

Новый элемент <bdo> управляет направлением отображаемого текста (рис. 16.5). Имеет обязательный атрибут dir, который принимает значения ltr (слева направо) и rtl (справа налево). Пример использования элемента <bdo> приведен в листинге 16.8.

 

Рис. 16.5. Пример использования элемента bdo

Листинг 16.8. Пример, содержащий текст разного направления

<!DOCTYPE HTML>

<html><head><title> Текст разного направления </title></head>

   <body><bdo dir="rtl">

      ЭТОТ ТЕКСТ НАПИСАН СПРАВА-НА-ЛЕВО.

      </bdo></body></html>

Кнопки

Новый элемент <button> сам создает кнопку и управляет нажатием на нее (рис. 16.6). Пример использования элемента <button> приведен в листинге 16.9.

Листинг 16.9. Пример создания кнопки

<!DOCTYPE HTML>

<html><head><title> Кнопка </title></head>

   <body><button type="button">НАЖМИ МЕНЯ!</button></body></html>

Новый элемент <command> управляет различными внешними кнопками посредством кода:

      <menu><command type="command"> НАЖМИ МЕНЯ!</command></menu>

 

Рис. 16.6. Пример использования элемента button

Канва

Новый элемент <canvas> используется для рисования графических объектов списка данных. Если вы изучали Delphi, то непременно встречали уже эту команду. Элемент <canvas> позволяет отображать различную графическую информацию. Имеет атрибуты height (высота), width (ширина), которые определяют размер канвы.

Можно сказать, что canvas — это плоская фиксированная растровая графика. Являясь объектом, он имеет примитивы:

canvas.beginPath();<!-- Начало рисования -->

canvas.closePath();<!-- Закрыть путь -->

canvas.fill();<!-- Заливка -->

canvas.stroke();<!--Обводка-->

Для рисования прямоугольника можно воспользоваться кодом:

canvas.rect(25,25,550,550); <!-- Рисование прямоугольника -->

canvas.fillStyle="#FAFAA2";<!--Цвет заливки-->

canvas.strokeStyle="#000#;<!-- Цвет обводки-->

canvas.linewidth=50; <!--Толщина линии-->

Для рисования сектора можно воспользоваться кодом:

canvas.arc(300,300,275,0.Math.PI*2.true); <!-- Координаты центра, радиус, угол -->

canvas.fillstyle="#FAFAA2";<!-- Цвет заливки -->

canvas.strokeStyle="#000#;<!-- Цвет обводки -->

canvas.linewidth=50; <!-- Толщина линии -->

Для размещения изображения можно воспользоваться кодом:

var pepelsbey=new Image();<!—-Новое изображение -->

pepelsbey.src=pepelsbey.png; <!—-Источник изображения -->

pepelsbey.onload=function() {<!--Описание функции -->

canvas.drawImage(pepelsbey,44,44);} <!-- Вывод изображения на экран-->

Для форматирования текста можно воспользоваться кодом:

canvas.font="bold 7em "PT sans",sans-serif";<!--Начертание, гарнитура шрифта-->

canvas.fillstyle="rgba(0,0,0,0,5)"; <!-- Цвет шрифта -->

canvas.textAlign="center";<!--Выравнивание текста-->

canvas.textBaseline="top";<!—Базовая линия-->

canvas.fillText("Удачи!",290,300); <!-- Вывод текста -->

Пример использования элемента <canvas> для рисования красного квадрата (рис. 16.7) приведен в листинге 16.10.

Листинг 16.10. Пример использования элемента canvas при создании графики 

<!DOCTYPE HTML>

<html><head><title> Красный квадрат </title></head>

   <body><canvas id="myCanvas"></canvas>

      <script type="text/javascript">

      var canvas=document.getElementById('myCanvas');

      var ctx=canvas.getContext('2d');ctx.fillStyle='#FF0000';

      ctx.fillRect(0,0,80,100);</script></body></html>

 

Рис. 16.7. Пример использования элемента canvas

Список данных

Новый элемент <datalist> управляет выводом на экран списка данных. Пример использования элемента <datalist> приведен в листинге 16.11.

Листинг 16.11. Пример создания списка данных

<!DOCTYPE HTML>

<html><head><title> Список данных </title></head>

   <body><input list="МАШИНЫ" />

      <datalist id="МАШИНЫ">

      <option value="ВОЛГА">

      <option value="ЖИГУЛИ">

      <option value="BMW">

      <option value="Ford">

      <option value="Volvo">

      </datalist></body></html>

Формы

Элемент <fieldset> управляет выводом на экран формы с набором полей (рис. 16.8). Пример использования элемента <fieldset> приведен в листинге 16.12.

Листинг 16.12. Пример создания формы с набором полей

<!DOCTYPE HTML>

<html><head><title> Форма с набором полей</title></head>

   <body><form><fieldset>

      <legend>ПЕРСОНАЛЬНЫЕ  ДАННЫЕ:</legend>

      ФАМИЛИЯ: <input type="text" /><br />

      Email: <input type="text" /><br />

      ДАТА РОЖДЕНИЯ: <input type="text" /></fieldset></form>

      </body></html>

 

Рис. 16.8. Пример использования элемента fieldset

Новый элемент <keygen> определяет ключ генерации.

Новый элемент <output> используется в форме, определяя вывод:

     <form action="form_action.asp" method="get" name="sumform">

     <output name="sum"></output>

     </form>

Новый элемент <nav> выводит на экран навигационную панель:

     <nav>

     <a href="default.asp">ДОМОЙ</a>

     <a href="tag_meter.asp">ПРЕДЫДУЩИЙ</a>

     <a href="tag_noscript.asp">СЛЕДУЮЩИЙ</a>

     </nav>

Заголовок объекта

Элемент <figcaption> управляет выводом на экран заголовка к фигуре, заданной элементом <figure>. Пример использования элемента <figcaption> приведен в листинге 16.13 (рис. 16.9).

Листинг 16.13. Пример создания заголовка объекта

<!DOCTYPE HTML>

<html><head><title>Заголовок объекта </title></head><body>

      <figure>

      <figcaption>WWF</figcaption>

      <p> Организация World Wildlife Foundation

      была основана в 1961 году...</p>

      </figure></body></html>

 

Рис. 16.9. Пример использования элемента figcaption

Маркировка

Элемент <mark> форматирует текст, выполняя его маркировку. Пример использования элемента <mark> приведен в листинге 16.14. На рис. 16.10 текст, размещенный в элементе <mark>, подкрашен маркером желтого цвета.

Листинг 16.14. Пример создания маркировки

<!DOCTYPE HTML>

<html><head> <title>Маркировка</title></head>

   <body>

<p>ОБЪЕКТНО-ОРИЕНТИРОВАННЫМИ ЯЗЫКАМИ ПРОГРАММИРОВАНИЯ ЯВЛЯЮТСЯ <mark>DELPHI, PHP, СИ++</mark> И ДРУГИЕ ЯЗЫКИ.</p>

</body></html>

 

Рис. 16.10. Пример использования элемента mark

Новый элемент <meter> выводит на экран данные в ранжированной области:

<meter min="0" max="10">2</meter><br />

<meter>2 out of 10</meter><br />

<meter>20%</meter>

Заголовки в таблице

Элемент <thead> определяет заголовки в таблице (рис. 16.11). Его атрибуты уже были описаны в главе 8. Пример использования элемента <thead> приведен в листинге 16.15.

Листинг 16.15. Пример заголовков в таблице

<!DOCTYPE HTML>

<html><head><title> Заголовок в таблице </title></head>

   <body><table border="1"><thead>

   <tr><th> МЕСЯЦ </th><th> ПРОДАЖИ </th></tr></thead>

   <tfoot><tr><td> СУММА </td><td> €180000 </td></tr></tfoot>

   <tbody><tr><td> ЯНВАРЬ </td><td> €100000 </td></tr>

   <tr><td> ФЕВРАЛЬ </td><td> €80000 </td></tr></tbody>

   </table></body></html>

 

Рис. 16.11. Пример использования элемента thead

Контроль времени

В версии языка HTML5 появился элемент <time>, который позволяет контролировать дату и время. Единственный атрибут <datetime> определяет дату и время. Пример использования элемента <datetime> приведен в листинге 16.16 (рис. 16.12).

Листинг 16.16. Пример, содержащий контроль времени

<!DOCTYPE HTML>

<html><head><title> Дата и время </title></head>

   <body><p>

Занятия начинаются в университете в <time>9:00</time> каждое утро</p>

      <p>ВЕЛИКИЙ РУССКИЙ ПОЭТ А.С. ПУШКИН родился в

      <time datetime="1799-06-06">в МОСКВЕ</time></p></body></html>

 

Рис. 16.12. Пример использования элемента time

Обработка событий

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

Атрибуты элемента <body> при обработке событий

Основные атрибуты элемента <body>, используемые при программировании обработки событий представлены в табл. 16.2.

Таблица 16.2. Основные атрибуты элемента <body>, используемые при программировании обработки событий

Атрибут

Описание

onafterprint

Управление действиями после печати документа

onbeforeprint

Управление действиями перед печатью документа

onbeforeonload

Управление действиями до загрузки документа

onblur

Управление действиями при потери окном фокуса

onerror

Управление действиями при возникновении ошибки

onfocus

Управление действиями при получении окном фокуса

onhaschange

Управление действиями при изменении документа

onload

Управление действиями при загрузке документа

onmessage

Управление действиями при получении сообщения

onoffline

Управление действиями при переходе документа в режим off-line

ononline

Управление действиями при переходе документа в режим on-line

onpagehide

Управление действиями, когда окно скрыто

onpageshow

Управление действиями, когда окно становится видимым

onpopstate

Управление действиями, когда история окна изменяется

onredo

Управление действиями, когда документ выполняет повтор

onresize

Управление действиями при изменении размера окна

onstorage

Управление действиями при загрузке документа

onundo

Управление действиями, когда документ выполняет отмену действий

onunload

Управление действиями, когда пользователь выходит из документа

События в форме

Основные атрибуты, используемые при обработке событий в форме, представлены в табл. 16.3.

Таблица 16.3. Основные атрибуты, используемые при программировании обработки событий в форме

Атрибут

Описание

onblur

Управление действиями при потери элементом фокуса

onchange

Управление действиями при изменении элемента

oncontextmenu

Управление действиями при потери обновлении контекстного меню

onfocus

Управление действиями при получении элементом фокуса

onformchange

Управление действиями при обновлении формы

onforminput

Управление действиями при обновлении ввода информации в форму

oninput

Управление действиями при обновлении ввода информации

oninvalid

Управление действиями при потери информации

onselect

Управление действиями при выборе элемента

onsubmit

Управление действиями нажатием на кнопку

События, связанные с клавиатурой

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

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

Атрибут

Описание

onkeydown

Управление действиями нажатием на клавишу

onkeypress

Управление действиями нажатием на клавишу и ее отпускании

onkeyup

Управление действиями при отпускании клавиши

События, связанные с мышью

Основные атрибуты, используемые при программировании обработки событий, связанных с мышью, представлены в табл. 16.5.

Таблица 16.5. Основные атрибуты, используемые при обработки событий, связанных с мышью

Атрибут

Описание

onclick

Управление действиями при щелчке мышью

ondblclick

Управление действиями при двойном щелчке мышью

ondragNew

Управление действиями при перетаскивании

ondragend

Управление действиями при окончании перетаскивания

ondragenter

Управление действиями при начале нового перетаскивания

ondragleave

Управление действиями при завершении процесса перетаскивания

ondragover

Управление действиями при покрытии объекта при перетаскивании

ondragstart

Управление действиями при начале нового перетаскивании

ondrop

Управление действиями при остановке процесса перетаскивания

onmousedown

Управление действиями при нажатой клавише мышью

onmousemove

Управление действиями при движении указателя мыши

onmouseout

Управление действиями при покидании элемента указателем мыши

onmouseover

Управление действиями при покрытии элемента указателем мыши

onmouseup

Управление действиями при отпускании кнопки мыши

onmousewheel

Управление действиями при прокручивании колесика мыши

onscroll

Управление действиями при прокручивании в полосе прокрутки

Медиасобытия

К медиасобытиям относятся события, связанные с видео, изображениями и аудио. Основные атрибуты обработки медиасобытий представлены в табл. 16.6.

Таблица 16.6. Основные атрибуты элемента <body> при обработки событий

Атрибут

Описание

onabort

Управление действиями в случае отмены событий

oncanplay

Управление действиями в случае начала медиа-воспроизведения, но возможна остановка для буферизации

oncanplaythroug

Управление действиями при окончании медиа-воспроизведения, без остановки для буферизации

ondurationchange

Управление действиями в случае изменения длины медиавоспроизведения

onemptied

Управление действиями при внезапном исчезновении медиа-ресурсов (сетевые ошибки, ошибки при загрузке и т. д.)

onended

Управление действиями при окончании воспроизведения медиаресурсов

onerror

Управление действиями в случае возникновения ошибки при загрузке документа

onloadeddata

Управление действиями в случае загрузки данных

onloadedmetadata

Управление действиями в случае загрузки медиаданных

onloadstart

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

onpause

Управление действиями в случае выполнения паузы при воспроизведении медиаданных

onplay

Управление действиями в случае проигрывания медиа-данных

onplaying

Управление действиями в случае запуска медиаданных

onprogress

Управление действиями в случае извлечения медиа-данных браузером

onratechange

Управление действиями в случае изменения скорости проигрывания медиаданных

onreadystatechange

Управление действиями в случае изменения состояния

onseeked

Управление действиями в случае поиска медиа-элементов и при окончании поиска

onseeking

Управление действиями в случае поиска медиа-элементов в начале поиска

onstalled

Управление действиями в случае присутствия ошибок в медиаданных (тупик)

onsuspend

Управление действиями в случае извлечения медиаданных браузером и остановкой до их загрузки

ontimeupdate

Управление действиями в случае изменения позиции проигрывания

onvolumechange

Управление действиями в случае изменения объема медиа-данных, а также при «нулевой» громкости

onwaiting

Управление действиями в том случае, когда медиа-средства перестали воспроизводиться, но как ожидается, должно возобновиться воспроизведение

Подведем итоги

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

Урок 17. Примеры

В данной главе приведены примеры верстки веб-страниц.

Пример создания слоев

Понятие слоя (layer) обычно иллюстрируют с помощью листа прозрачной бумаги (кальки). На каждом из таких листов может находиться графический или текстовый фрагмент единой композиции, образуемой при наложении листов кальки друг на друга. Преимущество слоистой структуры состоит в том, что можно редактировать код программы каждого слоя отдельно, не затрагивая других частей кода на других слоях. Стопку слоев также сравнивают с колодой игральных карт. Их, как и карты, можно перетасовывать.

Слой можно описать элементом <layer> или элементом <div> и наполнить нужным содержанием для последующего точного позиционирования на странице.

На рис. 17.1 показан пример использования слоев (листинг 17.1).

Листинг 17.1. Пример наложения текстовых слоев друг на друга

<html><head><title>Слои</title></head>

<body bgcolor=#faebd7>

<div style="left: 50px; position: absolute; top: 70px">

<h1>Заголовок 1-го уровня</h1>

<h2>< Заголовок 2-го уровня</h2>

<p>Все надписи сделаны внутри элементов DIV</p>

<i>C помощью каскадных листов стилей можно создать свой стиль для всех страниц сайта, придающий ему собственное лицо и делающий его узнаваемым.</i> </h2></div>

Это узор страницы&nbsp; Это узор страницы &nbsp; Это узор страницы &nbsp; Это узор страницы &nbsp; Это узор страницы &nbsp;&nbsp; Это узор страницы &nbsp;&nbsp; Это узор страницы &nbsp;&nbsp; Это узор страницы &nbsp;&nbsp; Это узор страницы &nbsp; &nbsp; &nbsp;&nbsp; Это узор страницы &nbsp;&nbsp;&nbsp;&nbsp; Это узор страницы &nbsp;&nbsp;&nbsp;&nbsp; Это узор страницы &nbsp;&nbsp; Это узор страницы &nbsp;&nbsp; Это узор страницы &nbsp;&nbsp;&nbsp;&nbsp; Это узор страницы& nbsp;&nbsp;&nbsp;&nbsp; Это узор страницы& nbsp; &nbsp; &nbsp; &nbsp; Это узор страницы &nbsp;&nbsp;&nbsp;&nbsp; Это узор страницы &nbsp; &nbsp; Это узор страницы &nbsp; &nbsp; &nbsp; &nbsp; Это узор страницы &nbsp; &nbsp;&nbsp;&nbsp; Это узор страницы &nbsp; &nbsp; &nbsp; &nbsp; Это узор страницы&nbsp;&nbsp; Это узор страницы&nbsp;&nbsp;Это узор страницы&nbsp; Это узор страницы&nbsp; Это узор страницы&nbsp; Это узор страницы&nbsp; Это узор страницы&nbsp;&nbsp; Это узор страницы &nbsp; &nbsp; Это узор страницы &nbsp;&nbsp; Это узор страницы &nbsp; &nbsp; Это узор страницы &nbsp; &nbsp; &nbsp; &nbsp; Это узор страницы &nbsp; &nbsp; &nbsp; &nbsp; Это узор страницы &nbsp; &nbsp; &nbsp; &nbsp; Это узор страницы &nbsp; &nbsp; Это узор страницы &nbsp;&nbsp; Это узор страницы &nbsp; &nbsp; &nbsp; &nbsp; Это узор страницы &nbsp; &nbsp; &nbsp; &nbsp; Это узор страницы &nbsp; &nbsp; &nbsp; &nbsp; Это узор страницы &nbsp;&nbsp;&nbsp;&nbsp; Это узор страницы &nbsp; &nbsp; Это узор страницы &nbsp; &nbsp; &nbsp; &nbsp; Это узор страницы &nbsp;&nbsp;&nbsp;&nbsp; Это узор страницы &nbsp; &nbsp;&nbsp;&nbsp; Это узор страницы &nbsp; &nbsp; Это узор страницы &nbsp; &nbsp; Это узор страницы &nbsp; Это узор страницы &nbsp; Это узор страницы &nbsp; Это узор страницы&nbsp; Это узор страницы &nbsp; &nbsp; Это узор страницы &nbsp; &nbsp; Это узор страницы &nbsp;&nbsp; Это узор страницы &nbsp; &nbsp; Это узор страницы &nbsp; &nbsp; &nbsp; &nbsp; Это узор страницы &nbsp; &nbsp; &nbsp; &nbsp; Это узор страницы &nbsp; &nbsp; &nbsp;&nbsp; Это узор страницы &nbsp;&nbsp; Это узор страницы &nbsp;&nbsp; Это узор страницы &nbsp;&nbsp;&nbsp;&nbsp; Это узор страницы &nbsp; &nbsp;&nbsp;&nbsp; Это узор страницы &nbsp; &nbsp;&nbsp;&nbsp; Это узор страницы &nbsp;&nbsp;&nbsp;&nbsp; Это узор страницы&nbsp;&nbsp; Это узор страницы &nbsp;&nbsp;&nbsp;&nbsp; Это узор страницы &nbsp; &nbsp; &nbsp; &nbsp; Это узор страницы&nbsp;&nbsp;&nbsp;&nbsp; Это узор страницы &nbsp; &nbsp; Это узор страницы &nbsp; &nbsp; Это узор страницы &nbsp; Это узор страницы &nbsp; Это узор страницы &nbsp; Это узор страницы&nbsp; Это узор страницы &nbsp; &nbsp; Это узор страницы&nbsp;&nbsp; Это узор страницы &nbsp;&nbsp; Это узор страницы &nbsp;&nbsp; Это узор страницы &nbsp; &nbsp;&nbsp;&nbsp; Это узор страницы &nbsp; &nbsp;&nbsp;&nbsp; Это узор страницы&nbsp;&nbsp;&nbsp;&nbsp; Это узор страницы &nbsp;&nbsp; Это узор страницы&nbsp;&nbsp; Это узор страницы &nbsp; &nbsp; &nbsp;&nbsp; Это узор страницы&nbsp;&nbsp;&nbsp;&nbsp; Это узор страницы &nbsp; &nbsp; &nbsp;&nbsp; Это узор страницы &nbsp;&nbsp; &nbsp; &nbsp; Это узор страницы &nbsp; &nbsp; Это узор страницы &nbsp; &nbsp; &nbsp; &nbsp; Это узор страницы &nbsp; &nbsp;&nbsp; &nbsp; Это узор страницы &nbsp; &nbsp; &nbsp; &nbsp; Это узор страницы &nbsp; &nbsp; Это узор страницы &nbsp; &nbsp; </body></html>

На рис. 17.1 показано наложение двух текстовых слоев друг на друга.

 

Рис. 17.1. Слои на веб-старнице

Пример раскрывающегося вниз меню

Раскрывающееся вниз меню представляет собой список. На рис. 17.2 показан пример верстки такой веб-страницы.

 

Рис. 17.2. Пример веб-страницы с раскрывающимся вниз меню

При создании этого примера (листинг 17.2) использовался файл внешних стилей style_17.3.css (листинг 17.3).

Листинг 17.2. Пример веб-страницы с раскрывающимся вниз меню

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"

"http://www.w3.org/TR/html4/strict.dtd">

<html><head><title>Раскрывающееся вниз меню</title>

<link rel="stylesheet" type="text/css" href="style_17.3.css" media="screen, projection" />

<style type="text/css">

code {font-size: 120%;

   background-color: transparent;

   color: #c39;}

* html code {font-size: 100%;}</style></head>

<body><h1>Раскрывающееся вниз меню</h1>

<div id="wrapper">

<ul id="menue"> 

<li><a href="#">Главная</a></li> 

<li><a href="#">Фирма</a> 

   <ul><li><a href="#">О нас</a></li> 

   <li><a href="#">Адреса</a></li> 

   <li><a href="#">Сотрудники</a></li> </ul></li> 

<li><a href="#">Продукты</a> 

   <ul><li><a href="#">Программное обеспечение</a></li> 

   <li><a href="#">Аппаратное обеспечение</a></li> 

   <li><a href="#">Серверы</a></li> 

   <li><a href="#">Интернет-телефония</a></li></ul></li>

<li><a href="#">Сервис</a> 

   <ul><li><a href="#">Сетевой трафик</a></li> 

   <li><a href="#">Интернет</a></li> 

   <li><a href="#">Бланки, формуляры</a></li></ul></li>

   <li><a href="#">Контакты</a> 

   <ul><li><a href="#">Интернет</a></li> 

   <li><a href="#">Встречи</a></li> 

   <li><a href="#">Конференции</a></li></ul></li></ul>

   </div></body></html>

Сохраните файл в ту папку, в которой находится файл style_17.4.css со следующим содержанием:

Листинг 17.3. Файл style_17.3.css, который используется в листинге 17.2

* {margin: 0;

  padding: 0;}

body {font-family: Verdana, Helvetica, Arial, sans-serif;

   font-size: 86%;

   background-color: #faf1e0;

   color: #000;

   padding: 50px;}

#wrapper {width: 80%;

   margin: 20px auto;}

ul {list-style: none;

   height: 30px;}

ul li {float: left;

   display: inline;

   position: relative;

   width: 8em;}

li ul {position: absolute;left: 0;top: 28px;

   display: none;}

li:hover ul {display: block;}

ul li a {display: block;

   text-decoration: none;

   background-color: #fff; color: #900;

   padding: 5px;border-bottom: 1px solid #ccc;

   font-weight: bold;}

ul ul li a {font-weight: normal;}

ul li a:hover {background-color: #666;color: #fff;}

Меню в рамке с подсветкой при выборе

Меню в рамке с подсветкой при выборе показано на рис. 17.3.

 

Рис. 17.3. Пример веб-страницы с меню в рамке с подсветкой при выборе

При создании этого примера (листинг 17.4) все стили реализованы в элементе <style>.

Листинг 17.4. Пример веб-страницы с раскрывающимся вниз меню

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"

"http://www.w3.org/TR/html4/strict.dtd"><html lang="ru">

<head><title>Меню в рамке с подсветкой при выборе</title>

<style type="text/css">

* {

margin: 0;

padding: 0;

}

body {

font-family: Verdana, Helvetica, Arial, sans-serif;

font-size: 86%;

background-color: #fff;

color: #000;

padding:40px;

}

h4 {

margin-bottom: 25px;

}

p {

font-size: 100%;

margin: 10px 0px;

line-height: 1.5;

}

pre {

padding-top: 10px;

}

code {

font-size: 120%;

background-color: transparent;

color: #c39;

}

* html code {

font-size: 100%;

}

 

/* Menue */

#reiter1 ul {

padding: 3px 0 3px 50px; 

border-bottom: 1px solid #000;

}

#reiter1 ul li {

display: inline;

list-style: none;

}

#reiter1 ul li a {

font-weight: bold;

padding: 3px 0.5em; 

margin-right: 5px;

border: 1px solid #900;

border-bottom: none;

background-color: #f0e0c0;

color: #900;

text-decoration: none;

}

#reiter1 ul li a:hover {

background-color: #b0a080;

color: #fff;

border-color: #000;

}

#reiter1 ul li a.aktiv,

#reiter1 ul li a.aktiv:hover {

background-color: #fff;

color: #777;

border: 1px solid #000;

border-bottom: 1px solid #fff;

cursor: default;}

</style></head>

<body><h4>Меню в рамке с подсветкой при выборе</h4>

<div id="reiter1">

<ul><li><a href="#">Титул</a></li>

<li><a href="#">Надпись</a></li> 

<li><a href="#">Заглавие</a></li>

<li><a href="#">Публикации</a></li>

<li><a href="#" class="aktiv">Титульный лист</a></li> 

<li><a href="#">Издание</a></li></ul></div></body></html>

Меню «Книжный шкаф»

Меню «Книжный шкаф» показано на рис. 17.4.

При создании этого примера (листинг 17.5) все стили реализованы во внешнем файле style_17.6.css (листинг 17.6).

 

Рис. 17.4. Пример меню «Книжный шкаф»

Листинг 17.5. Пример меню «Книжный шкаф»

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"

"http://www.w3.org/TR/html4/strict.dtd">

<html lang="ru">

<head><title>Меню "Книжный шкаф"</title>

<link rel="stylesheet" type="text/css" href=" style_17.6.css" />

<style type="text/css">

pre {

padding-top: 10px;

}

code {

font-size: 120%;

background-color: transparent;

color: #c39;

}

* html code {

font-size: 100%;

}</style></head>

<body><h3>Меню "Книжный шкаф"</h4>

   <div id="buttonbox">   <span class="cc"><span class="button3">

            <span class="aa"><span class="bb">

<a class="fatbutt" href="#">Форматы графических файлов</a>

            </span></span></span>

         <span class="button3"><span class="aa"><span class="bb">

<a class="fatbutt" href="#">Растровые со сжатием, без сжатия</a>

         </span></span></span>

         <span class="button3"><span class="aa"><span class="bb">

<a class="fatbutt" href="#">Растровые полноцветные</a>

               </span></span></span>

         <span class="button3"><span class="aa"><span class="bb">

<a class="fatbutt" href="#">Растровые с индексированной палитрой</a>

      </span></span></span></span></div></body></html>

Листинг 17.6. Внешний файл style_17.6.css

* {

margin: 0;

padding: 0;

}

body {

font-family: Verdana, Helvetica, Arial, sans-serif;

font-size: 86%;

background-color: #faf1e0;

color: #000;

margin: 20px 50px;

padding-top: 30px;

}

 

#buttonbox {

width: 10em;

margin: 20px 0;

padding: 4px;

background-color: #d0843e;

color: #000;

border: 3px solid;

border-color: #78561d #e2bf87 #e2bf87 #78561d;

}

#buttonbox .cc {

display: block;

border: 1px solid;

border-color: #78561d #e2bf87 #e2bf87 #78561d;

}

.button3 {

display: block;

padding: 1px;

border: 3px solid;

border-color: #e2bf87 #78561d #78561d #e2bf87;

}

.button3 .fatbutt,

.button3 .aa,

.button3 .bb {

display: block;

}

.button3 .fatbutt {

padding: 2px 1px 2px 0;

text-decoration: none;

text-align: center;

background-color: #e0d0b0;

color: #600;

border: 3px solid;

border-color: #e7dbc2 #d6c093 #d6c093 #e7dbc2;

}

.button3 .aa {

padding: 1px;

border: 2px solid;

border-color: #937639 #c2a361 #c2a361 #937639;

}

.button3 .bb {

border: 1px solid #555;

}

.button3 a:hover.fatbutt {

padding: 2px 0 2px 1px;

border: 3px solid;

border-color: #d6c093 #ebdfc6 #ebdfc6 #d6c093;

background-color: #e6d9bc;

color: #900;

}

Меню с вложенными разделами

Меню с вложенными разделами показано на рис. 17.5.

 

Рис. 17.5. Пример меню с вложенными разделами

При создании этого примера (листинг 17.7) все стили реализованы во внешнем файле style_17.8.css (листинг 17.8).

Листинг 17.7. Пример меню с вложенными разделами

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"

"http://www.w3.org/TR/html4/strict.dtd">

<html lang="ru"><head><title>Меню с вложенными разделами</title>

<link rel="stylesheet" type="text/css" href="style_17.8.css">

<style type="text/css">pre {padding-top: 10px;}</style></head>

<body><h2>Меню с вложенными разделами</h2>

<div id="site">

<ul><li><a class="home" href="#" title="В начало">HTML</a>

   <ul><li><a class="rubrik" href="#">Глава 1</a>

      <ul><li><a href="#">Урок 1.1</a></li>

      <li><a href="#">Урок 1.2</a></li></ul></li>

      <li><a class="rubrik" href="#">Глава 2</a>

      <ul><li><a class="rubrik" href="#">Глава 2a</a>

      <ul><li><a href="#">Урок 2a.1</a></li>

      <li><a href="#">Урок 2a.2</a></li></ul></li>

      <li><a class="rubrik" href="#">Глава 2b</a>

      <ul><li><a href="#">Урок 2b.1</a></li>

      <li><a href="#">Урок 2b.2</a></li></ul></li>

      <li><a href="#">Урок 2.1</a></li>

      <li><a href="#">Урок 2.2</a></li></ul></li>

   <li><a class="rubrik" href="#">Глава 3</a>

      <ul><li><a class="rubrik" href="#">Глава 3a</a>

         <ul><li><a href="#">Урок 3a.1</a></li>

         <li><a href="#">Урок 3a.2</a></li></ul></li>

      <li><a href="#">Урок 3.1</a></li>

      <li><a href="#">Урок 3.2</a></li></ul></li></ul>

      <li><a href="#">Итоги</a></li>

      <li><a href="#">Контактная информация</a></li></li></ul>

   </div></body></html>

Листинг 17.8. Внешний файл style_17.8.css

* {margin: 0;padding: 0;}

body {font-family: Verdana, Helvetica, Arial, sans-serif;font-size: 86%;

margin: 20px 50px;background-color: #faf1e0;color: #000;}

#site {width: 20em;margin: 20px 0;border: 3px double #ccc;

background-color: #fafafa;color: #000;}

#site ul li {display: inline;font-size: 100%;line-height: 140%;}

#site ul li a {display: block;text-decoration: none;

background-color: transparent;color: #600;}

#site ul li a {background-position: 10px 3px;padding: 2px 0 2px 40px;}

#site ul ul li a {background-position: 40px 3px;padding-left: 70px;}

#site ul ul ul li a {background-position: 70px 3px;padding-left: 100px;}

#site ul ul ul ul li a {background-position: 100px 3px;padding-left: 130px;}

#site ul li a.home {background-position: 10px 3px;padding-left: 40px;font-weight: bold;

background-color: #c0c0c0;color: #600;border-bottom: 1px solid #ccc;}

#site ul li a.rubrik {background-position: 10px 3px;margin-top: 3px;padding-left: 40px;

font-weight: bold;border-top: 1px solid #ccc;border-bottom: 1px solid #ccc;

background-color: #d0d0d0;color: #600;}

#site ul ul li a.rubrik {background-position: 40px 3px;padding-left: 70px;

background-color: #e0e0e0;color: #600;}

#site ul ul ul li a.rubrik {background-position: 70px 3px;padding-left: 100px;

background-color: #f0f0f0;color: #600;}

Верстка веб-страницы

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

В приведенном ниже примере страница разделена на отдельные блоки, содержащие заголовки и текст, согласно плану верстки (рис. 17.6). Справа расположен список гиперссылок, позволяющих перейти на другие страницы.

 

Рис. 17.6. План верстки веб-страницы

На основании этого плана создан файл style_17.10.css (листинг 17.10), который представляет собой стилевое оформление веб-страницы. Пример верстки веб-страницы приведен в листинге 17.9.

Листинг 17.9. Пример верстки веб-страницы

<html><head><title>Верстка веб-страницы</title>

       <link rel="stylesheet" href="style_17.10.css"

        type="text/css" media="screen" />

       <style type="text/css">

       #sv { clear: both; margin: 50px 0; padding: 5px; width: 400px;

       background: #fff; color: #111; text-align: left;}  </style></head>

     <body><div id="wr"><div id="m-i">

        <h1>ИНФОРМАТИКА</h1></div>

        <div id="ht"><h2>ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ</h2>

<p><img src="сол.jpg" width="200" height=130" alt="Солнышко" class="bild" />

Первоначально смысл слова "информация" (от лат. informatio-разъяснение, изложение) трактовался как нечто присущее только человеческому сознанию и общению: "знания, сведения, сообщения, известия, передаваемые людьми устным, письменным или другим способом".</p>

<p>Информация не является ни материей, ни энергией. В отличае от них она может возникать и исчезать. Информация в куске каменного угля или делового письма может исчезнуть, если исчезнет ее носитель, например сгорит.</p>

<h3>СИГНАЛ</h3>

<p>Сигнал (от лат. signum - знак) - физический процесс (явление), несущий сообщение (информацию) о событии или состоянии объекта наблюдения.</p>

</div>

<div id="not"><h2>ИНФОРМАЦИЯ</h2>

<ul><li><a href="">начало</a></li>

    <li><a href="">информационные технологии</a></li>

    <li><a href="">сигнал</a></li>

    <li><a href="">информация</a></li></ul>

    <h3>ИНФОРМАЦИЯ</h3><p> Информация - специфический атрибут реального мира, представляющий собой его объективное отражение в виде совокупности сигналов и проявляющийся при взаимодействии с "приемником" информации, позволяющим выделять, регистрировать эти сигналы из окружающего мира и по тому или иному критерию их идентифицировать.</p>

    <h4>ИНФОРМАЦИОННЫЕ РЕСУРСЫ</h4><p>Отдельные документы и отдельные массивы документов, документы в информационных системах (библиотеках, архивах, фондах, банках данных, других информационных системах).</p></div>

    <p>Информационная сеть - коммуникационная сеть, в которой продуктом генерирования, переработки, хранения и использования является информация.</p></div>

    <div id="sv"><h4>НАВИГАЦИЯ</h4><a href="../index.html">

       Компьютерная обработка информации</a></div></body></html>

Сохраните этот файл и рисунок солнышка (сол.jpg) в одну папку. Чтобы эта программа заработала, вам понадобится еще один файл (style_17.10.css), который необходимо сохранить в той же папке.

Листинг 17.10. Файл style_17.10.css, который используется в листинге 17.9

html {

   font-size: 75%;    

}

body {

   background: #fA1B07;

   text-align: center;}

ul, li {

   list-style-type: none;

}

#wr {

background: #fff;text-align: left;width: 80em;

max-width: 100%;margin: 0 auto;

}

#m-i{

   background: #636886;

   color:  #fff;

   padding: 15px 0;

}

#ht {

   float: left;

   width: 49.2em;

   max-width: 70%;

}

#not{

   background: #C6B8AF;

   width: 29.2em;

   max-width: 28%;

   float: right;

}

p {

   font: 1em/1.5em Arial, Tahoma, Verdana, sans-serif;

   margin-top: 1.5em;

margin-bottom: 1.5em;

   clear: both;

}

h1 {

   font: 1.67em/0.9em, "Times New Roman", Times, serif;

   margin-top: 0.9em;

   margin-bottom: 0.9em;   

}

h2 {

   font: 1.5em/1em, "Times New Roman", Times, serif;   

   margin-top: 1em;

   margin-bottom:1em;

}

h3 {

   font: 1.33em/1.13em , "Times New Roman", Times, serif;

   margin-top: 1.13em;

   margin-bottom: 1.13em;

}

 

h4 {

   font: 1.17em/1.29em, "Times New Roman", Times, serif;margin-top: 1.29em;

   margin-bottom: 1.29em;

}

На рис. 17.7 показана получившаяся веб-страница. Внизу расположен еще один вариант навигации по сайту.

 

Рис. 17.7. Пример верстки веб-страницы

Подведем итоги

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

Урок 18. Подготовка изображений для веб-страниц

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

Файловые операции

Для обработки изображения его нужно открыть. Для этого служит команда File\Open (Файл\Открыть). Диалоговое окно, появляющееся после выбора этой команды, показано на рис. 18.1.

Как вы знаете (см. урок 3), на веб-страницах рекомендуется размещать изображения далеко не всех форматов, доступных в программе Adobe Photoshop. Поэтому первым шагом в обработке изображения является его преобразование из исходного формата (например, PSD — «родного» формата программы Adobe Photoshop) в формат, необходимый для размещения изображения на веб-странице. Для этого достаточно воспользоваться командой File\Save as (Файл\Сохранить как). При выборе этой команды открывается диалоговое окно, которое представлено на рис. 18.2.

Все доступные в программе форматы перечислены в раскрывающемся списке Format (Формат). Для сохранения файла изображение в наиболее распространенном в Интернете формате GIF в этом списке нужно выбрать пункт CompuServ GIF (*.GIF), как показано на рис. 18.2, и щелкнуть на кнопке Save (Сохранить).

 

Рис. 18.1. Выбор обрабатываемого изображения

 

Рис. 18.2. Сохранение изображения в выбранном формате

Инструменты выделения

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

В программе Adobe Photoshop выделять области изображения можно по размеру, по форме, по цвету. К инструментам выделения относится группа инструментов прямоугольного выделения: Rectangular Marquee Tool (Прямоугольное выделение), Elliptical Marquee Tool (Эллиптическое выделение), Single Row Marquee Tool (Выделение строки пикселов), Single Column Marquee Tool (Выделение столбца пикселов), а также группа инструментов лассо: Lasso Tool (Лассо), Poliganol Lasso Tool (Многоугольное лассо), Magnetic Lasso Tool (Магнитное лассо). Кроме того, к инструментам выделения относится инструмент Magic Wand (Волшебная палочка), принцип работы которого основывается на сходстве цветовых параметров пикселов.

Все инструменты выделения находятся в верхней части набора инструментов (рис. 18.4).

 

Рис. 18.3. Инструменты выделения в наборе инструментов

Помимо инструментов для выделения можно использовать команды меню Select (Выделить), в частности, для выделения всего изображения применяется команда All (Все), для отмены выделения — команда Deselect (Снять выделение), для превращения всех выделенных фрагментов в невыделенные и наоборот — команда Invert (Инвертировать), для повторного выделения ранее снятого выделения — команда Reselect (Повторить выделение).

Изменение разрешения и размеров изображения

Как известно, изображение, которое помещается на веб-страницу, должно иметь маленький размер в байтах, чтобы содержащая его веб-страница быстро загружалась. Для уменьшения размера изображения в байтах существует несколько приемов, в частности, можно уменьшить разрешение изображениz или его геометрический размер. Этой цели служит команда Image\Image Size (Изображение\Размеры изображения), при выборе которой открывается диалоговое окно, показанное на рис. 18.4.

 

Рис. 18.4. Настройка разрешения и размеров изображения

Хотя геометрические размеры изображения, помещаемого на веб-страницу, можно отрегулировать атрибутами weight и height элементов языка HTML, эти регулировки никак не скажутся на размере изображения в байтах, а значит, — и на скорости его загрузки.

Показанная на рис. 18.4 фотография iPhone была выполнена цифровым фотоаппаратом. Как видно в диалоговом окне Image Size (Размеры изображения), разрешение полученной фотографии составляет 180 пикселов на дюйм, а геометрический размер — 36,58 × 27,43 см. Конечно, такой файл («весом» более 3 Мбайт) никто не поместит на свою веб-страницу. На рис. 18.5 показано то же диалоговое окно после уменьшения разрешения и размеров фотографии.

Размер файла с новыми параметрами оказался в 132 раза меньше (!), чем был раньше, и составил 24 Кбайт. Естественно, при подобной настройке нужно все время визуально контролировать качество изображения, поскольку снижение разрешения означает уменьшение количества пикселов на единицу длины, что, в конце концов, обязательно скажется на визуальном восприятии.

 

Рис. 18.5. Уменьшение разрешения и размеров фотографии

Коррекция изображения

Программа Adobe Photoshop содержит множество средств для повышения качества изображений. Фотографии могут быть слишком темными, слишком светлыми, недостаточно контрастными, иметь неразличимые детали, плохую рельефность, поэтому появляется необходимость их изменения. Чем отличается хорошая фотография от плохой? Хорошая фотография имеет оптимальный баланс света и тени. Процесс изменения погрешностей в освещении и контрасте называют коррекцией.

Коррекция обычно выполняется с помощью меню команд подменю Adjustments (Настройка) меню Image (Изображение).

В качестве примера изменим внешность девушки, показанной слева на рис. 18.6. Справа на рисунке представлено диалоговое окно Brightness/Contrast (Яркость/Контраст), открывшееся после выделения фрагмента изображения и выбора команды Image-Adjustment-Brightness/Contrast (Изображение- Настройка-Яркость/Контраст). Как видите, для изменения контрастности и яркости выделенного фрагмента достаточно изменить положение ползунков Brightness (Яркость) и Contrast (Контраст) или ввести нужные значения в соответствующие поля.

Рисунок 18.7 иллюстрирует процесс цветовой коррекции глаза, выделенного инструментами выделения, с помощью команды Image-Adjustments-Hue/Satu­ra­tion (Изображение-Настройка-Оттенок/Насыщенность).

 

Рис. 18.6. Изменение контрастности и яркости губ

 

Рис. 18.7. Изменение оттенка, насыщенности и светлоты выделенного фрагмента

Рисунок 18.8 иллюстрирует процесс цветовой коррекции брови, выделенной инструментами выделения, с помощью команды Image-Adjustments-Color Ba­lan­ce (Изображение-Настройка-Цветовой Баланс), которая применяется к области выделения.

Для обрезки краев изображений применяется инструмент Crop (Кадрирование) или команда Image-Crop (Изображение-Кадрирование) после выделения нужного фрагмента любым инструментом выделения. После выбора этой команды все изображение, лежащее вне рамки выделения, будет удалено.

На рис. 18.9 показано полностью подготовленное для размещения на веб-странице изображение после выполнения всех операций, описанных в этом разделе (сравните его с изображением на рис. 18.6).

 

Рис. 18.8. Настройка цветового баланса выделенного фрагмента

 

Рис. 18.9. Изображение после коррекции

Программа GIMP

Для работы с графикой не обязательно тратить огромные деньги на приобретение дорогостоящих лицензионных программ, например Adobe Photoshop. Можно воспользоваться более простым, но достаточно функциональным растровым графическим редактором GIMP, который распространяется на условиях GNU General Public License. Дипломный проект Спенсера Кимбелла и Питера Маттиса, появившийся в 1995 году, завоевал огромную популярность и в настоящий момент поддерживается группой добровольцев.

Сокращение GIMP изначально было образовано от General Image Manipulation Program, но с 1997 года аббревиатура стала расшифровываться по-другому — GNU Image Manipulation Program, и программа официально стала частью проекта GNU. В 2005 году проект GIMP вошел в программу OpenUsability.

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

Интерфейс программы GIMP показан на рис. 18.10. В верхней части рисунка изображен зверек с кисточкой во рту — логотип программы GIMP.

 

Рис. 18.10. Интерфейс программы GIMP

Подведем итоги

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

продолжение 