ProgrammerBook.ru: Обратите внимание, что
- данный документ является переводом документа «Preformatted Text»;
- данный документ может содержать неточности, опечатки и ошибки перевода;
- официальным документом по данной тематике является оригинальный документ на английском языке, расположенный на сайте W3C.
Предотформатированный Текст (PRE)
Допустимый Контекст: %Body.Content, %flow, %block
Модель Содержимого: подмножество %text (смотрим ОТД для получения более подробной информации)
Предварительно отформатированный текст между начальным и конечным
тегом PRE представляется с помощью шрифта с фиксированным размером символов,
кроме того пробельные символы обрабатываются в том виде, в котором они есть.
Пробелы и разрывы строк представляются так как они есть, в отличие от других
элементов, для которых повторные пробельные символы схлопываются
до одного символа пробела, а разрывы строк выводятся автоматически.
- Разрывы строк в тексте представляются как перемещение курсора в начало
следующей строки. Исключение составляет разрыв строки сразу после
начального тега PRE или разрыв строки непосредственно предшествующий конечному
тегу PRE, которые следует проигнорировать.
- Тег <P> следует избегать, но для надёжности, агентам
пользователей рекомендуется обработать эти теги как разрывы строк.
- Могут быть использованы якорные элементы и элементы выделения символов.
- Могут быть включены элементы FORM и использован шрифт фиксированной
ширины для управления макетом (TAB или TABLE элементы дают такую же возможность
управления для обычного текста).
- Следует избегать блочных элементов, таких как заголовки,
списки, FIG и TABLES .
- Символ горизонтальной табуляции (закодирован в ASCII США и ISO 8859-1
как десятичное 9) следует интерпретировать как наименьшее
ненулевое количество пробелов, которое оставит
в строке количество символов кратное 8. Его использование является
устаревшим!
Например, отрывок из Шелли (К Жаворонку):
<PRE>
Higher still and higher
From the earth thou springest
Like a cloud of fire;
The blue deep thou wingest,
And singing still dost soar, and soaring ever singest.</PRE>
который будет представлен как:
Higher still and higher
From the earth thou springest
Like a cloud of fire;
The blue deep thou wingest,
And singing still dost soar, and soaring ever singest.
Допустимые Атрибуты
- ID
- SGML-идентификатор используется в качестве цели для гипертекстовых
ссылок или для именования отдельных элементов в присоединённых таблицах
стилей. Идентификаторы NAME лексем должны быть уникальными в рамках
текущего документа.
- LANG
- Это одна из кратких меток ISO стандарта языка, например «en.uk» для
варианта английского языка используемого в Соединённом Королевстве. Он
может быть использован обработчиками при выборе конкретного языкового
варианта кавычек, лигатур, правил переноса и так далее. Атрибут языка
состоит из двухбуквенного кода языка, соответствующего стандарту ISO 639, в случае
необходимости, за которым следует точка и двухбуквенный код страны,
соответствующий стандарту ISO 3166.
- CLASS
- Это разделённый пробелами список SGML NAME лексем, которые
используются для именования подклассов тега. Например, <P CLASS=STANZA.COUPLET>
определяет абзац, который действует как куплет в строфе.
По соглашению, имена классов интерпретируются иерархически, с самого общего
класса слева до наиболее специфичного справа, где классы разделены точкой.
Атрибут CLASS чаще всего используется для прикрепления другого стиля к
некоторому элементу, но это является рекомендацией, чтобы практические имена классов
были выбраны на основе семантики элемента, так как это позволит
использование для других целей, таких как ограничение поиска по документам
путём сопоставления имён классов элемента. Соглашения по выбору имён
классов выходят за рамки данной спецификации.
- CLEAR
- Этот атрибут является общим для всех блочных элементов. Когда текст
обтекает рисунок или таблицу вокруг поля, вы иногда
хотите начать предотформатированный текст под рисунком, а не рядом с ним. Атрибут CLEAR
позволяет перемещаться вниз без всяких условий:
- clear=left
- запрещает обтекание слева
- clear=right
- запрещает обтекание справа
- clear=all
- запрещает обтекание как слева, так и справа
В качестве альтернативы, вы можете решить разместить элемент рядом
с рисунком при наличии достаточного места. Минимально-необходимая
ширина определяется следующим образом:
- clear="40 en"
- запрещает обтекание до тех пор пока смежное горизонтальное
пространство не станет более 40 en
- clear="100 pixels"
- запрещает обтекание до тех пор пока смежное горизонтальное
пространство не станет более 100 пикселей
Таблицы стилей (или браузерные значения по умолчанию) могут
предоставлять минимальную ширину по умолчанию для каждого класса
блочных элементов.
- WIDTH
- Это необязательный атрибут, используемый для указания ширины
элемента, рассчитываемой в количестве символов, для того, чтобы
попытаться отобразить в пределах текущей ширины окна. Агент
пользователя может использовать это предложение, чтобы выбрать
подходящий размер шрифта. По умолчанию используется
ширина равная 80-и символам. Если атрибут WIDTH поддерживается, то
значения ширины равные 40, 80 и 132 символам будут
представляться оптимально, а другие значения ширины будут округляться до
большего числа.
Неужели мы не можем избавиться от этого устаревшего бреда?
Сколько браузеров так или иначе поддерживают WIDTH атрибут?