Поиск

Правила синтаксиса

Теперь, когда мы знаем, как выглядит код Webстраницы, можно сделать некото рые обобщающие выводы относительно синтаксиса HTML. При использовании каждого элемента важно знать, какие элементы могут располагаться внутри него и внутри каких элементов может находиться он сам. Так, взаимное расположение элементов HTML, HEAD, TITLE и BODY должно быть стандартным на любой странице, правда, в тех случаях, когда не используются фреймы. Если же страница представ ляет собой документ планировки фреймов (подробнее об этом в разделе «Фрей мы» главы 3), то вместо элемента BODY используется элемент FRAMESET.

Существуют группы элементов, которые используются совместно. К ним отно сятся элементы для создания таблиц, списков, фреймов. В этом случае порядок вложения элементов определяется логикой создания того или иного объекта на странице: тут надо помнить несложные правила конструирования. Таблицы и фреймы часто используются для того, чтобы разместить детали страницы (рисун ки, текст и т. д.) в определенном порядке. Например, располагая рисунок внутри ячейки таблицы, можно добиться определенного его положения. В таких случаях вложенность элементов определяется разработчиком Webстраницы, и многое зависит от его фантазии и умения.

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

В приведенном ниже примере есть два абзаца (первый в зеленой рамке) и таблица:

<Р style="border: Зрх solid дгееп">Текст абзаца 1</р>
<TABLE> . . . </table>
<Р> Текст абзаца 2</р>

Таблица в данном случае — независимый элемент. Ее можно, например, выравни вать независимо от остального текста.

Можно использовать другой код:

<Р style="border: Зрх solid дгееп">Текст абзаца 1
<TABLE> . . . </table>
<Р> Текст абзаца 2</р>

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

И наоборот, элемент Р может находиться внутри таблицы: например, один эле мент ячейки TD может содержать несколько абзацев Р.

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

<Н1>Заголовок 1 <Н2> Заголовок 2 </h1> Заголовок 3 </h2>

Надо заметить, что броузеры построены таким образом, что они «стараются» ж реагировать на ошибки разметки гипертекста. Если страница может быть отобра жена, то она выводится на экран без какихлибо предупреждающих сообщений Программа интерпретирует ошибочно расставленные теги определенным образог» и формирует изображение, следуя логике, заложенной в нее разработчиками. Пр* этом вид страницы может и не соответствовать замыслу автора. И только в случае очень серьезных ошибок или явных противоречий броузер выводит сообщение с невозможности отобразить страницу. Косвенным признаком ошибки разметю может служить появление на странице фрагментов кода HTML. Пользователи много работающие с Интернетом, наверняка сталкивались с такой ситуацией. Правила синтаксиса распространяются и на использование стартового и конеч ного тегов, атрибутов и содержимого элемента. Не путайте понятия «элемент» v. «тег». Элемент — это контейнер, содержащий атрибуты внутри стартового тега к полезную информацию между стартовым и конечным тегами. Тег — это конструк ция, заключенная в угловые скобки и используемая для обозначения области дей ствия элемента.

Некоторые элементы не имеют конечного тега. Очевидно, что элементу BR, обо значающему конец строки, не нужен конечный тег. Некоторые элементы могут использоваться с конечным тегом или без него. Самым ярким примером служит элемент абзаца Р. Он может иметь конечный тег, но если этот тег не задан, то при знаком окончания действия элемента служит следующий элемент, который мо жет логически определить конец текущего абзаца: другой элемент Р, элемент ри сунка IMG, элемент списка UL, элемент таблицы TABLE и т. д.

Таким образом, полезная информация одного элемента должна находиться или между начальным и конечным тегами данного элемента, или между начальным тегом данного и начальным тегом следующего элемента. Любой произвольный текст, введенный на страницу, воспринимается броузером как подлежащий выво ду на экран и, следовательно, форматированию в соответствии с окружающими этот текст элементами. При этом не учитывается разбиение текста на строки, по лученное в текстовом редакторе. Теоретически, всю Webстраницу можно умес тить в одной длинной строке. Символы конца строки, введенные, например, в Блокноте, могут помочь чтению кода HTML, но не отображаются броузером. Последний, при выводе страницы на экран, может оборвать строку в соответствии с расстановкой элементов Hn, P или BR, а в остальных случаях он форматирует абзацы произвольно, в зависимости от объема текста, размера шрифта и текущего разме ра окна. Поэтому Webстраницы надо компоновать таким способом, чтобы их вид кардинально не изменялся для разных режимов разрешения монитора, размера экрана, размера окна броузера, а также для полноэкранного или оконного режимов. Очень важным правилом, которое не имеет исключений, является размещение атрибутов элемента внутри начального тега.