Допустим, нужно включить в документ изображение, записанное в файл picture.gif и находящееся в одном каталоге с HTML-документом.
<IMG SRC="picture.gif">
Тег <IMG SRC="имя файла"> может также включать атрибут ALT="текст", например:
<IMG SRC="picture.gif" ALT="Картинка">
Встретив такой тег, браузер покажет на экране текст Картинка и начнет загружать на его место картинку из файла picture.gif. Атрибут ALT может оказаться необходимым для старых браузеров, которые не поддерживают изображений, а также на случай, если у браузера отключена автоматическая загрузка изображений.
Файл, содержащий изображение, может находиться в другом каталоге или даже на другом сервере. В этом случае нужно указать его полное имя.
Пример 7
<HTML>
<HEAD>
<TITLE>Пример 7</TITLE>
</HEAD>
<BODY>
<H1>Изображения </H1>
<P>Изображение можно встроить очень просто: </P>
<P><IMG SRC="picture.gif"></P>
<P>Кроме того, изображение можно сделать "горячим", то есть осуществлять переход при нажатии на изображение:</P>
<P><A HREF="index.html"><IMG SRC="picture.gif">
</A></P>
</BODY>
</HTML>
Если ссылка на изображение находится между тегами <A HREF="..."> и </A>, изображение фактически становится кнопкой, при нажатии на которую происходит переход по ссылке.
5. Атрибуты тегов <BODY> и <META>
Цветовая гамма HTML-документа
Цветовая гамма HTML-документа определяется атрибутами, размещенными внутри тега <BODY>.
Список атрибутов:
bgcolor Определяет цвет фона документа.
text Определяет цвет текста документа.
link Определяет цвет выделенного элемента текста, при нажатии на который происходит переход по гипертекстовой ссылке.
vlink Определяет цвет ссылки на документ, который уже был просмотрен ранее.
alink Определяет цвет ссылки в момент, когда на нее указывает курсор мыши и нажата ее правая кнопка, то есть непосредственно перед переходом по ссылке.
Цвет кодируется последовательностью из трех пар символов. Каждая пара представляет собой шестнадцатиричное значение насыщенности заданного цвета одним из трех основных цветов (красным, зеленым и синим) в диапазоне от нуля (00) до 255 (FF).
Кроме этого, цвет может задаваться названием (RED, BLUE, AQUA, WHITE, YELLOW, GREEN,…).
bgcolor=#FFFFFF
Цвет фона. Насыщенность красным, зеленым и синим одинакова — FF (это шестнадцатиричное представление числа 255). Результат — белый цвет.
text=#000000
Цвет текста. Насыщенность красным, зеленым и синим одинакова — 00 (ноль). Результат — черный цвет.
link=#FF0000
Цвет гипертекстовой ссылки. Насыщенность красным — FF (255), зеленым и синим — 00 (ноль). Результат — красный цвет.
Тег <BODY> может включать атрибут background="имя файла", который задает изображение, служащее фоном для текста и других изображений. Как и любое другое изображение, фон должен быть представлен в формате GIF (файл с расширением *.gif) или JPEG (файл с расширением *.jpg или *.jpeg).
Браузеры заполняют множественными копиями изображения-фона все пространство окна, в котором открыт документ. Цвет фона и изображение-фон никак не отображаются на бумаге при выводе HTML-документа на печать.
МЕТА-инструкции
Заголовок HTML-документа может включать неограниченное количество META-инструкций.
META-инструкция — это способ определить некоторую переменную путем указания ее имени (атрибут NAME) и значения (атрибут CONTENT).
Список META-инструкций
<META NAME="description" CONTENT="Это руководство">
Переменная description содержит краткое описание документа.
<META NAME="keywords" CONTENT="Интернет, HTML, WWW, руководство, публикация, гипертекст">
Переменная keywords содержит набор ключевых слов, описывающих содержание документа.
Другая группа META-инструкций определяет эквиваленты команд протокола передачи гипертекстов.
<META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=windows-1251">
Эта META-инструкция дает браузеру указание интерпретировать загружаемый документ как содержащий HTML-текст в кодировке Windows/1251.
<META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=koi8-r">
Эта META-инструкция абсолютно аналогична предыдущей, только в качестве кодировки указана КОИ-8.
<META HTTP-EQUIV="Refresh" CONTENT="время; URL=документ">
Такая META-инструкция дает браузеру примерно такое указание: "Если через время в секундах после завершения загрузки этого документа пользователь не перейдет к другому документу, начать загрузку ресурса документ ".
Более конкретно это может выглядеть, к примеру, вот так:
<META HTTP-EQUIV="Refresh" CONTENT="10; URL=http://www.yi.com">
Если пользователь не предпримет никаких видимых действий в течение 10 секунд после загрузки документа, содержащего такую инструкцию, автоматически будет загружен документ http://www.yi.com.
Пример 8
В отличие от всех примеров, которые мы рассматривали ранее, пример 8 состоит из трех файлов.
Используя META-инструкцию Refresh, создадим небольшой слайд-фильм из трех кадров (файлов 1.html, 1a.html и 1b.html), которые будут циклически повторяться. Для остановки демонстрации нужно будет воспользоваться любой из гипертекстовых ссылок.
<!--файл 1.html -->
<HTML>
<HEAD>
<TITLE>Пример 8</TITLE>
<META HTTP-EQUIV="Refresh" CONTENT="2; URL=1a.html">
</HEAD>
<BODY bgcolor=#FFFFFF text=#000000 link=#FF0000>
<H1>Слайд-демонстрация цветовых гамм <BR> с помощью META-инструкции Refresh </H1>
<P>Черный текст на белом фоне </P>
<P>[<A HREF="index.html">Возврат </A>|
<A HREF="2.html">Возврат к 2</A>]</P>
</BODY>
</HTML><!--конец файла 1.html -->
<!--файл 1a.html -->
<HTML>
<HEAD>
<TITLE>Пример 8a</TITLE>
<META HTTP-EQUIV="Refresh" CONTENT="2; URL=1b.html">
</HEAD>
<BODY bgcolor=#000000 text=#FFFFFF link=#FF0000>
<H1>Слайд-демонстрация цветовых гамм <BR> с помощью META-инструкции Refresh </H1>
<P>Белый текст на черном фоне </P>
<P>[<A HREF="index.html">Возврат</A>|
<A HREF="2.html">Возврат к 2</A>]</P>
</BODY>
</HTML><!--конец файла 1a.html -->
<!--файл 1b.html -->
<HTML>
<HEAD>
<TITLE>Пример 8b</TITLE>
<META HTTP-EQUIV="Refresh" CONTENT="2; URL=1.html">
</HEAD>
<BODY bgcolor=#C0C0C0 text=#0000FF link=#FF0000>
<H1>Слайд-демонстрация цветовых гамм <BR> с помощью META-инструкции Refresh </H1>
<P>Синий текст на сером фоне </P>
<P>[<A HREF="index.html">Возврат</A>|
<A HREF="2.html">Возврат к 2</A>]</P>
</BODY>
</HTML><!--конец файла 1b.html -->
Таблицы
Таблица начинается с тега <TABLE> и заканчивается тегом </TABLE>.
Тег <TABLE> может включать несколько атрибутов:
ALIGN | Расположение таблицы по отношению к полям документа. Допустимые значения: ALIGN=LEFT (выравнивание влево), ALIGN=CENTER (выравнивание по центру), ALIGN=RIGHT (выравнивание вправо). |
WIDTH | Ширина таблицы. Ее можно задать в пикселях (WIDTH=400) или в процентах от ширины страницы (WIDTH=80%). |
BORDER | Ширина внешней рамки таблицы и ячеек в пикселях (BORDER=4). Если атрибут не установлен, таблица показывается без рамки. |
CELLSPACING | Расстояние между рамками ячеек таблицы в пикселях (CELLSPACING=2). |
CELLPADDING | Расстояние между рамкой ячейки и текстом в пикселях (CELLPADDING=10). |
Таблица может иметь заголовок (<CAPTION>... </CAPTION>), хотя заголовок не является обязательным. Тег <CAPTION> может включать атрибут ALIGN.
Допустимые значения: <CAPTION ALIGN=TOP> (заголовок помещается над таблицей) и <CAPTION ALIGN=BOTTOM> (заголовок помещается под таблицей).
Каждая строка таблицы начинается с тега <TR> и заканчивается тегом </TR>.
Тег <TR> может включать следующие атрибуты:
ALIGN | выравнивание текста в ячейках строки. Допустимые значения: ALIGN=LEFT (выравнивание влево), ALIGN=CENTER (выравнивание по центру), ALIGN=RIGHT (выравнивание вправо). |
VALIGN | вертикальное выравнивание текста в ячейках строки. Допустимые значения: VALIGN=TOP (выравнивание по верхнему краю), VALIGN=MIDDLE (выравнивание по центру), VALIGN=BOTTOM (выравнивание по нижнему краю). |
Каждая ячейка таблицы начинается с тега <TD> и заканчивается тегом </TD>.
Тег <TD> может включать следующие атрибуты:
NOWRAP | Присутствие этого атрибута означает, что содержимое ячейки должно быть показано в одну строку |
COLSPAN | "Размах" ячейки по горизонтали. COLSPAN=3 означает, что ячейка простирается на три колонки. |
ROWSPAN | "Размах" ячейки по вертикали. ROWSPAN=2 означает, что ячейка занимает две строки. |
ALIGN | Выравнивание текста в ячейке. Допустимые значения: ALIGN=LEFT (выравнивание влево), ALIGN=CENTER (выравнивание по центру), ALIGN=RIGHT (выравнивание вправо). |
VALIGN | Вертикальное выравнивание текста в ячейке. Допустимые значения: VALIGN=TOP (выравнивание по верхнему краю), VALIGN=MIDDLE (выравнивание по центру), VALIGN=BOTTOM (выравнивание по нижнему краю). |
WIDTH | Ширину ячейки в пикселях (WIDTH=200). |
HEIGHT | Высоту ячейки в пикселях (HEIGHT=40). |
Если ячейка таблицы пуста, вокруг нее не рисуется рамка. Если ячейка пуста, а рамка нужна, в ячейку можно ввести символьный объект (non-breaking space — неразрывающий пробел). Ячейка по-прежнему будет пустой, а рамка вокруг нее будет.
Любая ячейка таблицы может содержать в себе другую таблицу.
Пример 9
<HTML>
<HEAD>
<TITLE>Пример 9</TITLE>
</HEAD>
<H1>Простейшая таблица </H1>
<TABLE BORDER=1> <!--Это начало таблицы-->
<CAPTION> <!--Это заголовок таблицы-->
У таблицы может быть заголовок </CAPTION>
<TR> <!--Это начало первой строки-->
<TD> <!--Это начало первой ячейки-->
Первая строка, первая колонка
</TD> <!--Это конец первой ячейки-->
<TD> <!--Это начало второй ячейки-->
Первая строка, вторая колонка
</TD> <!--Это конец второй ячейки-->
</TR> <!--Это конец первой строки-->
<TR> <!--Это начало второй строки-->
<TD> <!--Это начало первой ячейки-->
Вторая строка, первая колонка
</TD> <!--Это конец первой ячейки-->
<TD> <!--Это начало второй ячейки-->
Вторая строка, вторая колонка
</TD> <!--Это конец второй ячейки-->
</TR> <!--Это конец второй строки-->
</TABLE> <!--Это конец таблицы-->
</BODY>
</HTML>
Формы
Форма — это инструмент, с помощью которого HTML-документ может послать информацию для дальнейшей обработки. Формы передают информацию программам-обработчикам, написанным на языке PERL или PHP (CGI-скриптам) в виде пар имя переменной=значение переменной. Имена переменных следует задавать латинскими буквами. Значения переменных воспринимаются обработчиками как строки.
Форма открывается тегом <FORM> и заканчивается тегом </FORM>.
HTML-документ может содержать в себе несколько форм, однако формы не должны находиться одна внутри другой. HTML-текст может размещаться внутри форм без ограничений.
Тег <FORM> может содержать три атрибута, один из которых является обязательным.
ACTION | Обязательный атрибут. Определяет, где находится обработчик формы. |
METHOD | Определяет, каким образом данные из формы будут переданы обработчику. Допустимые значения: METHOD=POST и METHOD=GET. Если значение атрибута не установлено, по умолчанию предполагается METHOD=GET. |
ENCTYPE | Определяет, каким образом данные из формы будут закодированы для передачи обработчику. Если значение атрибута не установлено, по умолчанию предполагается ENCTYPE=application/x-www-form-urlencoded. |
Для того, чтобы запустить процесс передачи данных из формы обработчику, нужен орган управления, создаваемый строкой с тегом:
<INPUT TYPE=submit>
Встретив такую строчку внутри формы, браузер нарисует на экране кнопку с надписью Submit (читается "сабмит" с ударением на втором слоге, от английского "подавать"), при нажатии на которую все имеющиеся в форме данные будут переданы обработчику, определенному в теге <FORM>.
Надпись на кнопке можно задать путем введения атрибута VALUE="Надпись" (читается "вэлью" с ударением на первом слоге, от английского "значение"), например:
<INPUT TYPE=submit VALUE="Поехали!">
Пример 10
<HTML>
<HEAD>
<TITLE>Пример 10</TITLE>
</HEAD>
<H1>Простейшая форма </H1>
<FORM ACTION="8.html"> <!--Это начало формы-->
<INPUT TYPE=submit VALUE="Назад, к главе 8...">
</FORM> <!--Это конец формы-->
</BODY>
</HTML>
Надпись, нанесенную на кнопку, можно при необходимости передать обработчику путем введения в определение кнопки атрибута NAME=имя (читается "нэйм", от английского "имя"), например:
<INPUT TYPE=submit NAME=button VALUE="Поехали!">
При нажатии на такую кнопку обработчик вместе со всеми остальными данными получит и переменную button со значением Поехали!.
В форме может быть несколько кнопок типа submit с различными именами и/или значениями. Обработчик, таким образом, может действовать по-разному в зависимости от того, какую именно кнопку submit нажал пользователь.
Другие типы элементов <INPUT>
Каждый элемент <INPUT> должен включать атрибут NAME=имя, определяющий имя элемента (и, соответственно, имя переменной, которая будет передана обработчику). Для элементов <INPUT TYPE=text> и <INPUT TYPE=password>, атрибут не обязателен, поскольку значение соответствующей переменной может вводиться пользователем с клавиатуры.
Основные типы элементов <INPUT>:
TYPE=text | Определяет окно для ввода строки текста. Может содержать дополнительные атрибуты SIZE=[число] (ширина окна ввода в символах) и MAXLENGTH=[число] (максимально допустимая длина вводимой строки в символах). <INPUT TYPE=text SIZE=20 NAME=user VALUE="Иван"> Определяет окно шириной 20 символов для ввода текста. По умолчанию в окне находится текст Иван, который пользователь может редактировать. Отредактированный (или неотредактированный) текст передается обработчику в переменной user. |
TYPE=password | Определяет окно для ввода пароля. Аналогичен типу text, только вместо символов вводимого текста показывает на экране звездочки (*). <INPUT TYPE=password NAME=pw SIZE=20 MAXLENGTH=10> Определяет окно шириной 20 символов для ввода пароля. Максимально допустимая длина пароля — 10 символов. Введенный пароль передается обработчику в переменной pw. |
TYPE=radio | Определяет радиокнопку. Может содержать дополнительный атрибут checked (показывает, что кнопка помечена). В группе радиокнопок с одинаковыми именами может быть только одна помеченная радиокнопка. <INPUT TYPE=radio NAME=modem VALUE="9600" checked> 9600 бит/с <INPUT TYPE=radio NAME=modem VALUE="14400"> 14400 бит/с <INPUT TYPE=radio NAME=modem VALUE="28800"> 28800 бит/с Определяет группу из трех радиокнопок, подписанных 9600 бит/с, 14400 бит/с и 28800 бит/с. Первоначально помечена первая из кнопок. Если пользователь не отметит другую кнопку, обработчику будет передана переменная modem со значением 9600. Если пользователь отметит другую кнопку, обработчику будет передана переменная modem со значением 14400 или 28800. |
TYPE=checkbox | Определяет квадрат, в котором можно сделать пометку. Может содержать дополнительный атрибут checked (показывает, что квадрат помечен). В отличие от радиокнопок, в группе квадратов с одинаковыми именами может быть несколько помеченных квадратов. <INPUT TYPE=checkbox NAME=comp VALUE="PC"> Персональные компьютеры <INPUT TYPE=checkbox NAME=comp VALUE="WS" checked> Рабочие станции <INPUT TYPE=checkbox NAME=comp VALUE="LAN"> Серверы локальных сетей <INPUT TYPE=checkbox NAME=comp VALUE="IS" checked> Серверы Интернет Определяет группу из четырех квадратов. Первоначально помечены второй и четвертый квадраты. Если пользователь не произведет изменений, обработчику будут переданы две переменные: comp=WS и comp=IS. |
TYPE=hidden | Определяет скрытый элемент данных, который не виден пользователю при заполнении формы и передается обработчику без изменений. <INPUT TYPE=hidden NAME=version VALUE="1.1"> Определяет скрытую переменную version, которая передается обработчику со значением 1.1. |
TYPE=reset | Определяет кнопку, при нажатии на которую форма возвращается в исходное состояние. Поскольку данные обработчику не передаются, кнопка типа reset может не иметь атрибута name. <INPUT TYPE=reset VALUE="Очистить поля формы"> Определяет кнопку Очистить поля формы, при нажатии на которую форма возвращается в исходное состояние. |
Помимо элементов <INPUT>, формы могут содержать меню <SELECT> и поля для ввода текста <TEXTAREA>.
Меню <SELECT> из n элементов выглядит так:
<SELECT NAME="имя">
<OPTION VALUE="значение 1">текст 1
<OPTION VALUE="значение 2">текст 2
...
<OPTION VALUE="значение n">текст n
</SELECT>
Меню начинается с тега <SELECT> и заканчивается тегом </SELECT>. Тег <SELECT> содержит обязательный атрибут NAME, определяющий имя переменной, которую генерирует меню.
Тег <SELECT> может также содержать атрибут MULTIPLE, присутствие которого показывает, что из меню можно выбрать несколько элементов. Большинство браузеров показывают меню <SELECT MULTIPLE> в виде окна, в котором находятся элементы меню (высоту окна в строках можно задать атрибутом SIZE=число). Меню <SELECT> в большинстве случаев показывается в виде выпадающего меню.
Тег <OPTION> определяет элемент меню. Обязательный атрибут VALUE устанавливает значение, которое будет передано обработчику, если выбран этот элемент меню. Метка <OPTION> может включать атрибут selected, показывающий, что данный элемент отмечен по умолчанию.
<SELECT NAME="selection">
<OPTION VALUE="option1" selected >Вариант 1
<OPTION VALUE="option2">Вариант 2
<OPTION VALUE="option3">Вариант 3
</SELECT>
Такой фрагмент определяет меню из трех элементов: Вариант 1, Вариант 2 и Вариант 3. По умолчанию выбран элемент Вариант 1. Обработчику будет передана переменная selection значение которой может быть option1 (по умолчанию), option2 или option3.
Элемент <TEXTAREA> является совсем простым.
<TEXTAREA NAME=address ROWS=5 COLS=50> А здесь - Ваш адрес... </TEXTAREA>
Все атрибуты обязательны. Атрибут NAME определяет имя, под которым содержимое окна будет передано обработчику (в примере — address). Атрибут ROWS устанавливает высоту окна в строках (в примере — 5). Атрибут COLS устанавливает ширину окна в символах (в примере — 50).
Текст, размещенный между метками <TEXTAREA> и </TEXTAREA>, представляет собой содержимое окна по умолчанию. Пользователь может его отредактировать или стереть.
Пример 11
<HTML>
<HEAD>
<TITLE>Пример 11</TITLE>
</HEAD>
<BODY> <H1>Несколько более сложная форма </H1>
<FORM ACTION="http://win_pp.php" METHOD=post>
<H2>Расскажите немного о себе...</H2>
<P>Указывать подлинные данные совсем не обязательно.
Для целей демонстрации вполне подойдут и вымышленные.
</P>
<P>Имя: <INPUT TYPE=text SIZE=40 NAME=fn><BR>
Фамилия: <INPUT TYPE=text SIZE=40 NAME=ln><BR>
Пол: <INPUT TYPE=radio NAME=gender VALUE="male"
checked>мужской
<INPUT TYPE=radio NAME=gender VALUE="female">женский<BR>
Возраст: <INPUT TYPE=text SIZE=5 NAME=age> лет<BR>
<INPUT TYPE=submit VALUE="Запустить обработчик"></P>
</FORM>
</BODY>
</HTML>
HTML предоставляет в распоряжение довольно мощный механизм пересылки содержимого форм по электронной почте.
Изменим Пример 11. Вместо строки
<FORM ACTION="http://win_pp.php" METHOD=post>
введем строку
<FORM ACTION="mailto:user@mail.box" ENCTYPE=text/plain METHOD=post>
Обратите внимание, что мы изменили алгоритм кодирования на text/plain, то есть фактически выключили кодирование вообще.
Пользователь указал имя Иван, фамилию Петров, мужской пол и возраст 22 года. Теперь на адрес user@mail.box электронной почтой автоматически будет отправлено сообщение следующего содержания:
fn=Иван
ln=Петров
gender=male
age=22