Отделение представления от структуры документа
До HTML существовал язык SGML (Standard Generalized Markup Language), который представлял собой сложный язык для описания структуры документов независимо от их внешнего вида. SGML – это обширный набор правил разработки языков разметки, таких, как HTML, но он столь всеобъемлющ, что HTML использует лишь малую часть его возможностей. Поскольку HTML является лишь частным случаем системы разметки SGML, принцип хранения информации, связанной с представлением, отдельно от структуры документа является внутренне присущим и HTML. В ранние годы развития Web этот идеал был нарушен созданием HTML-тегов, содержащих прямые стилевые инструкции, такие как элемент font и атрибут bgcolor. Консорциум W3C принимает меры к тому, чтобы вернуть HTML на путь истинный. Во-первых, создание каскадных таблиц стилей дало авторам надежное решение для указания стилевой информации и для хранения ее отдельно от содержимого документа. Кроме того, с появлением каждой новой рекомендации HTML элементы и атрибуты, относящиеся к представлению, объявляются устаревшими и, наконец, окончательно выводятся из употребления. W3C интенсивно работает над очисткой стандарта HTML, чтобы этот стандарт заработал так, как это изначально планировалось. Используйте для управления представлением таблицы стилей. Если хранить всю стилевую информацию документа в отдельном документе таблицы стилей, это упростит изменение дизайна или изменение назначения документа. Для разметки это означает, что нужно избегать использования стилевых (X)HTML-элементов и атрибутов, которые все еще присутствуют в рекомендациях (например, элемент b для жирного шрифта), и использовать соответствующую семантическую альтернативу (например, strong) в правиле таблицы стилей. HTML или XHTML-документ представляет собой документ ASCII (обычный текст) или, что более часто, Unicode (например, UTF-8), который размечается при помощи тегов, обозначающих элементы и другие необходимые объявления (например, язык разметки, на котором документ написан). Элемент представляет собой структурный компонент (например, абзац) или нужную функцию (например, перенос строки). Элементы обозначаются в тексте путем вставки специальных заключенных в скобки HTML-тегов. Большинство элементов используют следующий синтаксис: < имя_элемента> содержимое< /имя_элемента> Имя элемента указывается в начальном теге (который также называется открывающим тегом), а затем также в конечном (или закрывающем) теге, и в последнем случае перед ним ставится слеш (/). Конечный тег работает примерно как «отключение» элемента. Ничего из того, что заключено в скобки, в браузере или другом пользовательском агенте не отображается. Важно отметить, что элемент включает как содержимое, так и свою разметку (начальный и конечный теги). В XHTML все имена элементов и атрибутов должны быть в нижнем регистре. HTML регистр не учитывает. Замечание. В HTML 4.01 и ниже конечный тег для некоторых элементов является необязательным, и браузер определяет окончание элемента по контексту. Такая практика наиболее распространена применительно к элементу р (абзац). Большинство браузеров автоматически завершает абзац, когда встречает новый начальный тег. В XHTML использование конечных тегов является обязательным. Некоторые элементы не имеют содержимого, поскольку используются в качестве простой директивы. Говорят, что такие элементы пустые. Примером такого элемента является элемент-изображение (img). Он заставляет браузер включить в текущую страницу внешний графический файл. К другим пустым элементам относятся перевод строки (br), горизонтальная линейка (hr) и элементы, содержащие информацию о документе и не влияющие на отображение материалов, такие как meta и base. В HTML 4.01 и ниже пустые элементы просто не имели закрывающего тега. В XML закрывающий тег необходим для каждого элемента. Используется соглашение, по которому слеш применяется внутри тега, обозначая его окончание, например < img/>, < br/> и < hr/>. Перечислим возможные «пустые» теги. < area /> < frame /> < link /> < base /> < hr /> < meta /> < basefont /> < img /> < param /> < br /> < input /> < col /> < jsindex /> Для обеспечения обратной совместимости рекомендуется добавлять пробел перед слешем. Пробел является обязательным, если вы отправляете XHTML-документ, указав в заголовке Content-Type тип text/html.
|