Авторы Web-страниц хотели бы контролировать их внешний вид в большей степени, чем это позволяют базовые средства HTML, и одновременно обрести уверенность в том, что их страницы будут иметь одинаковый вид в любом браузере и на любой платформе. В самом HTML можно создавать гипертекстовые связи, таблицы, списки и даже формы, но нельзя определить, как именно будет выглядеть на экране тот или иной объект.
К примеру, конструкция для задания гипертекстовой связи имеет следующий вид:
другая страница
Здесь ничего не сказано о способе отображения связи на экране: он целиком определяется браузером, интерпретирующим конструкцию.
Для управления внешним видом Web-страниц в браузерах Navigator и IE поддерживается расширенный набор атрибутов элемента
; дополнительные атрибуты позволяют автору страницы задать цвет ссылочного текста для посещавшихся и непосещавшихся страниц, а также для активной ссылки:Приведенное выражение указывает, что ссылки на непосещавшиеся страницы должны выводиться красными буквами, на посещавшиеся - зелеными, а активные (активной ссылка становится при щелчке по выделенному тексту) - синими при условии, что пользователь не откажется в своем браузере от следования установкам документа. С помощью подобной техники задается цвет ссылок на многих Web-страницах. Но она не слишком эффективна, если пытаться приписывать атрибуты оформления элементам, встречающимся на странице неоднократно, - таким, как маркер абзаца.
Конечно, для маркера абзаца
можно создать атрибуты оформления, которые применялись бы всякий раз, когда требуется вывести текст не так, как предусмотрено по умолчанию. Однако полученное таким образом решение было бы хотя и работоспособным, но громоздким и в целом неудачным.
Если Web-мастеру потребуется изменить для абзаца, предположим, атрибут цвета, он должен просмотреть все страницы своего узла, на которых применялся этот атрибут, и везде его изменить. А в фирме, где принято единообразное оформление абзацев, всем, кто создает свои страницы, придется помнить, как именно выглядит правильное оформление, и не забывать его применять. Хорошо бы иметь возможность менять атрибут лишь раз на страницу, а еще лучше - возможность задавать его в особом документе, действующем сразу на многих страницах.
Другой способ управлять оформлением страниц - создавать новые элементы языка, такие как элемент , введенный разработчиками Netscape. Главный недостаток данного метода в том, что текст, оформленный с применением нестандартной разметки, в другом браузере может вообще не вывестись или вывестись в нечитаемой форме (подробнее см. статью Дэвида Стила "Чем плох элемент " - "What's wrong with the element", http://www.mcsr.olemiss.edu/ ~mudws/font.html).
В действительности проблема может быть решена путем создания специального элемента HTML, который позволял бы определять атрибуты оформления, применяемые к остальным элементам. Сходная техника была использована в элементе