Htmlstr
Структура HTML-документа
Язык гипертекстовой разметки HTML опирается на контейнерную схему описания документа, которая задана в стандарте обобщенного языка разметки SGML(Standard Generalized Markup Language). В этой схеме любой документ может быть представлен в виде набора вложенных контейнеров. Контейнер, в терминологии SGML - элемент, состоит из тага начала контейнера, тага конца контейнера и содержания контейнера, заключенного между тагами начала и конца. Рассмотрим следующий приме р:
<html>
<head>
<title>Типовой HTML-документ</title>
<meta http-equiv="Content-type"
content="text/html;charset=windows-1251">
</head>
<body>
<h1>Типовой HTML-документ</h1>
...
</body>
</html>
В этом примере весь документ заключен в контейнер(элемент разметки) HTML и состоит из двух частей: заголовка документа и тела документа. Заголовок заключен в контейнер(элемент разметки) HEAD, в то время как тело документа заключено в контейнер(элемент разметки) BODY.
Можно выделить несколько типов HTML-документов:
Исторически первым был классический документ. Потом появился набор фреймов. Формат слоеного документа был разработан последним. Все форматы документов предполагают наличие элемента разметки HTML, который определяет начало и коней HTML-документа.
В настоящее время достаточно много страниц на Web-узлах, которые не содержат элементов разметки HTML, HEAD, и BODY. Это произошло из-за пренебрежения правилами разметки в первые годы существования Web авторами, которые создавали свои Web-узлы, не утруждая себя изучением стандартов. Браузеры, в частности Mosaic, обрабатывали такие страницы, используя стихийно сложившиеся правила умолчания, которые в последствии были закреплены в стандарте языка HTML 2.0. При использовании этих правил предполагается, что авт
ор работает с классическим HTML-документом.
Классический документ
Классический документ состоит из заголовка документа (элемент разметки HEAD) и тела документа (элемент разметки BODY). Схематично это выглядит следующим образом:
<html>
<head>
...
</head>
<body>
...
</body>
</html>
До стандарта HTML 3.2 элементы разметки тела документа нельзя было употреблять в теле и, наоборот, элементы разметки тела документа нельзя было употреблять в заголовке. В настоящее время такие элементы разметки, как BASE или SCRIPT можно применять как в теле документа, так и в заголовке документа.
Слоеный документ
Слоеные документы появились самыми последними. Они позволяют создавать документы, у которых содержание одного раздела может "наезжать" на содержание другого раздела. Слоеные документы имееют формально структуру классического документа, но внутри тела содержат либо элементы разметки LAYER (браузер Netscape), либо позиционированные разделы при помощи каскадных таблиц стилей.
Пример с применением элемента LAYER
<html>
<head>
...
</head>
<body>
<layer name=l1 top=10 left=20 visibility=show>
...
</layer>
<layer name=l2 top=10 left=20 visibility=hide>
...
</layer>
</body>
</html>
Пример с применением CSSR
<html>
<head>
...
</head>
<body>
<div style="position:absolute;
top:10;left:20;
visibility:visible;">
...
</div>
<div style="position:absolute;
top:10;left:20;
visibility:hidden;">
...
</div>
</body>
</html>
Этот раздел страницы выполнен как слой.
Этот раздел страницы выполнен как слой.
Наиболее эффектно слоеные документы смотрятся при программировании содержания страниц на JavaScript или JScript.
Набор фреймов
У набора фреймов вместо контейнера BODY контейнер FRAMESET. Внутри элемента FRAMESET применяются элементы FRAME. Каждый FRAME содержит HTML-документ, который может быть любого рассмотренного нами типа.
Рассмотрим пример набора фреймов:
<html>
<head>
</head>
<frameset cols="30%,*">
<frame name=right src=right.html>
<frameset rows="50%,*">
<frame name=top src=top.html>
<frame name=bottom src=bottom.html>
</frameset>
</frameset>
</html>
Заголовок - общая часть всех HTML-документов
Заголовок HTML-документа, элемент разметки HEAD, формально присутствует во всех типах HTML-документов. Это связано с необходимостью описания некоторых общих свойств документов. Как правило, эта информация не отображается, но используется для управления процессом отображения.
далее...