Язык гипертекстовой разметки HTML
Структура HTML-документа
HTML-документ представляет собой текстовый файл с расширением *.html или *.htm.
Для удобства используются необязательные дополнительные отступы. Браузеры игнорируют символы конца строки и множественные пробелы в HTML-файлах.
Элементы и тэги
HTML состоит из элементов, которые определяют, каким образом данные должны быть отображены в браузере. Элемент состоит из открывающего и, опционально, закрывающего тэгов:
<elementName>... some content ...</elementName>
Как видно из примера, вся информация о форматировании документа сосредоточена в его фрагментах, заключенных между знаками "<" и ">". Такой фрагмент (например, <html> ) называется меткой (по-английски — tag, читается "тэг" ).
Тег – часть HTML, представляющая из себя текст, заключенный в угловые скобки <>.
В соответствии со стандартами XHTML все ключевые слова записываются символами нижнего регистра. Большинство тегов XHTML кодируются парами из открывающего и закрывающего тегов, называемых контейнерными тегами. Открывающий тег является самим ключевым словом, появляющимся между символами < и > ; закрывающий тег имеет такой же формат, в котором перед ключевым словом стоит прямая косая черта ( / ). Эта пара контейнерных тегов охватывает данные, к которым применяется форматирование.
Смысл HTML-элемента состоит в применении форматирования к содержимому между начальным и конечным тэгами. Применяемое форматирование зависит от имени элемента.
Не все HTML-элементы имеют открывающий и закрывающий тэг, то есть не все теги являются контейнерными, а кодируются единственным тэгом. Такие пустые тэги кодируются специальным образом – они должны содержать символ наклонной черты ( / ) непосредственно перед закрывающей угловой скобкой.
Тэг <html> должен открывать HTML-документ. Аналогично, тэг </html> должен завершать HTML-документ. Документ может состоять из двух разделов — раздела заголовка (начинающийся тэгом <head> ) и раздела содержательной части документа (начинающийся тэгом <body> ). Для документов, описывающих фреймовые структуры, вместо раздела body используется раздел frameset (с тэгом <frameset> ).
Параметры тэгов
Многие тэги, помимо имени, могут содержать или атрибуты (от англ, attribute ) или параметры — элементы, дающие дополнительную информацию о том, как браузер должен обработать текущий тэг.
Наборы допустимых параметров индивидуальны для каждого тэга. Общие правила записи параметров заключаются в следующем. После имени тэга могут следовать параметры, которые отделяются друг от друга пробелами. Порядок следования параметров тэга произволен. Многие параметры требуют указания их значений, однако некоторые параметры не имеют значений или могут записываться без них, принимая значения по умолчанию. Если параметр требует значения, то оно указывается после названия параметра через знак равенства. Значение параметра может записываться в кавычках, так и без них. Единственным случаем, когда использование кавычек обязательно, является случай, когда в значении параметра имеются пробелы. В значениях параметров (в отличие от названий тэгов и самих параметров) иногда важен регистр записи.
Приведем пример записи тэга с параметрами:
<table border align="left">
Здесь для тэга <table> задано два параметра. Первый параметр border указан без значения. Второй параметр align имеет значение " left ".
Обработка ошибочных и неизвестных тэгов
Существуют общие правила интерпретации тэгов браузерами. В отличие от языков программирования, в которых ошибочные операторы приводят к выдаче соответствующих сообщений на этапе компиляции программы и требуют правки, в HTML не принято реагировать на неверную запись тэгов. Неверно записанный тэг или его параметр должен просто игнорироваться браузером. Это общее правило для всех браузеров, под действие которого подпадают не только ошибочно записанные тэги, но и тэги, не распознаваемые данной версией браузера. Примером могут служить тэги, предложенные и реализованные для отдельного браузера и неизвестные для другого. Например, тэг-контейнер <noframes>, который служит для предоставления альтернативной информации браузерам, не обеспечивающим поддержку фреймовых структур, такими браузерами не будет распознан.
Заголовок HTML-документа
Раздел документа head определяет его заголовок и не является обязательным тэгом. Задачей заголовка является представление необходимой информации для программы, интерпретирующей документ. Тэги, находящиеся внутри раздела head (кроме названия документа, описываемого с помощью тэга <title> ), не отображаются на экране.
Пара меток <head> ... </head> указывает на начало и конец заголовка документа. Помимо наименования документа (см. <title> ), в этот раздел может включаться множество служебной информации.
Название документа
Тэг-контейнер <title> является единственным обязательным тэгом заголовка и служит для того, чтобы дать документу название. Оно обычно показывается в заголовке окна браузера. Все, что находится между метками <title> и </title>, интерпретируется браузером как название документа. Рекомендуется название не длиннее 64 символов.
По умолчанию текст, содержащийся в названии документа, используется при создании закладки ( bookmark ) для документа. Поэтому, для большей информативности, следует избегать безликих названий ( Home Page, Index и т. д.). Название документа должно кратко характеризовать его содержание.
Связи между HTML-документами
Часто HTML-документы связаны между собой, то есть имеют ссылки друг на друга. Ссылки могут быть как абсолютные, так и относительные.
Абсолютные ссылки могут быть громоздкими и переставать работать, если перемещен младший по иерархии документ. Относительные ссылки легче вводить и обновлять, но и эта связь обрывается, если перемещен старший по иерархии документ. Оба вида связей могут нарушиться при переносе документа с одного компьютера на другой.
Для решения этой проблемы используются тэги <base> и <link>, которые включаются в заголовок для того, чтобы связь между документами не нарушалась.
Тэг <base> служит для указания полного базового URL-адреса документа. С его помощью относительная ссылка продолжает работать, если документ переносится в другой каталог или даже на другой компьютер.
Тэг <base> имеет один обязательный параметр href, после которого указывается полный URL-адрес документа. Пример:
<!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> <title> Указание базового адреса </title> <base href="//www.volsu.ru/fitt"/> </head> <body> <img src="/pics/news.gif" alt="News"/> </body> </html>
Тэг <link> указывает на связь документа, содержащего данный тэг и другого документа или объекта. Он состоит из URL-адреса и параметров, конкретизирующих отношения документов. Заголовок документа может содержать любое количество тэгов <link>. В табл. 2.1 описаны параметры тэга link.
Пример:
<link rel="contents" href ="../toc.html"/> <link href="mailto:info@fitt.volsu.ru" rev="made"/>
Первая строка указывает на связь с файлом оглавления документа ( toc.html — table of contents) с прямым отношением contents. Вторая строка описывает связь с URL-адресом автора документа (с обратным отношением made ).
Между документами может существовать множество различных отношений. Примеры других значений параметра rel: bookmark, copyright, glossary, help, home, index, toe, next, previous. Параметр rev может также принимать значения: author, editor, publisher, owner.
Тэг meta
В раздел заголовка может быть добавлен еще один тэг <meta>, позволяющий авторам документа определять информацию, не имеющую отношения к HTML. Эта информация используется браузером для действий, которые не предусмотрены текущей спецификацией HTML.
Пример:
<meta http-equiv="refresh" content="60"/>
Этот тэг инструктирует браузер перезагружать страницу каждые 60 секунд, что может быть полезно, если данные на странице часто обновляются.
Кроме того, в качестве примера можно привести указание ключевых слов, используемых поисковыми системами. Этот способ позволяет включать в индекс документа дополнительные слова, которые могут явно не входить в его содержание. Для этого в тэге <meta> в качестве значения параметра name указывается имя некоторого свойства.
Спецификация HTML не определяет каких-либо конкретных имен свойств, записываемых в тэге <meta>. Однако есть несколько часто применяемых свойств, например, description, keywords, author, robots и др.:
<meta name="description" content="Технологии созания интернет-узлов"/> <meta name="keywords" content="тэг, гипертекст, HTML, браузер"/>
Еще одно назначение тэга <meta> — это указание кодировки текста. Например, для текста на русском языке в кодировке Windows используется следующий тэг:
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1251"/>
Тело документа
Пара меток <body> ... </body> указывает на начало и конец тела HTML-документа, которое, собственно, и определяет содержание документа.
Все тэги, которые допустимо использовать в разделе <body> документа HTML, могут иметь параметры class, id, lang, language, style и title. Использование этих параметров полезно, прежде всего, при стилевом оформлении документов.
В современном HTML, помимо тэгов языка и их содержимого, в исходном HTML-коде также записываются коды сценариев (JavaScript или VBScript).