Чтобы браузер при отображении документа понимал, что имеет дело не с простым текстом, а с элементом форматирования и применяются теги. Общий синтаксис написания тегов следующий.
<тег параметр1="значение" параметр2="значение">
<тег параметр1="значение" параметр2="значение">...</тег>
Как видно из данного примера, теги бывают двух типов — одиночные и парные (контейнеры). Одиночный тег используется самостоятельно, а парный может включать внутри себя другие теги или текст. У тегов допустимы различные параметры, которые разделяются между собой пробелом. Впрочем, есть теги, без всяких дополнительных атрибутов. Параметры условно можно подразделить на обязательные, они непременно должны присутствовать, и необязательные, их добавление зависит от цели применения тега.
В листинге 3.1 показан типичный HTML-документ с тегами и текстом.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1251">
<title>Lorem ipsum</title>
</head>
<body>
<p>Lorem ipsum dolor sit amet consectetuer cursus pede pellentesque vitae pretium. Tristique mus at elit lobortis libero Sed vestibulum ut eleifend habitasse. Quis Nam Mauris adipiscing Integer ligula dictum sed at enim urna. Et scelerisque id et nibh dui tincidunt Curabitur faucibus elit massa. Tincidunt et gravida Phasellus eget parturient faucibus tellus at justo sollicitudin. Mi nulla ut adipiscing.</p>
</body>
</html>В данном примере используется одиночный тег <META>, а парных тегов сразу несколько: <HTML>, <HEAD>, <TITLE>, <BODY> и <P>.
Парные теги
Парные теги, называемые по-другому контейнеры, состоят из двух частей — открывающий и закрывающий тег. Открывающий тег обозначается как и одиночный — <тег>, а в закрывающем используется слэш — </тег>. Допускается вкладывать в контейнер другие теги, однако следует соблюдать их порядок. Так, на примере демонстрируется, как можно и нельзя добавлять один контейнер внутрь другого.
1. <div><p>Lorem <b>ipsum dolor</b> sit amet...</p></div>
2. <div><p>Lorem <b>ipsum <i>dolor</b> sit</i> amet...</p></div>
Если связать открывающий и закрывающий тег между собой скобкой, как показано примере, то несколько скобок обозначающих разные контейнеры, не должны пересекаться между собой (1). Любое пересечение условных скобок (2) говорит о том, что правильная последовательность тегов нарушена.
Не все контейнеры требуют обязательно закрывающего тега, иногда его можно и опустить. Тем не менее, всегда закрывайте все требуемые теги, так вы приучитесь сводить к нулю возможные ошибки.