Структура
HTML-документа
HTML-документ состоит из HTML-элементов, которые
и преобразует текст в документе. Эти элементы называются тегами. Имя тега пишут в угловых скобках < >.
Теги
бывают одиночные и парные. Парный тег состоит из начального и закрывающего
тега. Начальный тег показывает, где начинается преобразуемый текст, конечный
— где заканчивается. Закрывающий
тег
образуется путем добавления слэша /
перед именем тега:
<имя тега>…</имя тега>
Теги
могут вкладываться друг в друга, например:
<p><i>Текст</i></p>
При
вложении следует соблюдать порядок их закрытия (принцип «матрёшки»),
например, следующая запись будет неверной:
<p><i>Текст</p></i>
Теги
могут иметь атрибуты (глобальные,
применяемые для всех тегов, и собственные).
Атрибуты прописываются в открывающем теге и содержат имя и значение:
<имя тега имя
атрибута="значение">
Атрибуты
позволяют изменять свойства и поведение тега, для которого они заданы.
Каждому
тегу можно присваивать уникальный номер или имя с помощью атрибутов id и name ,
чтобы использовать уникальные стили для этого элемента или обращаться к тегу из
программы на языке JavaScript.
Можно
объединять в группу несколько тегов с помощью атрибута class,
присвоив ему имя группы.
Значения
name, id и class
должны состоять только из букв, цифр, дефисов и нижних подчеркиваний и должны
начинаться только с букв или цифр:
<имя тега
name=”pak” id="N1" class="1kurs">
HTML-документ состоит из
двух разделов:
1. Заголовка, заключенного между тегами:
<head>…</head>
2. Содержательной части, заключенного между тегами:
<body>…</body>
Структура
HTML-документа:
<html>
<!-- Техническая информация о
документе -->
<head>
<!-- Определяем
кодировку символов документа -->
<meta charset="UTF-8">
<!-- Задаем
заголовок документа -->
<title> ... </title>
<!-- Подключаем
внешнюю таблицу стилей -->
<link
rel="stylesheet" type="text/css" href="style.css">
<!-- Подключаем скрипт -->
<script
src="script.js"></script>
</head>
<body>
Основная часть HTML-документа
</body>
</html>
Все
символы управления текстом в HTML-документе
(несколько пробелов подряд, табуляция, перевод строки и т.п.)
заменяются одиночным символом пробела.
Строчные
и прописные символы в именах (идентификаторах) тэгов и их атрибутов, как
правило, не различаются.
Текст
между <!-- и --> является комментарием, т.е. не показывается в браузере.
Тег <link rel="stylesheet" type="text/css" href="style.css">
будет
рассмотрен при изучении основ CSS. Его можно не писать, если
в документе нет стилей.
Тег <script src="script.js"></script> используется, если есть файл
скрипта (программа на языке JavaScript). Он будет рассмотрен при изучении основ JavaScript.
При
просмотре документа, приведенного в примере, в окне браузера появится следующее
(см. рис. 1).
Рис.
5
Теги,
находящиеся внутри тега <html>,
образуют дерево документа, так называемую объектную модель документа, DOM (document object model):
Рис.
6
При
этом элемент <html> является
корневым элементом.
Браузер
просматривает HTML-документ,
выстраивая его структуру (DOM) и
отображая ее в соответствии с инструкциями, включенными в этот файл (таблицы
стилей, скрипты). Если разметка правильная, то в окне браузера будет отображена
HTML-страница, содержащая HTML-элементы — заголовки, таблицы,
изображения и т.д.
Процесс
интерпретации (парсинг) начинается
прежде, чем веб-страница полностью загружена в браузер.
Браузеры обрабатывают HTML-документы
последовательно, с самого начала, при этом обрабатывая CSS и соотнося таблицы
стилей с элементами страницы.
Чтобы
разобраться во взаимодействии элементов веб-страницы, необходимо рассмотреть
так называемые «родственные отношения» между элементами. Отношения
между множественными вложенными элементами подразделяются на
родительские, дочерние и сестринские.
Предок —
элемент, который заключает в себе другие элементы. На рисунке 6 предком для всех элементов является html. В
то же время элемент body является предком для всех содержащихся
в нем тегов: h1, p, span, nav и т.д.
Потомок —
элемент, расположенный внутри одного или более типов элементов. Например, body
является потомком html, а элемент p является потомком одновременно для body и html.
Родительский элемент —
элемент, связанный с другими элементами более низкого уровня, и находящийся на
дереве выше их. На рисунке 6 html является родительским только для head и body.
Тег p
является родительским только для span.
Дочерний элемент —
элемент, непосредственно подчиненный другому элементу более высокого уровня. На
рисунке 6 только элементы h1, h2, p и nav являются дочерними по отношению к body.
Сестринский элемент — элемент, имеющий общий родительский элемент с рассматриваемым, так называемые элементы одного уровня. На рисунке 6 head и body — элементы одного уровня, так же как и элементы h1, h2 и p являются между собой сестринскими.