Чтобы сохранить этот файл на своём компьютере, воспользуйтесь пунктом меню File->Save As (Internet Explorer) или File->Save Page As (Mozilla). Ну или неким аналогичным, ежли вы ещё каким броузером пользуетесь...

Язык гипертекстовой разметки
HTML

   Урок 1

Тема: тэги, HTML документ.

Язык HTML основан на использовании тэгов. Тэги - это команды, которые указывают браузеру, где и как расположить на странице текст и картинки, а также позволяют организовывать ссылки на другие документы. Для того, чтобы браузер не путал тэги с текстом, их отмечают треугольными скобками < и >. Большинство тэгов, как правило, используются парами. Т.е. первым идет открывающий тэг, он объясняет браузеру, что делать с последующим текстом. Затем следует закрывающий тэг, который указывает область действия первого. Отличается закрывающий тэг от открывающего наличием в нем косой черты - слэша.

Пример HTML текста:

Вот <I>это курсив</I>, а это уже нет.

На экране вы увидите:

Вот это курсив, а это уже нет.

Тэги не чувствительны к регистру. Это означает, что <TITLE>,<title> и <TitLe> для браузера абсолютно одинаковы.

Теперь рассмотрим, из чего, в основном, состоит HTML документ. Сам документ ограничивается тэгами <HTML> и </HTML> - браузер должен знать, где страница начинается, и где заканчивается. Состоит из заголовка (теги <HEAD> и </HEAD>), содежащего различную информацию о документе, и, собственно, тела документа (теги <BODY></BODY>), т.е. того, что вы видите в окне браузера. В заголовке находится заглавие (или название) страницы, рекомендуется не более 64 символов, теги < TITLE> и <TITLE>. Пример:

<HTML>
<HEAD>
<TITLE>Название страницы</TITLE>
</HEAD>
<BODY>
Здесь находится текст странички, различные картинки.
</BODY>
</HTML>

Попробуйте набрать этот пример в любом текстовом редакторе и сохранить его с расширением .html или .htm. Теперь можно его просматривать, как любой HTML документ.


   Урок 2

Тема: выделение текста - физические и логические стили.

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

Физические стили.

Под физическими стилями подразумевают прямое указание браузеру на модификацию текущего шрифта. Т.е. между тэгами <B> и </B> будет жирный шрифт, а между <I> и </I> - курсив (наклонный).

<B>

- жирный шрифт;

<I>

- курсив;

<TT>

- шрифт фиксированной ширины (как на пишущей машинке);

<U>

- подчеркнутый текст;

<STRIKE>

- перечеркнутый шрифт;

<S>

- тоже перечеркнутый шрифт;

<BIG>

- шрифт большего размера;

<SMALL>

- шрифт меньшего размера.

Шрифты могут комбинироваться. Например, используя такой текст

<B><I>пример</I></B>

мы получим комбинацию жирного и наклонного шрифтов: пример.

Логические стили.

Используя логические стили, вы не можете точно знать, что увидит на экране читатель. Разные браузеры толкуют одни и те же метки логических стилей по разному. Например, <STRONG> обычно выделяет текст жирным шрифтом, но кто-то из читателей захочет, возможно, чтобы в данном случае текст выделялся цветом. Таким образом логические стили дают большую свободу в выборе шрифтов пользователю.

<DFN> - служит для описания определений (это определение);
<
EM> - служит для выделения текста (это выделенное слово);
<
CITE> - служит для выделения цитат (это цитата);
<
CODE> - служит для выделения программных кодов, текстов программ и т.п. Обычно выделяется шрифтом фиксированной ширины (это текст программы);
<
KBD> - используется для ввода с клавиатуры пользователя (Введите password );
<
SAMP> - используется для вывода машинных сообщений (Segmentation fault: core dumped);
<
STRONG> - служит для особого выделения текста, обычно выделяется жирным текстом (это очень важный текст);
<
VAR> - используется для символьных переменных (это переменная);
<
ABBR> - используется для аббревиатур (СНГ, КПСС, WWW);
<
ACRONYM> - используется для сокращений (стр., англ.).

Элементы <ABBR> и <ACRONYM> могут содержать атрибут <TITLE>, описывающий расшифровку аббревиатуры или сокращения:
<ABBR TITLE="World Wide Web">WWW</ABBR>
Элементы ABBR и ACRONYM используются для голосовых браузеров (для слепых, например), в остальных браузерах сокращения каким-либо шрифтом не выделяются.


   Урок 3

Тема: форматирование текста.

HTML имеет 6 уровней заголовков разделов страницы, имеющих номера от 1 до 6. Заголовок высшего уровня имеет номер 1. Отличаются заголовки от текста и между собой толщиной и высотой букв, в заголовке <H1> самые крупные символы. Тэги <H1>..</H1>, <H2>..</H2>, ... , <H6>..</H6>.
Абзацы в тексте выделяются тэгами <P>..</P>. При просмотре браузером абзацы отделяются друг от друга пустой строкой. Надо заметить, что в существующих версиях HTML закрывающий тэг </P> не используется. Но все-таки рекомендуется его употреблять, так как он может быть введен в последующих версиях. К ошибке это не приведет - браузер просто проигнорирует все незнакомые тэги. А вам потом не придется переделывать свои документы. В версии HTML+ предлагается использовать закрывающий тэг </P>.

И заголовки, и абзацы по умолчанию выключены влево (т.е. прижаты к левому краю окна). Атрибут ALIGN позволяет выключить текст по центру или вправо. Синтаксис: <P ALIGN=RIGHT>, может принимать значения LEFT (влево), CENTER (по центру), RIGHT (вправо). Пример:

<P>Этот абзац расположен слева<P>
<P ALIGN=CENTER>Этот абзац по центру</P>
<P ALIGN=RIGHT>А вот этот абзац справа</P>

Что дает при просмотре:

Этот абзац расположен слева

Этот абзац по центру

А вот этот абзац справа

Аналогично форматируются и заголовки: <H1 ALIGN=RIGHT>..</H1> и т.д.
Еще один полезный способ выравнивания по центру, это использование тэгов <CENTER>..<CENTER>. Они позволяют отформатировать сразу несколько заголовков и абзацев. Например:

<CENTER>
<H1>Заголовок страницы</H1>
<H2>Подзаголовок</H2>
<P>Абзац 1.</P>
<P>Абзац 2.</P>
</CENTER>

В результате заголовок, подзаголовок и оба абзаца будут выключены по центру.

Чтобы перейти на новую строку, не прерывая абзаца (т.е., чтобы не вставлять пустую строку между абзацами), применяется тэг <BR>. Закрывающего тэга у него нет.

Тэг <HR> описывает горизонтальную линию. Может включать атрибуты:

Пример использования тэгов <BR> и <HR>:

Стишок-нескладуха
<HR NOSHADE WIDTH="250" ALIGN="LEFT">
Нет приятнее занятья,<BR>
Чем в носу поковырять:<BR>
Всем ужасно интересно,<BR>
Что там спрятано внутри.<BR>
А кому смотреть противно,<BR>
Тот пускай и не глядит -<BR>
Мы же в нос к нему не лезем,<BR>
Пусть и он не пристает!<BR>
<HR SIZE=4 WIDTH=50%>

Получаем:

Стишок-нескладуха


Нет приятнее занятья,
Чем в носу поковырять:
Всем ужасно интересно,
Что там спрятано внутри.
А кому смотреть противно,
Тот пускай и не глядит -
Мы же в нос к нему не лезем,
Пусть и он не пристает!


Метки <BLOCKQUOTE></BLOCKQUOTE> добавляют к выделенному ими тексту со всех четырех сторон поля (сверху и снизу - по пустой строке, слева и справа - шириной в 5 знаков). Пример - этот абзац.

Еще один способ форматирования текста - использование меток <PRE>..</PRE> (prefomatted text - предварительно форматированный текст). Обычно браузеры игнорируют множественные пробелы и символы конца строки. Однако с использованием тега <PRE> текст выводится в окне браузера точно в том виде, как он есть в исходном HTML-документе.
Пример. В тексте:

<PRE>
Чтобы стихотворение красиво
      смотрелось в окне браузера,
            вовсе необязательно использовать
                     тэг &lt;BR&gt;!
</PRE>

В окне браузера:

Чтобы стихотворение красиво
      смотрелось в окне браузера,
            вовсе необязательно использовать
                     тэг <BR>!

   Урок 4

Тема: ссылки.

Ссылки - инструмент, позволяющий связывать между собой различные документы. Браузер обычно выделяет ссылку цветом и/или подчеркиванием. Описывается ссылка следующим образом:

<A HREF="путь/имя файла">Ссылка на документ</A>

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

Различают относительные и абсолютные ссылки. Примеры относительной ссылки:

<A HREF="filename.htm"> - на документ "filename.htm", находящийся в одном каталоге с текущим документом;
<A HREF="./filename.htm"> - в точности то же самое;
<A HREF="folder/filename.htm"> - переход на файл "filename.htm" в подкаталоге "folder" текущего каталога;
<A HREF="../folder/filename.htm"> - подняться вверх на один шаг по дереву каталогов, перейти в каталог "folder" и осуществить переход на "filename.htm".

В абсолютной ссылке указывается полный путь к файлу:

<A HREF="http://www.fortunecity.com/business/fax/339/index.htm">

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

Можно делать ссылки внутри документа. Это удобно для перехода к разным главам одной большой статьи. Для этого необходимо создать некую опорную точку - анкер (anchor - якорь,англ.), на которую и будет происходить переход. Разберем это на примере. Допустим, нам надо перейти на начало этого урока. Для чего создадим такой анкер:

<A NAME=lesson4>Ссылки

При этом слово "Ссылки" в тексте никак выделяться не будет. Теперь в тексте можем делать ссылку на анкер (и не один раз). Например, так:

Нажмите <A HREF="#lesson4">здесь</A> для возврата к началу урока

И получите:

Нажмите здесь для возврата к началу урока

Можете нажать - пример работает! К этому анкеру можно перейти и из другого файла (например, чтобы сделать ссылку к конкретному уроку 4, а не урокам HTML вообще). Тогда ссылка будет выглядеть так:

<A HREF="uroki.htm#lesson4">

До сих пор мы рассматривали ссылки на HTML-документы. Однако возможны ссылки и на другие виды ресурсов:

<A HREF="ftp://servername/directory/file.ext">

Такая ссылка запустит протокол передачи файлов и произведет выгрузку файла "file.ext" из директории "directory" сервера "servername" на жесткий диск пользователя (download).

Еще один вид ссылки - ссылка на почтовый ящик. Выглядит в тексте:

Пишите письма <A HREF="mailto:zhunya@mail.ru">автору</A>

В окне браузера:

Пишите письма автору

А это то же самое (ссылка на почтовый ящик), но с использованием атрибута TITLE. В тексте:

Пишите письма <A HREF="mailto:zhunya@mail.ru" TITLE="Ссылка на почтовый ящик Сергея Жуковича">автору</A>

В окне браузера:

Пишите письма автору

Попробуйте навести курсор на "автора".

Внимание! Браузеры чувствительны к регистру ссылок. Если вы вместо "http://webs.web.com" наберете "http://webs.Web.com", то получите нерабочую ссылку. Та же ситуация и с расширениями: если у вас ссылка на файл "index.htm", а там находится "index.html", то результат тот же - нерабочая ссылка.


   Урок 5

Тема: рисунки.

В свою страничку можно вставить рисунок. Для этого нужен сам рисунок - обычно используют изображения в формате GIF (файлы с расширениями .gif) и JPEG (файлы с расширениями .jpg и .jpeg) и строчка HTML-тексте, указывающая браузеру, где этот рисунок находится:

<IMG SRC="picture.gif"> - рисунок "picture.gif" находится в том же каталоге, что и текущий документ;
<IMG SRC="images/picture.gif"> - перейти в подкаталог "images" текущего каталога и взять файл оттуда;
<IMG SRC="../images/picture.gif"> - подняться вверх на один шаг, перейти в каталог "images" и взять рисунок оттуда;
<IMG SRC="http://www.fortunecity.com/business/fax/339/artics/practic/myphoto.gif"> - указание полного пути к файлу. Обычно применяется, если рисунок находится на другом сервере, или используется картинка с другого сайта.

У данного тэга могут быть следующие атрибуты:

Значения n перечисленных выше атрибутов по умолчанию равны нулю.

Рисунок может быть ссылкой. Для этого <IMG SRC="..."> разместите между тэгами <A HREF="..."> и </A>. Вокруг рисунка появится рамка, показывающая, что он является ссылкой. Если рамка портит внешний вид документа, то укажите в атрибутах рисунка BORDER="0".

   Урок 6

Тема: цвет фона и текста, шрифты.

Цвет фона определяется значением атрибута BGCOLOR - шестнадцатиричным числом вида #hhhhhh, где первая пара символов является значением насыщенности для красного цвета, вторая - для зеленого, и третья пара - для синего цвета. #00 - минимальная насыщенность, #FF - максимальная насыщенность цвета. Можно использовать текстовое определение цвета: BLUE, RED, FUCHSIA и т.п - одно из шестнадцати допустимых значений.

 

 

BLACK

#000000

 

 

GREEN

#008000

 

 

SILVER

#C0C0C0

 

 

LIME

#00FF00

 

 

GRAY

#808080

 

 

OLIVE

#808000

 

 

WHITE

#FFFFFF

 

 

YELLOW

#FFFF00

 

 

MAROON

#800000

 

 

NAVY

#000080

 

 

RED

#FF0000

 

 

BLUE

#0000FF

 

 

PURPLE

#800080

 

 

TEAL

#008080

 

 

FUCHSIA

#FF00FF

 

 

AQUA

#00FFFF

Например, чтобы сделать цвет фона страницы фиолетовым, можно написать

<BODY BGCOLOR="#FF00FF">, а можно и так:
<BODY BGCOLOR="PURPLE">.

Строго говоря, текстовых значений цвета значительно больше (SCARLET, VIOLET, BROWN и т.д. и т.п.), но не все браузеры их "знают". Применимы также значения LIGHTGREEN (светлозеленый), LIGHTYELLOW (светложелтый) и LIGHTBLUE (светлосиний).

Фоном может служить и какое-то изображение. При этом заданная область заполняется множественными копиями этого изображения (как кафельной плиткой). Для этого используется атрибут BACKGROUND с указанием пути к рисунку. Например

<BODY BACKGROUND="graph/picture.gif">

Аттрибуты BGCOLOR и BACKGROUND могут находиться внутри метки <BODY>, тогда цвет фона устанавливается для всей страницы, либо в метках <TABLE>, <TR> и <TD> - устанавливается цвет фона во всей таблице, ее строке и ее ячейке соответсвенно (таблицы - тема следующего урока).

Для изменения цвета и размера шрифта используется метка <FONT></FONT>. Ее атрибуты:

Пример использования метки <FONT>:

<FONT SIZE="5" COLOR="RED" FACE="SANS-SERIF">Крупный шрифт красного цвета без засечек</FONT>

В окне браузера увидите Крупный шрифт красного цвета без засечек

Для размещения текста в верхнем или нижнем регистре используются соответственно метки <SUP>..</SUP> (superscript) и <SUB>..</SUB> (subscript). Пример их использования:

в тексте:

 

в окне браузера:

E=mc<SUP>2</SUP>

 

E=mc2

2<SUP>x+2</SUP>=64

 

2x+2=64</< td>

H<SUB>2</SUB>O

 

H2O

Тэг BODY может содержать атрибут TEXT, который определяет цвет шрифта для всей страницы. Значение атрибута - шестнадцатиричное значение цвета или текстовое. <BODY TEXT="NAVY"> устанавливает цвет шрифта на странице темно-синим.

Также в тэге BODY можно определить каким цветом на вашей странице будут выделяться ссылки. Это атрибуты:


   Урок 7

Тема: таблицы.

Для чего нужны таблицы? Ответ на этот вопрос очевиден: для представления данных в табличном виде. Но не только.

До сих пор мы имели дело с документами, в которых существовал только один поток текста.

На практике же порой хочется расположить текст в несколько колонок. В этом нам может помочь таблица.

В таблице может размещаться не только текст...

...но и

 или картинки

Таблицы позволяют достаточно точно контролировать расположение элементов на странице!

Чтобы разобраться в устройстве таблицы, расмотрим простой пример:

Таблица 1.

Ячейка 1

Ячейка 2

Ячейка 3

Ячейка 4

Такая табличка реализуется следующим кодом:

 
<TABLE BORDER="1" WIDTH="200" BGCOLOR="#A0DDA0">
<CAPTION>Таблица 1.</CAPTION>
<TR>
<TD>Ячейка 1</TD>
<TD>Ячейка 2</TD>
</TR>
<TR>
<TD>Ячейка 3</TD>
<TD>Ячейка 4</TD>
</TR>
</TABLE>

Таблица начинается с метки <TABLE> и заканчивается </TABLE>. Метка <TABLE> может включать следующие атрибуты:

Таблица может иметь заголовок - метки <CAPTION> и </CAPTION>. Располагаться он должен непосредственно после метки <TITLE ... >. Заголовок может иметь атрибут ALIGN, определяющий положение заголовка относительно таблицы:

TOP

- значение по умолчанию, заголовок над таблицей по центру;

LEFT

- заголовок над таблицей слева;

RIGHT

- заголовок над таблицей справа;

BOTTOM

- заголовок под таблицей по центру.

Строки таблицы начинаются тэгом <TR> и заканчиваются </TR>. Могут иметь атрибуты:

Каждая ячейка таблицы начинается меткой <TD> и заканчивается </TD>. Может иметь следующие ттрибуты:

Кроме того любая ячейка таблицы может быть определена не метками <TD></TD>, а метками <TH></TH> - Table Header (заголовок таблицы). В принципе, это обычная ячейка, но текст внутри выделен полужирным шрифтом и отцентрирован.

Ряды таблицы могут быть объединены в группы. Для этого служат следующие метки:
<THEAD>...</THEAD> - здесь объединяются ячейки верхнего заголовка таблицы;
<TFOOT>...</TFOOT> - ячейки нижнего заголовка таблицы;
<TBODY>...</TBODY> - а здесь объединяются ряды собственно содержимого таблицы (может быть несколько групп TBODY).
Каждая группа должна содержать хотя бы один ряд TR. Группа TFOOT должна находиться до TBODY, хотя на экране она будет располагаться внизу таблицы (Netscape не поддерживает это). Все гуппы должны содержать одинаковое количество столбцов. Использование групп рядов: в идеале они предназначены для просмотра (скроллинга) больших таблиц независимо от заголовков. К сожалению, большинство браузеров пока не поддерживают эту функцию. Можно использовать группы рядов для рисования линий только между ними (а не между всеми рядами), или выборочного форматирования частей таблицы (горизонтальное, вертикальное выравнивание содержимого ячеек).

Столбцы таблицы также могут быть объединены в группы при помощи меток <COLGROUP> и <COL>. Метка COLGROUP позволяет объединить столбцы в группы, которые могут выделяться, например, использованием атрибута RULES элемента TABLES. Метка COL позволяет применить какие-либо атрибуты (выравнивание и т.п.) к нескольким столбцам не объединяя их в структурную группу.

<COLGROUP> может содержать следующие атрибуты:

<COL> содержит те же атрибуты, что и <COLGROUP>. Если ширина столбцов задана и в COL, и в COLGROUP, то выбирается значение метки COL. Метка <COL> непарная, т.е. закрывающего тэга у нее нет.

Пример. Будет создана таблица шириной в 20 столбцов. Первый столбец будет 40 пикселов шириной с выравниванием влево. Второй - минимально возможной ширины с выравниванием по центру. Остальные 18 - шириной в 20 пикселов и выравниванием по центру.

<TABLE>
<COLGROUP WIDTH="20" ALIGN="CENTER">
<COL WIDTH="40" ALIGN="LEFT">
<COL WIDTH="0*">
<COL SPAN="18">
</COLGROUP>
<TR>
.....Содержимое таблицы......
</TABLE>

К сожалению, браузеры Netscape поддерживают далеко не все возможности таблиц. В результате таблица, которая отлично выглядит в Microsoft Explorer, в Netscape может оказаться вообще без рамок.

Если ячейка пустая, то вокруг нее рамка не рисуется. Если рамка все же нужна вокруг пустой ячейки, то в нее надо ввести символьный объект &nbsp; (non-breaking space - неразрывающий пробел). Ячейка по-прежнему будет пуста, а рамка вокруг нее будет (&nbsp; - обязательно должен набираться строчными буквами и закрываться точкой с запятой).

Любая ячейка таблицы может содержать в себе еще одну таблицу.

Возможные ошибки в таблицах:


   Урок 8

Тема: списки.

Использование списков позволяет более удобно и наглядно представлять текст в окне браузера. Язык HTML поддерживает ненумерованные и нумерованные списки, списки определений.

Ненумерованный список определяется метками <UL></UL>. Нумерованный - метками <OL></OL>. Элементы списка отмечаются метками <LI>. В нумерованном списке элементы нумерует сам браузер. Примеры:

<UL>Список коней:
<
LI>Сивка
<
LI>Бурка
<
LI>вещая Каурка
</
UL>

<OL>Список коней:
<
LI>Сивка
<
LI>Бурка
<
LI>вещая Каурка
</
OL>

Это дает на экране следующие списки:

 

Список коней:

  • Сивка
  • Бурка
  • вещая Каурка

Список коней:

  1. Сивка
  2. Бурка
  3. вещая Каурка

Заметим, метка <LI> непарная - т.е. метки </LI> не существует.

Список определений ограничивается метками <DL></DL>. Элементы списка отмечаются следующим образом: меткой <DT> - определяемое слово или выражение, меткой <DD> - само определение. Пример:

<DL>Расшифровка меток:
<
DT>UL<DD>unordered list - ненумерованный список
<
DT>OL<DD>ordered list - нумерованный список
<
DT>LI<DD>list item - элемент списка
<
DT>DL<DD>definition list - список определений
<
DT>DT<DD>definition term - определяемый термин
<
DT>DD<DD>definition description - описание определения
</
DL>

Результат на экране:

Расшифровка меток:

UL

unordered list - ненумерованный список

OL

ordered list - нумерованный список

LI

list item - элемент списка

DL

definition list - список определений

DT

definition term - определяемый термин

DD

definition description - описание определения

Обратите внимание, метки <DT> и <DD> также, как и <LI>, не имеют парных закрывающих меток. В метке <DL> можно использовать атрибут COMPACT, если его применить в предыдущем примере (<DL COMPACT>), то результат выглядел бы так:

Расшифровка меток:

UL

unordered list - ненумерованный список

OL

ordered list - нумерованный список

LI

list item - элемент списка

DL

definition list - список определений

DT

definition term - определяемый термин

DD

definition description - описание определения

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

В списках могут использоваться следующие атрибуты:

TYPE - определяет стиль представления элементов списка (для меток <UL> и <OL>), подробнее ниже;
START - (только для нумерованного списка <OL>) определяет значение первого элемента списка. По умолчанию 1. Обратите внимание, что несмотря на то, что значение атрибута - всегда числовое значение, элемент списка может быть быть нечисловым - в зависимости от значения атрибута TYPE;
VALUE - (только для метки <LI>) устанавливает номер текущего элемента списка. Как и в предыдущем случае элемент списка может быть нечисловым, хотя его значение - всегда число.

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

  • DISC
  • SQUARE
  • CIRCLE

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

Значение TYPE

Стиль представления элемента списка

1

арабские цифры

1,2,3,...

a

строчные буквы

a,b,c,...

A

прописные буквы

A,B,C,...

i

римские цифры

i,ii,iii,...

I

римские цифры

I,II,III,...

По умолчанию значения TYPE устанавливаются в зависимости от степени вложенности списка.


   Урок 9

Тема: &-последовательности, комментарии.

Как уже упоминалось, такие знаки как "<", ">", двойные кавычки и амперсанд ("&") используются в HTML для выделения тэгов, определения адресов, значений атрибутов и т.п. Поэтому при просмотре документа браузером эти знаки не видны на экране. Если же их надо отобразить на экране, то используют так называемые &-последовательности:

<

последовательность &lt; (от английского "less than");

>

последовательность &gt; (от "greater than");

"

(двойные кавычки) последовательность &quot; (от "quotations mark");

&

последовательность &amp; (от "ampersand").

Внимание! &-последовательности должны набираться только в нижнем регистре (никаких &LT; или &QUOT; быть не должно!), и точка с запятой в конце последовательности обязательна.

Пример. Чтобы пользователь увидел на экране крейсер "Аврора", в HTML-документе должен быть следующий код: крейсер &quot;Аврора&quot;

Вообще &-последовательностей гораздо больше. Здесь стоит упомянуть еще о таких:

&nbsp;

(nonbreaking space) - неразрывный пробел. Браузеры игнорируют множественные обычные пробелы, этот же будет показан. Также используется для заполнения пустых ячеек таблицы, пустых абзацев, для склеивания слов (если набрать TOP&nbsp;100, то у вас никогда не получится, что TOP останется в одной строке, а 100 перенесется на следущую, например, при изменении шрифта или размера окна браузера);

&copy;

© (copyright) - авторские права (или как порой шутят: "скопировано правильно");

&reg;

® (registered trademark) - зарегистрированный товарный знак.

Куда и к какой теме пристроить следующий материал я так и не смог придумать, поэтому добавил к этому уроку. Это комментарии. Текст, расположенный между в HTML-документе <!-- и --> не будет отображен на экране при просмотре, а будет виден лишь при редактировании документа. Пример:

<!-- Это мой комментарий -->
<!-- А этот комментарий занимает в тексте
       несколько
            строк -->

Не допустите ошибку! В комментариях не допускается вставлять два и более дефисов подряд: -- или ----- (разные браузеры по разному реагируют на это).

 


Урок 10

Тема: изображения-карты (image maps).

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

Существует два типа изображений-карт:

Первый тип проще и доступнее, поэтому далее рассматривать будем только его.

Для создания изображения-карты используются элементы <MAP> и <AREA>.

Элемент MAP (так и переводится - "карта") должен обязательно иметь атрибут NAME. Это позволяет указать браузеру, к какому именно рисунку на странице относится данная карта.

Элемент AREA имеет следующие атрибуты:

Если описываемые области пересекаются (накладываются друг на друга), то приоритет имеет область, описанная первой.

Аттрибут USEMAP используется для того, чтобы соотнести какое-то изображение с определенной картой. Он может использоваться с элементами IMG (чаще всего!), OBJECT и INPUT.

Котуры ссылок точно повторяют контуры рисунков. В данном примере при клике на ссылку будет лишь появляться сообщение "Нажата ссылка...", чтобы зря не гонять вас по страницам и не отнимать драгоценное время! Рассмотрим пример подробнее:

<IMG SRC="../picts/maps.gif" BORDER="0" HEIGHT="145" WIDTH="360"
 ALT="Пример изображения-карты" USEMAP="#primer">
<MAP NAME="primer">
<AREA SHAPE="poly" COORDS="11,9,200,9,200,26,61,26,61,36"
 TITLE="Ссылка 1" HREF="javascript:alert('Нажата ссылка 1');">
<AREA SHAPE="poly" COORDS="11,55,11,134,60,134"
 TITLE="Ссылка 2" HREF="javascript:alert('Нажата ссылка 2');">
<AREA SHAPE="rect" COORDS="80,64,200,94"
 TITLE="Ссылка 3" HREF="javascript:alert('Нажата ссылка 3');">
<AREA SHAPE="rect" COORDS="80,104,200,134"
 TITLE="Ссылка 4" HREF="javascript:alert('Нажата ссылка 4');">
<AREA SHAPE="circle" COORDS="285,72,43"
 TITLE="Здесь нет ссылки" NOHREF>
<AREA SHAPE="circle"" COORDS="285,72,64"
 TITLE="Ссылка кольцевая" HREF="javascript:alert('Нажата
 ссылка в виде кольца');">
</MAP>

У элемента IMG указан атрибут USEMAP со значением "#primer". И далее следует карта (MAP) с именем "primer". Дело в том, что таких рисунков на странице может быть несколько, и соответственно несколько карт к ним. Более того, одна карта может подходить к нескольким рисункам (например, внизу и вверху страницы у вас размещены рисунки с навигацией по сайту). Чтобы браузер знал, какому рисунку какая карта соответствует, необходимо указывать имена.

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

Об использовании атрибута SHAPE со значением "default". Если в данном примере после всех ссылок добавить, например, такую строку:
<AREA SHAPE="default" HREF="javascript:alert('Вы нажали на фон');">
то весь оставшийся рисунок (в данном случае фон) станет ссылкой.

 

 Урок 11

Тема: звук на страничке.

Думаю, вам уже попадались странички, после загрузки которых начинала звучать музыка. Честно признаюсь, особого восторга от них я не испытываю. Но рассмотреть эту возможность надо.

Самый простой способ предложить посетителю послушать музыку, это сделать простую ссылку на звуковой файл. Вот так:

<A HREF="music/posen.mid">ДДТ, "Осень"</A>

Посетитель вашей страницы, увидев такую ссылку - ДДТ, "Осень", сам решит, хочет ли он это слушать и стоит ли по ней кликать. После клика по такой ссылке начнется загрузка файла, который затем можно прослушать.

Чаще используют тег <EMBED>. Действие этого элемента следующее: после загрузки страницы автоматически загружается и проигрывается звуковой файл. При этом в окне появляется панель проигрывателя (или пульт управления проигрывателя - как вам удобнее называть). Пример:

<EMBED SRC="music/osen.mid" AUTOSTART="TRUE">

Как всегда, тут не все так безоблачно, как хотелось бы. По своей давней традиции создатели Netscape и Explorer не договорились между собой, и потому в разных браузерах эта панель выглядит и, самое обидное, ведет себя по разному.

Элемент <EMBED> может иметь следующие атрибуты:

Пример использования перечисленных выше атрибутов:

<EMBED SRC="music/osen.mid" HIDDEN="TRUE" AUTOSTART="TRUE" LOOP="TRUE">

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

Некоторые браузеры поддерживают еще атрибут CONTROLS ("органы управления" - англ.), который позволяет сконфигурировать панель управления. Он может иметь следующие значения:

Элемент <EMBED> поддерживает звуковые файлы с расширениями MID, WAV, AIFF, AU, видеофайлы AVI.

Элемент <BGSOUND> задает фоновый звук для страницы, т.е. звуковой фрагмент, который будет звучать сразу после загрузки страницы. Браузером Netscape не поддерживается. Может иметь атрибут LOOP, определяющий количество повторов фрагмента. Пример использования:

<BGSOUND SRC="music/osen.mid" LOOP="3">

    Урок 12

Тема: фреймы.

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

Суть фреймов в принципе проста: страница делится на несколько окон, в каждое из которых загружается своя страничка (или картинка), со своим собственным адресом. К примеру, в левом окне - "vasja.html", а в правом - "pupkin.html" (которая физически может находиться где-нибудь на другом сервере). Как и любые страницы в Интернете, они могут ссылаться на другие страницы и друг на друга. Кроме этих двух страниц вы должны написать третью, в которой и будут определяться размеры и свойства этих окон. Для этого используются только два тега - <FRAMESET> и <FRAME>. Чтобы их объяснить, рассмотрим пример:

Во-первых, создадим два файла - vasja.html и pupkin.html:

<html>
<head>
<title>фрейм</title>
</head>
<body>
Меня зовут Вася!
</body>
</html>
<html>
<head>
<title>фрейм</title>
</head>
<body>
А фамилия моя Пупкин. Это звучит круто!
</body>
</html>

Теперь делаем третий файл, назовем его index.html (назвать можно и по другому):

  <html>
  <head>
  <title>Страница с фреймами!</title>
  </head>
  <frameset cols="50%,50%">
  <frame src="vasja.html">
  <frame src="pupkin.html">
  </frameset>
  </html>

Вот его-то мы и рассмотрим подробнее. Во-первых, в нем отсутствуют теги <body> и </body>. Можно сказать, их роль выполняет тег <frameset>, хотя это не совсем верно. Тег <frameset> (переводится как "набор фреймов") с атрибутом cols="50%,50%" указывает браузеру, что страница должна быть поделена на два окна (фрейма), каждый шириной в 50% от ширины страницы. Тег <frame> определяет содержимое и свойства каждого фрейма (заметьте, что он не имеет закрывающего тега). В данном случае указано, что содержимым первого фрейма является файл vasja.html, второго - файл pupkin.html (фреймы считаются слева направо и сверху вниз. Здесь - этот пример в действии (откроется в новом окне). Все просто! Еще несколько примеров:

20%

30%

50%

Три фрейма разной ширины.

  <frameset cols="20%,30%,50%">
  <frame src="page1.html">
  <frame src="page2.html">
  <frame src="page3.html">
  </frameset>

25%

75%

Фреймы можно расположить рядами так же легко, как и столбцами. Просто меняем атрибут cols на rows:

  <frameset rows="25%,75%">
  <frame src="page1.html">
  <frame src="page2.html">
  </frameset>

Значения атрибутов cols и rows могут выражаться не только в процентах. cols="150,*,100" - страница разделена на три столбца, где ширина левого 150 пикселов, правого - 100 пикселов, а средний столбец - это все оставшееся между ними место (знак *). Если вы будете размеры фреймов устанавливать в пикселах, то желательно ширину (или высоту) одного из них определить значком *. Можно, например, написать cols="150,550,100", и все будет выглядеть отлично на вашем мониторе с разрешением 600*800. Но стоит только изменить разрешение, и картина полностью изменится. Потому-то и рекомендуется использовать "звездочку".

200

*

100

Пример:

  <frameset cols="200,*,100">
  <frame src="page1.html">
  <frame src="page2.html">
  <frame src="page3.html">
  </frameset>

150

*

2*

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

  <frameset cols="150,*,2*">
  <frame src="page1.html">
  <frame src="page2.html">
  <frame src="page3.html">
  </frameset>

*

15%

3*

То же, но для рядов: 2-й фрейм занимает 15% от высоты окна, а 1-й и 3-й - все остальное в пропорции 1:3.

  <frameset rows="*,15%,3*">
  <frame src="page1.html">
  <frame src="page2.html">
  <frame src="page3.html">
  </frameset>

Фреймы могут быть вложенными друг в друга. Это позволяет создавать более сложные конструкции страниц. Рассмотрим несколько примеров:

40%

60%

*

 
  <frameset rows="25%,*">
    <frameset cols="40%,60%">
    <frame src="page1.html">
    <frame src="page2.html">
    </frameset>
  <frame src="page3.html">
  </frameset>

В этом примере окно разбито на два фрейма: верхний занимает 25% высоты, нижний - все остальное. В свою очередь верхний фрейм разбит еще на два, где левый фрейм занимает 40% от ширины окна, а правый - 60 процентов.

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

Logo

Text

Menu

Banner

  <frameset cols="200,*">
    <frameset rows="150,*">
      <frame src="logo.html">
      <frame src="menu.html">
    </frameset>
    <frameset rows="*,70">
      <frame src="text.html">
      <frame src="banner.html">
    </frameset>
  </frameset>

Рассмотрим атрибуты тегов <frameset> и <frame>. Первый из них, <frameset> - парный тег, т.е. он обязательно должен иметь закрывающий тег. Может включать следующие атрибуты:

Тег <frame> может включать следующие атрибуты:

Как указывалось выше, атрибут name тега <frame> позволяет присвоить каждому фрейму свое имя, что позволяет управлять содержимым одного фрейма из другого (т.е. как в этих уроках - вы кликаете по ссылке в левом фрейме, а меняется содержимое правого). Как это сделать, рассмотрим на примере:

Меню

Урок 1

В левом фрейме у нас меню, а в правом - урок первый:

  <frameset cols="200,*">
  <frame src="menu.html">
  <frame src="urok1.html" name="content">
  </frameset>

Правому фрейму мы присвоили имя "content" (можно любое другое). Теперь создадим файл menu.html, это будет меню для левого фрейма:

  <html>
  <head>
  <title>menu</title>
  </head>
  <body>
  <a href="urok1.html" target="content">Урок 1</a>
  <br>
  <a href="urok2.html" target="content">Урок 2</a>
  <br>
  <a href="urok3.html" target="content">Урок 3</a>
  <br>
  <a href="urok4.html" target="content">Урок 4</a>
  <br>
  </body>
  </html>

Теперь клик по ссылке "Урок 2" вызовет загрузку страницы "urok2.html" в фрейме с именем "content" (т.е. в правом фрейме). При отсутствии атрибута target (перводится с английского как "цель") загрузка произошла бы в левом фрейме, где находится сама ссылка. Этот атрибут в данном примере можно указать только один раз - как атрибут тега <base>, т.е. все ссылки по умолчанию будут загружаться в фрейме с именем "content". В таком случае текст будет выглядеть так:

  <html>
  <head>
  <title>menu</title>
  </head>
  <body>
  <base target="content">
  <a href="urok1.html">Урок 1</a>
  <br>
  <a href="urok2.html">Урок 2</a>
  <br>
  <a href="urok3.html">Урок 3</a>
  <br>
  <a href="urok4.html">Урок 4</a>
  <br>
  </body>
  </html>

Кроме имени фрейма значением атрибута target может быть одно из следующих зарезервированных слов:

Все вышеперечисленные значения должны начинаться с символа подчеркивания и набираться только прописными буквами.

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

  <html>
  <head>
  <title>Уроки HTML</title>
  </head>
  <frameset cols="200,*">
  <frame src="menu.html">
  <frame src="urok1.html" name="content">
  </frameset>
  <noframes>
  <body>
  <p>Эта страница использует фреймы.
  Поскольку Ваш браузер не может просматривать такие страницы, 
  воспользуйтесь следующими ссылками:
  <p><a href="urok1.html">Урок 1</a>
  <p><a href="urok2.html">Урок 2</a>
  <p><a href="urok3.html">Урок 3</a>
  <p><a href="urok4.html">Урок 4</a>
  </body>
  </noframes>
  </html>

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

Придерживайтесь следующего порядка размещения: сперва контейнер <frameset>, а потом - <noframes> (т.е. как в примере). В противном случае возможна ошибка Netscap'а.

Существует еще одна разновидность фреймов - встроенный фрейм (inline frame). Он может быть вставлен непосредственно в текст страницы и выглядит следующим образом:

Ваш браузер не поддерживает фреймы (у Вас Netscape?). Здесь должен быть размещен пример встроенного фрейма.

Для встраивания такого фрейма используется тег <iframe>. Наличие закрывающего тега обязательно. Между ними можно вставлять любой текст для браузеров, не поддерживающих фреймы. Аттрибуты:

Для примера выше был использован следующий код:

  <iframe src="examples/iframe.htm" width="300" height="70" 
  scrolling="auto" frameborder="1">
  Ваш браузер не поддерживает фреймы.
  Здесь должен быть размещен пример
  встроенного фрейма.
 </iframe>

Размеры такого фрейма не могут изменяться пользователем. Поэтому атрибут noresize не используется.

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

<SCRIPT LANGUAGE="JavaScript"> 
<!-- 
 if (self.parent.frames.length == 0) 
 document.writeln("Эту страницу лучше просматривать во фрейме.");
 document.writeln("Если ваш браузер поддерживает фреймы, то");
 document.writeln("<A HREF=\"index.html\">кликните здесь.</A>"); 
 // -->
</SCRIPT>

Или такой:

<SCRIPT LANGUAGE="JavaScript"> 
<!-- 
 if (self.parent.frames.length == 0) 
 self.parent.location="index.html"; 
 // -->
</SCRIPT>

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