Элемент pre


Содержание

9 Текст

Содержание

В этом разделе рассматриваются вопросы структурирования текста. Элементы, представляющие текст (элементы выравнивания, элементы шрифта, таблицы стилей и т.д.), обсуждаются по всей спецификации. Информацию о символах см. в разделе Набор символов документа.

9.1 Пробелы

Наборы символов документа содержат большое количество разных пробельных символов. Многие из них являются типографскими элементами, используемыми в некоторых приложениях для создания особых визуальных эффектов. В HTML как определены только :

  • ASCII space/пробел ( )
  • ASCII tab/табуляция ( )
  • ASCII form feed/прогон страницы ( )
  • Zero-width space/нулевой пробел (​)

Переносы строк также являются пробельными символами. Обратите внимание, что, хотя и недвусмысленно определены в [ISO10646] как разделители строк и параграфов соответственно, они не образуют переносов строк в HTML, и данная спецификация не включает их в более общую категорию пробельных символов.

Данная спецификация не определяет поведение и представление прочих символов пробела, кроме тех, которые явно указаны в ней как пробельные символы. В связи с этим авторы должны использовать подходящие элементы и стили для получения нужного форматирования с использованием свободного пространства, а не ограничиваться лишь пробельными символами.

Для всех элементов HTML за исключением PRE , последовательности пробелов разделяют «слова» (мы используем здесь термин «слово» для обозначения «последовательности непробельных символов»). При форматировании текста, ПА (пользовательские агенты) должны идентифицировать эти слова и отделять их в соответствии с соглашениями конкретного языка (скрипта) и целевого носителя.

Такой вывод может включать пробелы между словами (называемые пространство), но соглашения по межсловному пространству варьируются от языка к языку. Например, в языках с латиницей, межсловное пространство обычно представлено как пробел ASCII ( ), а в тайских — это нулевой пробел (​). В японском и китайском межсловное пространство обычно вообще не представляется.

Обратите внимание, что последовательность межсловных пробелов между словами в документе-источнике может давать совершенно другое представление межсловного пространства (за исключением тех случаев, когда используется элемент PRE ). Обычно ПА сжимают полученные на вводе последовательности пробелов при создании межсловного пространства на выходе. Это может и должно делаться даже при отсутствии информации о языке (в атрибуте lang , в поле «шапки» HTTP «Content-Language» (см. [RFC2616], раздел 14.12), в установках ПА и т.д.).

Элемент PRE используется для форматирования текста, когда пробелы являются значащими.

Чтобы избежать проблем с правилами обрыва строк SGML и несоответствий с сохранившимися ещё программами, авторы не должны доверять ПА отображать пробелы непосредственно после начального тега или непосредственно перед конечным тегом. Таким образом, авторы, и в особенности — авторские утилиты , должны записать:

9.2 Структурированный текст

9.2.1 Элементы абзаца: EM , STRONG , DFN , CODE , SAMP , KBD , VAR , CITE , ABBR и ACRONYM

Начальный тег: необходим, Конечный тег: необходим

Атрибуты, определённые в другом месте

Элементы абзаца добавляют структурную информацию к фрагментам текста. Обычно значение элементов абзаца таково:

EM: Курсив. STRONG: Полужирный. CITE: Содержит цитату или ссылку на другой ресурс. DFN: Определение термина. CODE: Обозначает фрагмент компьютерного кода. SAMP: Образец вывода программ, скриптов и т.п. KBD: Обозначает текст, введённый пользователем. VAR: Аргумент переменной или программы. ABBR: Сокращённая форма (напр., WWW, HTTP, URI, Mass. и т.д.). ACRONYM: Акроним (напр., WAC, radar и т.п.).

EM и STRONG используются для выделения текста. Другие элементы параграфа имеют специальные значения в технической документации. Вот примеры использования некоторых элементов абзаца:

Представление элементов абзаца зависит от ПА. Обычно визуальные ПА представляют EM текст курсивом, а STRONG текст полужирным шрифтом. ПА с голосовым синтезом могут менять параметры синтеза, такие как уровень громкости, высота и диапазон.

Элементы ABBR и ACRONYM позволяют авторам точно обозначить появления аббревиатур и акронимов.
В западных языках акронимы широко используются: «GmbH», «NATO» и «F.B.I.», также как и аббревиатуры: «M.», «Inc.», «et al.», «etc.».
В китайском и японском используется аналогичный механизм сокращений, когда на полное имя ссылаются последовательностью символов набора Han. Разметка таких конструкций предоставляет полезную информацию для ПА и утилит, таких как проверка правописания, голосовые синтезаторы, системы перевода и индексирующие программы в поисковых машинах.

Содержимое элементов ABBR и ACRONYM определяет само сокращённое выражение так, как оно нормально выглядит в тексте. Атрибут title этих элементов может использоваться для предоставления полной формы этих выражений.

Вот образцы использования ABBR :

Заметьте, что аббревиатуры и акронимы часто имеют варианты произнесения. Например, если «IRS» и «BBC» обычно произносятся буква за буквой, то «NATO» и «UNESCO» произносятся фонетически (как слова).
К тому же, некоторые сокращённые формы (напр., «URI» и «SQL») произносятся некоторыми побуквенно, а другими — как слова. При необходимости, авторы должны использовать таблицы стилей для спецификации произношения сокращённых форм.

9.2.2 Кавычки: элементы BLOCKQUOTE и Q

Начальный тег: необходим, Конечный тег: необходим

cite = uri [CT] Значением этого атрибута является URI, обозначающий источник документа или сообщения. Этот атрибут предназначается для сообщения информации о источнике, из которого заимствованы кавычки.

Атрибуты, определённые в другом месте

Эти два элемента обозначают текст в кавычках. BLOCKQUOTE предназначен для полной формы (содержимое уровня блока), а Q — для краткой формы (инлайн содержимое), которая не требует разрывов параграфов.

Это пример форматирует отрывок из «The Two Towers», J.R.R. Tolkien, блок в кавычках.

Представление кавычек

Визуальные ПА обычно отображают BLOCKQUOTE как блок текста с отступом.

Визуальные ПА должны удостовериться, что содержимое элемента Q отображается с ограничивающими знаками кавычек. Авторы не должны помещать знаки кавычек в начале и в конце содержимого элемента Q .

ПА должны отображать кавычки в манере, свойственной соответствующему языку (см. атрибут lang ). Многие языки применяют знаки различных стилей для внешних и внутренних (вложенных) кавычек, что должно учитываться ПА.

Следующий пример иллюстрирует использование вложенных кавычек элемента Q :

Поскольку язык обоих блоков в кавычках — американский английский, ПА должен отображать их соответствующим образом, например, одиночными кавычками — внутренний блок и двойными кавычками — внешний блок:

Примечание. Мы рекомендуем, чтобы разработки таблиц стилей предоставляли механизм вставки знаков кавычек до и после ограничителей BLOCKQUOTE в манере, свойственной контексту конкретного языка и степени вложенности блоков.

Однако, поскольку многие авторы используют BLOCKQUOTE лишь как способ задания отступов, для сохранения замысла авторов ПА не должны вставлять знаки кавычек в стиле «по умолчанию».

Использование BLOCKQUOTE для задания отступов не рекомендуется. Вместо этого следует использовать таблицы стилей.

9.2.3 Подиндекс и надиндекс: элементы SUB и SUP

Начальный тег: необходим, Конечный тег: необходим

Атрибуты, определённые в другом месте

Многие скрипты (напр., на французском) требуют над- или подиндексов для соответствующего представления. Элементы SUB и SUP должны использоваться для разметки текста в этих случаях.

9.3 Строки и параграфы

Авторы традиционно выделяют свои мысли последовательностями параграфов. Организация информации по параграфам не зависит от того, как параграфы представляются: параграфы, выровненные по формату, содержат тот же текст, что и параграфы, выровненные влево.

Разметка HTML, определяющая параграф, проста — это элемент P .

Визуальное представление параграфа — не такое простое. Несколько позиций, стилистических и технических, должно быть определено:

  • трактовка пробелов
  • обрыв строки и перенос слов
  • выключка строк
  • дефисы
  • соглашения по языку и направлению текста
  • форматирование параграфов относительно окружающего содержимого

Мы рассмотрим эти вопросы далее. Выравнивание параграфов и всплывающие объекты рассматриваются далее в этом документе.

9.3.1 Параграфы: элемент P

Начальный тег: необходим, Конечный тег: не обязателен

Атрибуты, определённые в другом месте

Элемент P представляет параграф. Он не может содержать элементы уровня блока (включая сам P ).


Мы не советуем авторам использовать пустые элементы P . ПА должны игнорировать пустые элементы P .

9.3.2 Управление обрывом строки

определён как символ возврата каретки ( ), символ прогона строки ( ) или пара символов возврат каретки/прогон строки. Все обрывы строк являются пробелами.

Больше информации о SGML спецификации обрывов строк см. в примечаниях об обрыве строки в приложении.

Форсирование обрыва строки: элемент BR

Начальный тег: необходим, Конечный тег: запрещён

Атрибуты, определённые в другом месте

Элемент BR принудительно обрывает (оканчивает) текущую строку текста.

Для визуальных ПА атрибут clear может использоваться для определения того, как разметка, следующая после элемента BR , обтекает другие всплывающие влево или вправо объекты, или начинается внизу после этих объектов. Дополнительная информация находится в разделе выравнивание и всплывание объектов. Авторам рекомендуется использовать таблицы стилей для управления обтеканием текста вокруг объектов.

В отношении двунаправленного форматирования элемент BR должен вести себя так же, как [ISO10646] символ LINE SEPARATOR в двунаправленном алгоритме.

Запрет обрыва строки

Иногда необходимо предотвратить обрыв строки между двумя словами. (мнемоники или ) действует как пробел, в котором ПА не может вставить обрыв строки.

9.3.3 Дефисы

В HTML имеются дефисы двух типов: обычный и «мягкий». Обычный дефис должен интерпретироваться в ПА как обычный символ. Мягкий дефис сообщает ПА о том, где может появляться обрыв строки.

Браузеры, интерпретирующие мягкие дефисы, должны соблюдать следующую семантику: если строка оборвана на мягком дефисе, символ дефиса должен отображаться в конце первой строки; если строка не оборвана на мягком дефисе, ПА не должен отображать символ дефиса. Для таких операций, как поиск и сортировка, мягкий дефис должен всегда игнорироваться.

В HTML обычный дефис представлен символом «-» (- или -). Мягкий дефис представляется ссылкой-мнемоникой ­ (­ или ­)

9.3.4 Форматированный текст: элемент PRE

Начальный тег: необходим, Конечный тег: необходим

width = number [CN] Не рекомендуется. Этот атрибут подсказывает ПА желаемую ширину форматированного блока. ПА может использовать эту информацию для выбора шрифта подходящего размера или установки соответствующих отступов. Ширина выражается несколькими символами. В данный момент этот атрибут не поддерживается достаточно широко.

Атрибуты, определённые в другом месте

Элемент PRE сообщает визуальным ПА, что текст в этом элементе «форматирован». При обработке форматированного текста ПА:

  • могут оставить пробелы без изменений;
  • могут отображать текст шрифтом фиксированного размера;
  • могут отключить автоматический перенос слов;
  • не должны отключать двунаправленный процесс.

Невизуальным ПА не нужно учитывать пробелы в содержимом элемента PRE .

Дополнительную информацию о SGML спецификации обрывов строки см. в замечаниях об обрыве строк в приложении.

Предыдущий фрагмент ОТД указывает, какие элементы не могут появляться внутри объявления PRE . Это то же самое, что и в HTML 3.2, и предназначено для сохранения постоянных пробелов между строками и выравнивания колонок текста, отображаемого шрифтом фиксированной ширины. Авторам не рекомендуется изменять такое поведение с помощью таблиц стилей.

Следующий пример показывает версию форматированной поэмы Shelly’s «To a Skylark»:

А вот как это обычно отображается:

Символ горизонтальной табуляции.
Символ горизонтальной табуляции (десятеричная 9 в [ISO10646] и [ISO88591] ) интерпретируется обычно визуальными ПА как наименьше ненулевое количество пробелов (8), после которых устанавливаются точки табуляции. Мы настоятельно не рекомендуем использовать горизонтальную табуляцию в форматированном тексте, поскольку обычно при редактировании устанавливают другие размеры табуляции, что приводит к нарушению выравнивания в документе.

9.3.5 Визуальное представление параграфов

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

То, как параграфы отображаются, зависит от ПА. Параграфы обычно выравниваются по левому краю с «рваным» правым обрезом. Другие значения по умолчанию предусмотрены для письма справа-налево.

HTML ПА традиционно отображают параграфы с пропусками над и под, например,

Это контрастирует со стилем, где есть отступы в первых строках параграфов и обычные расстояния между последней строкой одного и первой строкой другого параграфа, например,

Следуя первоначальным установкам браузера NCSA Mosaic browser в 1993 г., ПА обычно не выравнивают оба края, отчасти из-за того, что это трудно сделать эффективно при отсутствии соответствующих шаблонов обработки переноса слов. Появление таблиц стилей и неподставляемых шрифтов с субпикселным позиционированием обещает авторам HTML новые широкие возможности.

Таблицы стилей предоставляют точный контроль над размером и стилем шрифта, полями, пробелами над и под параграфом, отступом первой строки, выравниванием и многим другими деталями.
Таблица стилей по умолчанию в ПА рассматривает элементы P в привычной форме, как показано выше. Можно в принципе переопределить это представление параграфов и отображать их без пробелов над и под параграфами. В общем, поскольку это может смутить пользователя, мы не рекомендуем этого делать.

По соглашению, визуальные ПА HTML переносят строки, заполняя доступное пространство страницы. Алгоритмы переноса зависят от языка форматируемого текста.

В западных языках, например, текст должен переноситься только на пробелах. Ранние ПА некорректно переносили строки или после начального тега, или перед конечным тегом элемента, что приводило к появлению знаков «висячей» пунктуации. Например, рассмотрите это предложение:

Перенос строки сразу перед конечным тегом элемента A вызывает появление запятой в начале новой строки:

Это ошибка, поскольку в этом месте в разметке не было пробела.

9.4 Маркировка изменений документа: элементы INS и DEL

Начальный тег: необходим, Конечный тег: необходим

cite = uri [CT] Значением данного атрибута является URI, указывающий на документ или сообщение-источник. Предполагается, что этот атрибут указывает на информацию, объясняющую, почему документ был изменён. datetime = datetime [CS] Определяет дату и время изменения документа.

Атрибуты, определённые в другом месте

INS и DEL используются для маркировки разделов документа, которые были вставлены или удалены для сравнения с другими версиями документа (например, в проектах законов, где законодателям необходимо просматривать изменения).

Эти два элемента необычны для HTML тем, что могут обрабатывать элементы уровня блока или инлайн-элементы (но не те и другие вместе). Они могут содержать одно или более слов в параграфе или один или более элемент уровня блока, такой как параграфы, списки или таблицы.

Этот пример мог бы быть из билля, изменяющего закон о том, что округ Sheriff может теперь выбирать не 3, а 5 депутатов.

Элементы INS и DEL не должны иметь содержимого уровня блока, если эти элементы действуют как инлайн-элементы.

ПА должны отображать вставленный и удалённый текст так, чтобы это было заметно. К примеру, вставленный текст может быть выделен другим шрифтом, удалённый текст может вообще не выводиться или выводиться как перечёркнутый или со специальной маркировкой и т.д.

Оба следующих примера относятся к 5 ноября 1994 г., 8:15:30 утра, US Eastern Standard Time.

С использованием INS это выглядит так:

Документ «http://www.foo.org/mydoc/comments.html» будет содержать комментарии о том, почему информация была вставлена в документ.

Авторы могут также вводить комментарии во вставленном и удалённом тексте и в значениях атрибута title элементов INS и DEL . ПА могут показывать эту информацию пользователю (как всплывающие подсказки). Например:

CSS стили тега pre

Мне нравится писать о тегах pre . В этой статье я расскажу о стилях CSS , которые помогут стилизовать теги pre , как для экранных, так и для печатных медиа.


HTML-код

Это нормально использовать теги

… здесь включено содержимое pre …

. это обеспечивает больше гибкости в плане определения стилей с помощью CSS . Рассмотрим некоторые примеры.

CSS для отображения на экране

Одно замечание в отношении тегов pre в HTML — они сохраняют пустое пространство ( пробелы и разрывы строк ) для любого содержимого, которое в них включено. Поэтому идеально подходят для отображения фрагментов кода. Вот некоторые основные стили, которые обеспечивают, чтобы теги

Приведенный выше CSS-код задает стили для всех тегов

Это лишь основные стили, которые помогут выбрать правильное направление. Вы обязательно должны настроить CSS в соответствии с вашими предпочтениями и дизайном веб-страниц.

CSS для печати

В данный момент ваши теги стилизованы под отображение на экране ( веб-странице ). Но как сделать так, чтобы они хорошо выглядели на распечатанной странице? Вот некоторые CSS-стили , которые можно использовать, чтобы сделать содержимое тега pre отлично читаемым на печатной странице:

Мы используем запрос @media только для печати. Поэтому, когда кто-то захочет распечатать страницу, содержимое тега

будет автоматически помещено в контейнер таким образом, чтобы поместиться на лист бумаги. Кроме этого оно будет отображаться темным текстом на белом фоне для лучшей читаемости.

Помните, что это лишь основные стили. Настоятельно рекомендую экспериментировать и настроить CSS в соответствии с вашими потребностями.

Данная публикация представляет собой перевод статьи « CSS Style Pre Tags » , подготовленной дружной командой проекта Интернет-технологии.ру

9 Текст

В следующих разделах обсуждаются вопросы структурирования текста. Элементы представления текста (элементы выравнивания, шрифта, таблицы стилей и т.д.) обсуждаются в других частях этой спецификации. Информацию о символах см. в разделе о наборе символов документа.

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

  • пробел набора символов ASCII ( )
  • табуляция набора символов ASCII ( )
  • ASCII form feed ( )
  • пробел нулевой ширины (​)

Символы перевода строки также являются неотображаемыми. Помните, что хотя символы и определены в спецификации [ISO10646] как разделители строк и абзацев соответственно, это не определяет символы перевода строки в HTML, а также в этой спецификации они не включены в более общую категорию неотображаемых символов.

В этой спецификации не определяется поведение, отображение и пр. символов пробелов, если они явно не определены как неотображаемые символы. По этой причине для достижения визуальных эффектов форматирования, использующих неотображаемые символы вместо пробелов, авторам следует использовать соответствующие элементы и таблицы стилей.

Для всех элементов HTML, кроме последовательностей неотображаемых слово (мы используем термин «слово» для обозначения «последовательности отображаемых символов») в теге PRE . При форматировании текст агенты пользователей должны идентифицировать эти слова и обрабатывать их в соответствии с соглашениями относительно определенного языка и целевого носителя.

Илон Маск рекомендует:  Iis задание стандартного домена для входа

Форматирование может включать пробелы между словами (называемые пробелами), но соглашения относительно межсловных пробелов меняются в зависимости от сценария. Например, в латинских сценариях межсловный пробел обычно отображается как пробел набора символов ASCII ( ), в то время как в таиландской кодировке это разделитель слов нулевой ширины (​). В японской и китайской кодировке межсловный пробел обычно вообще не генерируется.

Помните, что последовательность неотображаемых символов между словами в исходном документе может вызвать отображение совершенно другого межсловного пробела (кроме элемента PRE ). В частности, агенты пользователей должны прекращать ввод последовательностей неотображаемых символов при выводе межсловного пробела. Это можно и нужно делать, даже при отсутствии информации о языке (из атрибута lang , полях заголовка HTTP «Content-Language» (см. [RFC2068], раздел14.13), настроек агента пользователя и т.д.).

Элемент PRE используется для форматированного текста, в котором неотображаемые символы имеют важное значение.

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

и не должны писать:

9.2 Структурированный текст


9.2.1 Элементы фраз: EM , STRONG , DFN , CODE , SAMP , KBD , VAR , CITE , ABBR и ACRONYM

Начальный тег: обязателен, Конечный тег: обязателен

Атрибуты, определяемые в любом другом месте

Фразовые элементы добавляют в текстовые фрагменты структуру. Обычное значение фразовых элементов следующее:

EM: Выделение. STRONG: Более сильное выделение. CITE: Содержит цитату или ссылку на другие ресурсы. DFN: Указывает, что это является определением вложенного термина. CODE: Фрагмент компьютерного кода. SAMP: Вывод примера программ, сценариев и т.д. KBD: Текст, который должен ввести пользователь. VAR: Экземпляр переменной или аргумента программы. ABBR: Сокращенная форма (например, WWW, HTTP, URI, Mass., и т.д.). ACRONYM: Акроним (например, WAC, радар и т.д.).

Элементы EM и STRONG используются для выделения. Другие фразовые элементы имеют определенное значение в технических документах. В следующих примерах показано использование некоторых фразовых элементов:

Представление фразовых элементов зависит от агента пользователя. Обычно визуальные агенты пользователей представляют текст элемента EM курсивом, а текст элемента STRONG полужирным шрифтом. Синтезаторы речи могут изменять параметры синтеза, например, громкость, повышение тона и скорости соответственно.

Элементы ABBR и ACRONYM позволяют авторам явно показывать использование аббревиатур и акронимов. Западные языки широко используют акронимы, такие как «GmbH», «НАТО» и «ФБР», а также аббревиатуры типа «M.», «Inc.», «et al.», «etc.». В китайском и японском языках используются аналогичные механизмы аббревиатур, когда длинное название заменяется последовательностью символов Han из оригинала. Разметка этих конструкций предоставляет агентам пользователей и вспомогательным средствам, таким как средства проверки орфографии, синтезаторы речи, переводящие системы и индексаторы поисковых машин, полезную информацию.

Содержимое элементов ABBR и ACRONYM определяет саму аббревиатуру, как она обычно отображается в тексте. Атрибут title этих элементов может использоваться для указания полной развернутой формы выражения.

Несколько примеров использования элемента ABBR :

Помните, что аббревиатуры и акронимы часто имеют различное произношение. Например, если слова «США» и «BBC» обычно произносятся побуквенно, слова «НАТО» и «ЮНЕСКО» произносятся фонетически. Другие формы аббревиатур (например, «URI» и «SQL») некоторыми людьми произносятся побуквенно, а другими — как слова. При необходимости авторам следует использовать таблицы стилей для указания произношения аббревиатур.

9.2.2 Кавычки: Элементы BLOCKQUOTE и Q

Начальный тег: обязателен, конечный тег: обязателен

cite = uri [CT] Значением этого атрибута является URI, определяющий источник документа или сообщения. Этот атрибут предназначен для предоставления информации об источнике, из которого заимствована цитат.

Атрибуты, определяемые в любом другом месте

Эти два элемента определяют текст в кавычках. Элемент BLOCKQUOTE предназначен для длинных цитат (содержимое уровня блока) и Q предназначен для коротких цитат (встроенное содержимое), в которых не нужно разбиение на абзацы.

В этом примере цитата из книги «Две твердыни» Дж. Р. Р. Толкиена отформатирована с помощью элемента blockquote.

Визуальные агенты пользователей обычно генерируют элемент BLOCKQUOTE как блок с отступом.

Визуальные агенты пользователей должны обеспечивать отображение содержимого элемента Q с кавычками в начале и в конце. Авторы не должны помещать кавычки в начало и в конец текста в элементе Q .

Агенты пользователей должны генерировать кавычки с учетом принятого в данном языке стиля (см. атрибуты lang ). Во многих языках используются различные стили для внешних и внутренних (вложенных) кавычек, которые должны соответственно отображаться агентами пользователей.

В примере ниже показаны вложенные кавычки в элементе Q .

Поскольку в обеих цитатах используется английский язык, агенты пользователей должны генерировать их соответственно — одиночные кавычки во внутренних кавычках и двойные — во внешних:

Примечание.В реализации таблиц стилей рекомендуется обеспечение механизма вставки кавычек перед цитатой, определяемой элементом BLOCKQUOTE , и после нее в соответствии с текущим языком и степенью вложенности кавычек.

Однако, поскольку некоторые авторы использовали элемент BLOCKQUOTE в основном для отступа текста, чтобы не нарушать намерения авторов, агенты пользователей не должны вставлять кавычки в стиль по умолчанию.

В связи с этим использование элемента BLOCKQUOTE для смещения текста нежелательно.

9.2.3 Верхние и нижние индексы: элементы SUB и SUP

Начальный тег: обязателен, Конечный тег: обязателен

Атрибуты, определяемые в любом другом месте


Часто для правильной генерации необходимы верхние и нижние индексы (например, во французском языке). В этих случаях для разметки текста должны использоваться элементы SUB и SUP .

9.3 Строки и абзацы

Авторы традиционно разделяют свои тексты на последовательности абзацев. Организация информации в абзацы не влияет на представление абзаца: абзацы с двойным выравниванием содержат те же мысли, что и абзацы с выравниванием влево.

Разметка HTML для определения абзаца проста: элемент P определяет новый абзац.

Визуальное представление абзаца не так просто. Имеется ряд проблем, стилистических и технических:

  • Обработка непечатных символов
  • Перенос строки и продолжение слов
  • Выравнивание
  • Перенос
  • Соглашения относительного письменного языка и направления текста
  • Форматирование абзацев относительно окружающего

Эти вопросы обсуждаются ниже. Выравнивание абзаца и плавающие объекты обсуждаются далее в этом документе.

9.3.1 Абзацы: элемент P

Начальный тег: обязателен, Конечный тег: необязателен

Атрибуты, определяемые в любом другом месте

Элемент P представляет абзац. В нем не могут содержаться элементы уровня блока (включая и сам элемент P ).

Мы призываем авторов не использовать пустой элемент P . Агенты пользователей должны игнорировать пустые элементы P .

считается возврат каретки ( ), перевод строки (&#x00OA;) или пара возврат каретки/перевод строки. Все переходы на другую строку являются непечатными символами.

Подробнее о переходе на другую строку в спецификации SGML см. в разделе замечаний о переходе на новую строку в приложении.

Принудительный переход на новую строку: элемент BR

Начальный тег: обязателен, Конечный тег: запрещен

Атрибуты, определяемые в любом другом месте

Элемент BR принудительно разбивает (заканчивает) текущую строку текста.

Для визуальных агентов пользователей можно использовать атрибут clear для определения того, обтекает ли следующая за элементом BR разметка изображения и другие объекты, плавающие относительно левого или правого поля или начинается ниже объекта. Дальнейшая информация приведена в разделе о выравнивании и плавающих объектах. Авторам рекомендуется использовать таблицы стилей для управления обтеканием текстом изображений и других объектов.

С использованием двунаправленного форматирования , элемент BR должен действовать так же, как действует символ РАЗДЕЛИТЕЛЬ СТРОКИ [ISO10646] в двунаправленном алгоритме.

Иногда авторам нужно избежать перехода на новую строку между двумя определенными словами. Комбинация символов ( или ) действует как неразрывный пробел.

В HTML имеется два типа переносов: простой и мягкий перенос. Простой перенос должен интерпретироваться агентами пользователя просто как любой другой символ. Мягкий перенос показывает агенту пользователя, где можно сделать переход на новую строку.

Браузеры, которые интерпретируют мягкие переносы, должны обеспечивать следующую семантику: если строка прекращается в месте мягкого переноса, в конце первой строки должен отображаться символ переноса. Если строка не прерывается в месте мягкого переноса, символ переноса отображаться не должен. При выполнении таких операций как поиск и сортировка мягкие переносы всегда должны игнорироваться.

В языке HTML простой перенос представляется символом «-» (- или -). Мягкий перенос представляется комбинацией символов ­ (­ или ­)

9.3.4 Форматированный текст: Элемент PRE

Начальный тег: обязателен, Конечный тег: обязателен

width = number[CN] Этот атрибут предоставляет визуальным агентам пользователей подсказку относительно желаемой ширины блока форматированного текста. Агент пользователя может использовать эту информацию для выбора соответствующего размера шрифта или для создания соответствующего отступа. Ширина выражается числом символов. Этот атрибут часто не поддерживается.

Атрибуты, определяемые в любом другом месте

Элемент PRE сообщает визуальным агентам пользователей, что содержащийся в нем текст «отформатирован». При обработке форматированного текста визуальные агенты пользователей:

  • Могут оставлять непечатные символы так, как они указаны.
  • Могут использовать для отображения текста шрифт с символами одинаковой ширины.
  • Могут отключать автоматическое продолжение слов.
  • Не должны отключать обработку двунаправленности.

Невизуальные агенты пользователей не обязаны учитывать дополнительные непечатные символы в содержимом элемента PRE .

Подробнее о переходе на новую строку в спецификации SGML см. в разделе замечаний о переходе на новую строку в приложении.

В приведенном выше фрагменте DTD указывается, какие элементы не могут находиться в объявлении PRE . То же самое выполняется в HTML 3.2; это предназначено для сохранения постоянного межстрочного интервала и выравнивания столбцов для текста, генерируемого с использованием шрифта с символами равной ширины. Авторам не рекомендуется изменять такую обработку с помощью таблиц стилей.

В следующем примере показана отформатированная строфа из стихотворения Шелли To a Skylark :

Вот как она обычно отображается:

Символ горизонтальной табуляции
Символ горизонтальной табуляции (десятичный символ 9 в [ISO10646] и [ISO88591]) обычно интерпретируется визуальными агентами пользователей как наименьшее ненулевое число пробелов, необходимое для того, чтобы сдвинуть символы на позицию табуляции, которые находятся через каждые 8 символов. Настоятельно не рекомендуется использовать горизонтальные табуляции в форматированном тексте, поскольку при редактировании установка других значений табуляции может привести к неправильному выравниванию в документах.

Примечание.В следующем разделе содержится информативное описание обработки некоторыми из визуальных агентов пользователя форматированного текста. Таблицы стилей предоставляют лучшие возможности управления форматированием текста.

Визуальное генерирование абзацев зависит от агента пользователя. Обычно абзацы генерируются с выравниванием влево и неровным правым полем. Для направления текста справа налево используются другие значения по умолчанию.

Агенты пользователей HTML традиционно генерируют абзацы с непечатным символом перед абзацем и после него, например,

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

Следуя установкам браузера NCSA Mosaic, созданного в 1993 году, агенты пользователей обычно не выравнивают оба поля, частично из-за сложности этого процесса при отсутствии специальных процедур расстановки переносов. Использование таблиц стилей и шрифтов без псевдонимов с субпиксельным позиционированием обещает авторам текстов на языке HTML более широкие возможности.

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

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

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

Разбиение строки сразу перед конечным тегом элемента A приведет к тому, что запятая будет помещена в начало следующей строки:

Это ошибка, поскольку в разметке в этой позиции нет неотображаемого символа.

9.4 Разметка изменений в документе: Элементы INS и DEL

Начальный тег: обязателен, Конечный тег: обязателен

cite = uri [CT] Значением этого атрибута является адрес URI, определяющий источник документа или сообщения. Этот атрибут указывает на информацию, объясняющую причины изменения документа. datetime = datetime [CS] Значение этого атрибута указывает дату и время выполнения изменения.

Атрибуты, определяемые в любом другом месте

Элементы INS и DEL используются для разметки вставленных или удаленных разделов документа по отношению к другой версии документа (например, в черновике законопроекта, куда юристы должны вносить поправки).

Эти два элемента необычны для HTML, поскольку они могут служить элементами уровня блока или встроенными элементами (но не теми и другими). Они могут содержать одно или несколько слов в абзаце или один или несколько элементов уровня блока — абзацев, списков и таблиц.

Это пример законопроекта о количестве депутатов у окружного шерифа — 3 исправлено на 5.


Элементы INS и DEL не должны включать содержимое уровня блока, если они являются встроенными элементами.

ПРИМЕР НЕДОПУСТИМОГО ИСПОЛЬЗОВАНИЯ:
Ниже показан недопустимый код HTML.

Агенты пользователей должны генерировать вставленный и удаленный текст так, чтобы изменения были очевидны. Например, вставленный текст может отображаться специальным шрифтом, удаленный текст может вообще не отображаться, отображаться перечеркнутым или со специальными пометками и т.д.

Оба примера ниже соответствуют 5 ноября 1994 года, 20 ч. 15 мин. 30 с по стандартному восточному времени США.

С использованием элемента INS получаем:

В документе «http://www.foo.org/mydoc/comments.html» должны содержаться комментарии о том, почему эта информация помещена в документ.

Авторы также могут оставлять комментарии о вставленном или удаленном тексте для элементов INS и DEL с помощью атрибута title . Агенты пользователей могут представлять эту информацию пользователю (например, в виде всплывающего сообщения). Например:

PRE — предварительно отформатированный текст

Представить текст с использованием пробелов и переводов строк для последующего отображения его на экране. Это нужно, когда используется только текстовая информация, и мы хотим положить ее на страницу Web, предпочитая выбранную компоновку. Текст также может быть представлен так, как он формируется компьютерным выводом.

Типичное отображение

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

Основной синтаксис

Возможные атрибуты

имя атрибута возможные значения смысл примечания
WIDTH целое ширина текста в символах практически не поддерживается

Значение WIDTH должно быть равно или больше, чем длина самой длинной строки. В принципе, атрибут WIDTH должен обеспечивать броузер информацией, чтобы выбрать шрифт подходящего размера или скорректировать отступы для представления текста в требуемом виде. Но обычно это не делается броузерами, а сами Вы не можете установить размер шрифта, так как изменяющие размер шрифта элементы недопустимы в пределах PRE. Например, текст шире 80 символов будет отображен неправильно, даже если Вы используете атрибут WIDTH.

Допустимый контекст

Содержимое

Любой текстовый элемент, за исключением изображений (IMG) и элементов изменений размера шрифта (BIG, SMALL, SUB, SUP, FONT).

Примеры

Попытка представить компьютерный листинг, подобный выводимому на принтер:

Пример элемента PRE, содержащего связи:

Обсуждение представления взаимодействия с компьютером содержит добавочные примеры вложенной текстовой разметки.

Примечания

Как альтернативу использованию элемента PRE, рассмотрите использование обычного абзаца так, чтобы каждая строка переводилась элементом BR. Это не устраняет неудобств по разделению строк броузером (однако, если броузер разделяет строки, это означает, что они настолько длинны, что и для элемента PRE это тоже создаст проблемы) и не предохраняет от использования лидирующих пробелов или многократных пробелов в пределах строки . С другой стороны это дает гибкость, проявляющуюся, например, в использовании любых шрифтов.

Другая альтернатива, часто используемая для больших текстов или данных, предусматривает написание отдельного текстового файла, к которому Вы устанавливаете связь в Вашем HTML документе.

Предыдущая версия HTML включала элементы XMP, LISTING и PLAINTEXT. Они сейчас устарели и взамен них используется элемент PRE.

Одно из обычных использований элемента PRE — представление таблиц (смотрите пример 3). Однако, элемент TABLE для этих целей может подойти больше. Вы также можете рассмотреть возможность представления Ваших таблиц в двух вариантах — используя TABLE в основной форме и обеспечивая форму PRE для тех читателей, которые используют нетабличные броузеры.

Хотя элемент A и фразы разметки (например, STRONG) можно использовать в пределах элементов PRE, способности броузеров в их представлении могут быть более ограничены, чем вне PRE. Смотрите также примечания к представлению взаимодействия с компьютером.

Вы можете также ввести символ табуляции в предварительно отформатированный текст. Однако, хотя язык спецификаций и говорит о том, что символ табуляции должен позиционировать позицию курсора на следующие 8 символов, лучше использовать многократные пробелы, так как Вы не можете знать, как символы табуляции будут представлены броузером.

Хотя броузер должен показывать строки так, как они представлены в исходном коде, броузер может, например, использовать постоянный левый отступ для предварительно отформатированных абзацев.

В принципе тег P не должен находится внутри элемента PRE, так как P — блоковый элемент, а не текстовый. Однако, спецификация HTML 2.0 разрешает делать это. При этом броузеры осуществляют только перевод строки, без добавления пустой строки.

Если символы или & встречаются в данных, то они должны быть выражены с использованием escape синтаксиса (как в примере 2). В частности, Вы должны делать так, когда включаете код HTML в Ваш документ для вывода исходного кода.

Стандарт SGML требует, чтобы синтаксический анализатор устранил пустые строки сразу за начальным тегом и непосредственно предшествующие конечному тегу. Таким образом, не имеет значения, напишите ли Вы тег

на отдельной строке или как префикс к первой строке текста.

Текст

Форматированный текст: элемент PRE

Не рекомендуется. Этот атрибут подсказывает ПА желаемую ширину форматированного блока. ПА может использовать эту информацию для выбора шрифта подходящего размера или установки соответствующих отступов. Ширина выражается несколькими символами. В данный момент этот атрибут не поддерживается достаточно широко.

Атрибуты, определённые в другом месте

  • id , class (идентификаторы документа)
  • lang (язык), dir (направление текста )
  • title (название элемента)
  • style (инлайн стиль)
  • onclick , ondblclick , onmousedown , onmouseup , onmouseover , onmousemove , onmouseout , onkeypress , onkeydown , onkeyup ( внутренние события )

Элемент PRE сообщает визуальным ПА, что текст в этом элементе «форматирован». При обработке форматированного текста ПА:

  • могут оставить пробелы без изменений;
  • могут отображать текст шрифтом фиксированного размера;
  • могут отключить автоматический перенос слов ;
  • не должны отключать двунаправленный процесс.

Невизуальным ПА не нужно учитывать пробелы в содержимом элемента PRE .

Дополнительную информацию о SGML спецификации обрывов строки см. в «замечаниях об обрыве строк» в приложении.

Предыдущий фрагмент ОТД указывает, какие элементы не могут появляться внутри объявления PRE . Это то же самое, что и в HTML 3.2, и предназначено для сохранения постоянных пробелов между строками и выравнивания колонок текста , отображаемого шрифтом фиксированной ширины. Авторам не рекомендуется изменять такое поведение с помощью таблиц стилей.


Следующий пример показывает версию форматированной поэмы Shelly’s «To a Skylark»:

А вот как это обычно отображается:

Визуальное представление параграфов

То, как параграфы отображаются, зависит от ПА. Параграфы обычно выравниваются по левому краю с «рваным» правым обрезом. Другие значения по умолчанию предусмотрены для письма справа-налево.

HTML ПА традиционно отображают параграфы с пропусками над и под, например,

Это контрастирует со стилем, где есть отступы в первых строках параграфов и обычные расстояния между последней строкой одного и первой строкой другого параграфа , например,

Следуя первоначальным установкам браузера NCSA Mosaic browser в 1993 г., ПА обычно не выравнивают оба края, отчасти из-за того, что это трудно сделать эффективно при отсутствии соответствующих шаблонов обработки переноса слов . Появление таблиц стилей и неподставляемых шрифтов с субпикселным позиционированием обещает авторам HTML новые широкие возможности.

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

Таблица стилей по умолчанию в ПА рассматривает элементы P в привычной форме, как показано выше. Можно в принципе переопределить это представление параграфов и отображать их без пробелов над и под параграфами . В общем, поскольку это может смутить пользователя, мы не рекомендуем этого делать.

По соглашению, визуальные ПА HTML переносят строки, заполняя доступное пространство страницы. Алгоритмы переноса зависят от языка форматируемого текста .

В западных языках, например, текст должен переноситься только на пробелах . Ранние ПА некорректно переносили строки или после начального тега, или перед конечным тегом элемента, что приводило к появлению знаков «висячей» пунктуации. Например, рассмотрите это предложение:

Перенос строки сразу перед конечным тегом элемента A вызывает появление запятой в начале новой строки:

Это ошибка, поскольку в этом месте в разметке не было пробела .

Предварительное форматирование текста (элемент PRE)

Наиболее простой способ форматирования текста — это его вообще не форматировать, точнее, сохранить признаки формата, которые в нем присутствовали ранее. Для этого используется парный тег предварительного форматирования

Здесь для отображения тире использован уже известный вам спецсимвол &ndash , а для вывода двойных кавычек — символы &laquo (открывающиеся кавычки) и &raquo (за­крывающиеся кавычки). Обратите внимание, что на специальные символы предвари­тельное форматирование не распространяется.

Спецификация HTML 3.2 и последующих версий языка допускает вставку внутрь эле­мента PRE изображений и других текстовых блоков, меняющих свойства шрифта. Та­кие вставки поддерживаются большинством браузеров, однако в каждом конкретном случае лучше убедиться в правильном распознавании составленного документа.

PRE — предварительно отформатированный текст HTML

Представить текст с использованием пробелов и переводов строк для последующего отображения его на экране. Это нужно, когда используется только текстовая информация, и мы хотим положить ее на страницу Web, предпочитая выбранную компоновку. Текст также может быть представлен так, как он формируется компьютерным выводом.

Типичное отображение

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

Основной синтаксис

Возможные атрибуты

имя атрибута возможные значения смысл примечания
WIDTH целое ширина текста в символах практически не поддерживается

Значение WIDTH должно быть равно или больше, чем длина самой длинной строки. В принципе, атрибут WIDTH должен обеспечивать броузер информацией, чтобы выбрать шрифт подходящего размера или скорректировать отступы для представления текста в требуемом виде. Но обычно это не делается броузерами, а сами Вы не можете установить размер шрифта, так как изменяющие размер шрифта элементы недопустимы в пределах PRE. Например, текст шире 80 символов будет отображен неправильно, даже если Вы используете атрибут WIDTH.

Допустимый контекст

Содержимое

Любой текстовый элемент, за исключением изображений (IMG) и элементов изменений размера шрифта (BIG, SMALL, SUB, SUP, FONT).

Примеры

Попытка представить компьютерный листинг, подобный выводимому на принтер:

Пример элемента PRE, содержащего связи:

Обсуждение представления взаимодействия с компьютером содержит добавочные примеры вложенной текстовой разметки.

Примечания

Как альтернативу использованию элемента PRE, рассмотрите использование обычного абзаца так, чтобы каждая строка переводилась элементом BR. Это не устраняет неудобств по разделению строк броузером (однако, если броузер разделяет строки, это означает, что они настолько длинны, что и для элемента PRE это тоже создаст проблемы) и не предохраняет от использования лидирующих пробелов или многократных пробелов в пределах строки . С другой стороны это дает гибкость, проявляющуюся, например, в использовании любых шрифтов.

Другая альтернатива, часто используемая для больших текстов или данных, предусматривает написание отдельного текстового файла, к которому Вы устанавливаете связь в Вашем HTML документе.

Предыдущая версия HTML включала элементы XMP, LISTING и PLAINTEXT. Они сейчас устарели и взамен них используется элемент PRE.

Одно из обычных использований элемента PRE — представление таблиц (смотрите пример 3). Однако, элемент TABLE для этих целей может подойти больше. Вы также можете рассмотреть возможность представления Ваших таблиц в двух вариантах — используя TABLE в основной форме и обеспечивая форму PRE для тех читателей, которые используют нетабличные броузеры.

Хотя элемент A и фразы разметки (например, STRONG) можно использовать в пределах элементов PRE, способности броузеров в их представлении могут быть более ограничены, чем вне PRE. Смотрите также примечания к представлению взаимодействия с компьютером.

Вы можете также ввести символ табуляции в предварительно отформатированный текст. Однако, хотя язык спецификаций и говорит о том, что символ табуляции должен позиционировать позицию курсора на следующие 8 символов, лучше использовать многократные пробелы, так как Вы не можете знать, как символы табуляции будут представлены броузером.

Хотя броузер должен показывать строки так, как они представлены в исходном коде, броузер может, например, использовать постоянный левый отступ для предварительно отформатированных абзацев.

В принципе тег P не должен находится внутри элемента PRE, так как P — блоковый элемент, а не текстовый. Однако, спецификация HTML 2.0 разрешает делать это. При этом броузеры осуществляют только перевод строки, без добавления пустой строки.

Если символы или & встречаются в данных, то они должны быть выражены с использованием escape синтаксиса (как в примере 2). В частности, Вы должны делать так, когда включаете код HTML в Ваш документ для вывода исходного кода.

Стандарт SGML требует, чтобы синтаксический анализатор устранил пустые строки сразу за начальным тегом и непосредственно предшествующие конечному тегу. Таким образом, не имеет значения, напишите ли Вы тег

на отдельной строке или как префикс к первой строке текста.

НОВОСТИ ФОРУМА
Рыцари теории эфира
01.10.2020 — 05:20: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ — Upbringing, Inlightening, Education ->
[center][Youtube]69vJGqDENq4[/Youtube][/center]
[center]14:36[/center]
Osievskii Global News
29 сент. Отправлено 05:20, 01.10.2020 г.’ target=_top>Просвещение от Вячеслава Осиевского — Карим_Хайдаров.
30.09.2020 — 12:51: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ — Upbringing, Inlightening, Education ->
[center][Ok]376309070[/Ok][/center]
[center]11:03[/center] Отправлено 12:51, 30.09.2020 г.’ target=_top>Просвещение от Дэйвида Дюка — Карим_Хайдаров.
30.09.2020 — 11:53: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ — Upbringing, Inlightening, Education ->
[center][Youtube]VVQv1EzDTtY[/Youtube][/center]
[center]10:43[/center]

интервью Раввина Борода https://cursorinfo.co.il/all-news/rav.
мой телеграмм https://t.me/peshekhonovandrei
мой твиттер https://twitter.com/Andrey54708595
мой инстаграм https://www.instagram.com/andreipeshekhonow/

[b]Мой комментарий:
Андрей спрашивает: Краснодарская синагога — это что, военный объект?
— Да, военный, потому что имеет разрешение от Росатома на манипуляции с радиоактивными веществами, а также иными веществами, опасными в отношении массового поражения. Именно это было выявлено группой краснодарцев во главе с Мариной Мелиховой.

[center][Youtube]CLegyQkMkyw[/Youtube][/center]
[center]10:22 [/center]

Доминико Риккарди: Россию ждёт страшное будущее (хотелки ЦРУ):
https://tainy.net/22686-predskazaniya-dominika-rikardi-o-budushhem-rossii-sdelannye-v-2000-godu.html

Завещание Алена Даллеса / Разработка ЦРУ (запрещено к ознакомлению Роскомнадзором = Жид-над-рус-надзором)
http://av-inf.blogspot.com/2013/12/dalles.html

[center][b]Сон разума народа России [/center]

[center][Youtube]CLegyQkMkyw[/Youtube][/center]
[center]10:22 [/center]

Доминико Риккарди: Россию ждёт страшное будущее (хотелки ЦРУ):
https://tainy.net/22686-predskazaniya-dominika-rikardi-o-budushhem-rossii-sdelannye-v-2000-godu.html

Завещание Алена Даллеса / Разработка ЦРУ (запрещено к ознакомлению Роскомнадзором = Жид-над-рус-надзором)
http://av-inf.blogspot.com/2013/12/dalles.html

[center][b]Сон разума народа России [/center]


Форматированный текст: элемент PRE

Начальный тег: необходим, Конечный тег: необходим

Этот атрибут подсказывает ПА желаемую ширину форматированного блока. ПА может использовать эту информацию для выбора шрифта подходящего размера или установки соответствующих отступов. Ширина выражается несколькими символами. В данный момент этот атрибут не поддерживается достаточно широко.

Атрибуты, определённые в другом месте

id, class (идентификаторы документа)

lang (язык), dir (направление текста)

style (инлайн стиль )

onkeydown, onkeyup (внутренние события )

PRE сообщает визуальным ПА, что текст в этом элементе «форматирован». При обработке форматированного текста ПА:

могут оставить пробелы без изменений;

могут отображать текст шрифтом фиксированного размера;

могут отключить автоматический перенос слов;

не должны отключать двунаправленный процесс.

Невизуальным ПА не нужно учитывать пробелы в содержимом элемента PRE.

Дополнительную информацию о SGML спецификации обрывов строки см. в замечаниях об обрыве строк в приложении.

Предыдущий фрагмент ОТД указывает, какие элементы не могут появляться внутри объявления PRE. Это то же самое, что и в HTML 3.2, и предназначено для сохранения постоянных пробелов между строками и выравнивания колонок текста, отображаемого шрифтом фиксированной ширины. Авторам не рекомендуется изменять такое поведение с помощью таблиц стилей.

Следующий пример показывает версию форматированной поэмы Shelly’s «To a Skylark»:

А вот как это обычно отображается:

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.

Символ горизонтальной табуляции.

Символ горизонтальной табуляции (десятеричная 9 в [ISO10646] и [ISO88591] ) интерпретируется обычно визуальными ПА как наименьше ненулевое количество пробелов (8), после которых устанавливаются точки табуляции. Мы настоятельно не рекомендуем использовать горизонтальную табуляцию в форматированном тексте, поскольку обычно при редактировании устанавливают другие размеры табуляции, что приводит к нарушению выравнивания в документе.

9 Текст

В следующих разделах обсуждаются вопросы структурирования текста. Элементы представления текста (элементы выравнивания, шрифта, таблицы стилей и т.д.) обсуждаются в других частях этой спецификации. Информацию о символах см. в разделе о наборе символов документа.

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

  • пробел набора символов ASCII ( )
  • табуляция набора символов ASCII ( )
  • ASCII form feed ( )
  • пробел нулевой ширины (​)

Символы перевода строки также являются неотображаемыми. Помните, что хотя символы и определены в спецификации [ISO10646] как разделители строк и абзацев соответственно, это не определяет символы перевода строки в HTML, а также в этой спецификации они не включены в более общую категорию неотображаемых символов.

В этой спецификации не определяется поведение, отображение и пр. символов пробелов, если они явно не определены как неотображаемые символы. По этой причине для достижения визуальных эффектов форматирования, использующих неотображаемые символы вместо пробелов, авторам следует использовать соответствующие элементы и таблицы стилей.

Для всех элементов HTML, кроме последовательностей неотображаемых слово (мы используем термин «слово» для обозначения «последовательности отображаемых символов») в теге PRE . При форматировании текст агенты пользователей должны идентифицировать эти слова и обрабатывать их в соответствии с соглашениями относительно определенного языка и целевого носителя.

Форматирование может включать пробелы между словами (называемые пробелами), но соглашения относительно межсловных пробелов меняются в зависимости от сценария. Например, в латинских сценариях межсловный пробел обычно отображается как пробел набора символов ASCII ( ), в то время как в таиландской кодировке это разделитель слов нулевой ширины (​). В японской и китайской кодировке межсловный пробел обычно вообще не генерируется.

Помните, что последовательность неотображаемых символов между словами в исходном документе может вызвать отображение совершенно другого межсловного пробела (кроме элемента PRE ). В частности, агенты пользователей должны прекращать ввод последовательностей неотображаемых символов при выводе межсловного пробела. Это можно и нужно делать, даже при отсутствии информации о языке (из атрибута lang , полях заголовка HTTP «Content-Language» (см. [RFC2068], раздел14.13), настроек агента пользователя и т.д.).

Элемент PRE используется для форматированного текста, в котором неотображаемые символы имеют важное значение.

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

и не должны писать:

9.2 Структурированный текст


9.2.1 Элементы фраз: EM , STRONG , DFN , CODE , SAMP , KBD , VAR , CITE , ABBR и ACRONYM

Начальный тег: обязателен, Конечный тег: обязателен

Атрибуты, определяемые в любом другом месте

Фразовые элементы добавляют в текстовые фрагменты структуру. Обычное значение фразовых элементов следующее:

EM: Выделение. STRONG: Более сильное выделение. CITE: Содержит цитату или ссылку на другие ресурсы. DFN: Указывает, что это является определением вложенного термина. CODE: Фрагмент компьютерного кода. SAMP: Вывод примера программ, сценариев и т.д. KBD: Текст, который должен ввести пользователь. VAR: Экземпляр переменной или аргумента программы. ABBR: Сокращенная форма (например, WWW, HTTP, URI, Mass., и т.д.). ACRONYM: Акроним (например, WAC, радар и т.д.).

Элементы EM и STRONG используются для выделения. Другие фразовые элементы имеют определенное значение в технических документах. В следующих примерах показано использование некоторых фразовых элементов:

Представление фразовых элементов зависит от агента пользователя. Обычно визуальные агенты пользователей представляют текст элемента EM курсивом, а текст элемента STRONG полужирным шрифтом. Синтезаторы речи могут изменять параметры синтеза, например, громкость, повышение тона и скорости соответственно.

Элементы ABBR и ACRONYM позволяют авторам явно показывать использование аббревиатур и акронимов. Западные языки широко используют акронимы, такие как «GmbH», «НАТО» и «ФБР», а также аббревиатуры типа «M.», «Inc.», «et al.», «etc.». В китайском и японском языках используются аналогичные механизмы аббревиатур, когда длинное название заменяется последовательностью символов Han из оригинала. Разметка этих конструкций предоставляет агентам пользователей и вспомогательным средствам, таким как средства проверки орфографии, синтезаторы речи, переводящие системы и индексаторы поисковых машин, полезную информацию.

Содержимое элементов ABBR и ACRONYM определяет саму аббревиатуру, как она обычно отображается в тексте. Атрибут title этих элементов может использоваться для указания полной развернутой формы выражения.

Несколько примеров использования элемента ABBR :

Помните, что аббревиатуры и акронимы часто имеют различное произношение. Например, если слова «США» и «BBC» обычно произносятся побуквенно, слова «НАТО» и «ЮНЕСКО» произносятся фонетически. Другие формы аббревиатур (например, «URI» и «SQL») некоторыми людьми произносятся побуквенно, а другими — как слова. При необходимости авторам следует использовать таблицы стилей для указания произношения аббревиатур.

9.2.2 Кавычки: Элементы BLOCKQUOTE и Q

Начальный тег: обязателен, конечный тег: обязателен

cite = uri [CT] Значением этого атрибута является URI, определяющий источник документа или сообщения. Этот атрибут предназначен для предоставления информации об источнике, из которого заимствована цитат.

Атрибуты, определяемые в любом другом месте

Эти два элемента определяют текст в кавычках. Элемент BLOCKQUOTE предназначен для длинных цитат (содержимое уровня блока) и Q предназначен для коротких цитат (встроенное содержимое), в которых не нужно разбиение на абзацы.


В этом примере цитата из книги «Две твердыни» Дж. Р. Р. Толкиена отформатирована с помощью элемента blockquote.

Визуальные агенты пользователей обычно генерируют элемент BLOCKQUOTE как блок с отступом.

Визуальные агенты пользователей должны обеспечивать отображение содержимого элемента Q с кавычками в начале и в конце. Авторы не должны помещать кавычки в начало и в конец текста в элементе Q .

Агенты пользователей должны генерировать кавычки с учетом принятого в данном языке стиля (см. атрибуты lang ). Во многих языках используются различные стили для внешних и внутренних (вложенных) кавычек, которые должны соответственно отображаться агентами пользователей.

В примере ниже показаны вложенные кавычки в элементе Q .

Поскольку в обеих цитатах используется английский язык, агенты пользователей должны генерировать их соответственно — одиночные кавычки во внутренних кавычках и двойные — во внешних:

Примечание.В реализации таблиц стилей рекомендуется обеспечение механизма вставки кавычек перед цитатой, определяемой элементом BLOCKQUOTE , и после нее в соответствии с текущим языком и степенью вложенности кавычек.

Однако, поскольку некоторые авторы использовали элемент BLOCKQUOTE в основном для отступа текста, чтобы не нарушать намерения авторов, агенты пользователей не должны вставлять кавычки в стиль по умолчанию.

В связи с этим использование элемента BLOCKQUOTE для смещения текста нежелательно.

9.2.3 Верхние и нижние индексы: элементы SUB и SUP

Начальный тег: обязателен, Конечный тег: обязателен

Атрибуты, определяемые в любом другом месте

Часто для правильной генерации необходимы верхние и нижние индексы (например, во французском языке). В этих случаях для разметки текста должны использоваться элементы SUB и SUP .

9.3 Строки и абзацы

Авторы традиционно разделяют свои тексты на последовательности абзацев. Организация информации в абзацы не влияет на представление абзаца: абзацы с двойным выравниванием содержат те же мысли, что и абзацы с выравниванием влево.

Разметка HTML для определения абзаца проста: элемент P определяет новый абзац.

Визуальное представление абзаца не так просто. Имеется ряд проблем, стилистических и технических:

  • Обработка непечатных символов
  • Перенос строки и продолжение слов
  • Выравнивание
  • Перенос
  • Соглашения относительного письменного языка и направления текста
  • Форматирование абзацев относительно окружающего

Эти вопросы обсуждаются ниже. Выравнивание абзаца и плавающие объекты обсуждаются далее в этом документе.

9.3.1 Абзацы: элемент P

Начальный тег: обязателен, Конечный тег: необязателен

Атрибуты, определяемые в любом другом месте

Элемент P представляет абзац. В нем не могут содержаться элементы уровня блока (включая и сам элемент P ).

Мы призываем авторов не использовать пустой элемент P . Агенты пользователей должны игнорировать пустые элементы P .

считается возврат каретки ( ), перевод строки (&#x00OA;) или пара возврат каретки/перевод строки. Все переходы на другую строку являются непечатными символами.

Подробнее о переходе на другую строку в спецификации SGML см. в разделе замечаний о переходе на новую строку в приложении.

Принудительный переход на новую строку: элемент BR

Начальный тег: обязателен, Конечный тег: запрещен

Атрибуты, определяемые в любом другом месте

Элемент BR принудительно разбивает (заканчивает) текущую строку текста.

Для визуальных агентов пользователей можно использовать атрибут clear для определения того, обтекает ли следующая за элементом BR разметка изображения и другие объекты, плавающие относительно левого или правого поля или начинается ниже объекта. Дальнейшая информация приведена в разделе о выравнивании и плавающих объектах. Авторам рекомендуется использовать таблицы стилей для управления обтеканием текстом изображений и других объектов.

С использованием двунаправленного форматирования , элемент BR должен действовать так же, как действует символ РАЗДЕЛИТЕЛЬ СТРОКИ [ISO10646] в двунаправленном алгоритме.

Иногда авторам нужно избежать перехода на новую строку между двумя определенными словами. Комбинация символов ( или ) действует как неразрывный пробел.

В HTML имеется два типа переносов: простой и мягкий перенос. Простой перенос должен интерпретироваться агентами пользователя просто как любой другой символ. Мягкий перенос показывает агенту пользователя, где можно сделать переход на новую строку.

Браузеры, которые интерпретируют мягкие переносы, должны обеспечивать следующую семантику: если строка прекращается в месте мягкого переноса, в конце первой строки должен отображаться символ переноса. Если строка не прерывается в месте мягкого переноса, символ переноса отображаться не должен. При выполнении таких операций как поиск и сортировка мягкие переносы всегда должны игнорироваться.

В языке HTML простой перенос представляется символом «-» (- или -). Мягкий перенос представляется комбинацией символов ­ (­ или ­)

9.3.4 Форматированный текст: Элемент PRE

Начальный тег: обязателен, Конечный тег: обязателен

width = number[CN] Этот атрибут предоставляет визуальным агентам пользователей подсказку относительно желаемой ширины блока форматированного текста. Агент пользователя может использовать эту информацию для выбора соответствующего размера шрифта или для создания соответствующего отступа. Ширина выражается числом символов. Этот атрибут часто не поддерживается.

Атрибуты, определяемые в любом другом месте

Элемент PRE сообщает визуальным агентам пользователей, что содержащийся в нем текст «отформатирован». При обработке форматированного текста визуальные агенты пользователей:

  • Могут оставлять непечатные символы так, как они указаны.
  • Могут использовать для отображения текста шрифт с символами одинаковой ширины.
  • Могут отключать автоматическое продолжение слов.
  • Не должны отключать обработку двунаправленности.

Невизуальные агенты пользователей не обязаны учитывать дополнительные непечатные символы в содержимом элемента PRE .

Подробнее о переходе на новую строку в спецификации SGML см. в разделе замечаний о переходе на новую строку в приложении.

В приведенном выше фрагменте DTD указывается, какие элементы не могут находиться в объявлении PRE . То же самое выполняется в HTML 3.2; это предназначено для сохранения постоянного межстрочного интервала и выравнивания столбцов для текста, генерируемого с использованием шрифта с символами равной ширины. Авторам не рекомендуется изменять такую обработку с помощью таблиц стилей.

В следующем примере показана отформатированная строфа из стихотворения Шелли To a Skylark :

Вот как она обычно отображается:

Символ горизонтальной табуляции
Символ горизонтальной табуляции (десятичный символ 9 в [ISO10646] и [ISO88591]) обычно интерпретируется визуальными агентами пользователей как наименьшее ненулевое число пробелов, необходимое для того, чтобы сдвинуть символы на позицию табуляции, которые находятся через каждые 8 символов. Настоятельно не рекомендуется использовать горизонтальные табуляции в форматированном тексте, поскольку при редактировании установка других значений табуляции может привести к неправильному выравниванию в документах.

Примечание.В следующем разделе содержится информативное описание обработки некоторыми из визуальных агентов пользователя форматированного текста. Таблицы стилей предоставляют лучшие возможности управления форматированием текста.

Визуальное генерирование абзацев зависит от агента пользователя. Обычно абзацы генерируются с выравниванием влево и неровным правым полем. Для направления текста справа налево используются другие значения по умолчанию.

Агенты пользователей HTML традиционно генерируют абзацы с непечатным символом перед абзацем и после него, например,

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

Следуя установкам браузера NCSA Mosaic, созданного в 1993 году, агенты пользователей обычно не выравнивают оба поля, частично из-за сложности этого процесса при отсутствии специальных процедур расстановки переносов. Использование таблиц стилей и шрифтов без псевдонимов с субпиксельным позиционированием обещает авторам текстов на языке HTML более широкие возможности.


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

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

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

Разбиение строки сразу перед конечным тегом элемента A приведет к тому, что запятая будет помещена в начало следующей строки:

Это ошибка, поскольку в разметке в этой позиции нет неотображаемого символа.

9.4 Разметка изменений в документе: Элементы INS и DEL

Начальный тег: обязателен, Конечный тег: обязателен

cite = uri [CT] Значением этого атрибута является адрес URI, определяющий источник документа или сообщения. Этот атрибут указывает на информацию, объясняющую причины изменения документа. datetime = datetime [CS] Значение этого атрибута указывает дату и время выполнения изменения.

Атрибуты, определяемые в любом другом месте

Элементы INS и DEL используются для разметки вставленных или удаленных разделов документа по отношению к другой версии документа (например, в черновике законопроекта, куда юристы должны вносить поправки).

Эти два элемента необычны для HTML, поскольку они могут служить элементами уровня блока или встроенными элементами (но не теми и другими). Они могут содержать одно или несколько слов в абзаце или один или несколько элементов уровня блока — абзацев, списков и таблиц.

Это пример законопроекта о количестве депутатов у окружного шерифа — 3 исправлено на 5.

Элементы INS и DEL не должны включать содержимое уровня блока, если они являются встроенными элементами.

ПРИМЕР НЕДОПУСТИМОГО ИСПОЛЬЗОВАНИЯ:
Ниже показан недопустимый код HTML.

Агенты пользователей должны генерировать вставленный и удаленный текст так, чтобы изменения были очевидны. Например, вставленный текст может отображаться специальным шрифтом, удаленный текст может вообще не отображаться, отображаться перечеркнутым или со специальными пометками и т.д.

Оба примера ниже соответствуют 5 ноября 1994 года, 20 ч. 15 мин. 30 с по стандартному восточному времени США.

С использованием элемента INS получаем:

В документе «http://www.foo.org/mydoc/comments.html» должны содержаться комментарии о том, почему эта информация помещена в документ.

Авторы также могут оставлять комментарии о вставленном или удаленном тексте для элементов INS и DEL с помощью атрибута title . Агенты пользователей могут представлять эту информацию пользователю (например, в виде всплывающего сообщения). Например:

9 Текст

В следующих разделах обсуждаются вопросы структурирования текста. Элементы представления текста (элементы выравнивания, шрифта, таблицы стилей и т.д.) обсуждаются в других частях этой спецификации. Информацию о символах см. в разделе о наборе символов документа.

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

  • пробел набора символов ASCII ( )
  • табуляция набора символов ASCII ( )
  • ASCII form feed ( )
  • пробел нулевой ширины (​)

Символы перевода строки также являются неотображаемыми. Помните, что хотя символы и определены в спецификации [ISO10646] как разделители строк и абзацев соответственно, это не определяет символы перевода строки в HTML, а также в этой спецификации они не включены в более общую категорию неотображаемых символов.

В этой спецификации не определяется поведение, отображение и пр. символов пробелов, если они явно не определены как неотображаемые символы. По этой причине для достижения визуальных эффектов форматирования, использующих неотображаемые символы вместо пробелов, авторам следует использовать соответствующие элементы и таблицы стилей.

Для всех элементов HTML, кроме последовательностей неотображаемых слово (мы используем термин «слово» для обозначения «последовательности отображаемых символов») в теге PRE . При форматировании текст агенты пользователей должны идентифицировать эти слова и обрабатывать их в соответствии с соглашениями относительно определенного языка и целевого носителя.

Форматирование может включать пробелы между словами (называемые пробелами), но соглашения относительно межсловных пробелов меняются в зависимости от сценария. Например, в латинских сценариях межсловный пробел обычно отображается как пробел набора символов ASCII ( ), в то время как в таиландской кодировке это разделитель слов нулевой ширины (​). В японской и китайской кодировке межсловный пробел обычно вообще не генерируется.

Помните, что последовательность неотображаемых символов между словами в исходном документе может вызвать отображение совершенно другого межсловного пробела (кроме элемента PRE ). В частности, агенты пользователей должны прекращать ввод последовательностей неотображаемых символов при выводе межсловного пробела. Это можно и нужно делать, даже при отсутствии информации о языке (из атрибута lang , полях заголовка HTTP «Content-Language» (см. [RFC2068], раздел14.13), настроек агента пользователя и т.д.).

Элемент PRE используется для форматированного текста, в котором неотображаемые символы имеют важное значение.

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

и не должны писать:

9.2 Структурированный текст


9.2.1 Элементы фраз: EM , STRONG , DFN , CODE , SAMP , KBD , VAR , CITE , ABBR и ACRONYM

Начальный тег: обязателен, Конечный тег: обязателен

Атрибуты, определяемые в любом другом месте

Фразовые элементы добавляют в текстовые фрагменты структуру. Обычное значение фразовых элементов следующее:

EM: Выделение. STRONG: Более сильное выделение. CITE: Содержит цитату или ссылку на другие ресурсы. DFN: Указывает, что это является определением вложенного термина. CODE: Фрагмент компьютерного кода. SAMP: Вывод примера программ, сценариев и т.д. KBD: Текст, который должен ввести пользователь. VAR: Экземпляр переменной или аргумента программы. ABBR: Сокращенная форма (например, WWW, HTTP, URI, Mass., и т.д.). ACRONYM: Акроним (например, WAC, радар и т.д.).

Элементы EM и STRONG используются для выделения. Другие фразовые элементы имеют определенное значение в технических документах. В следующих примерах показано использование некоторых фразовых элементов:

Представление фразовых элементов зависит от агента пользователя. Обычно визуальные агенты пользователей представляют текст элемента EM курсивом, а текст элемента STRONG полужирным шрифтом. Синтезаторы речи могут изменять параметры синтеза, например, громкость, повышение тона и скорости соответственно.

Элементы ABBR и ACRONYM позволяют авторам явно показывать использование аббревиатур и акронимов. Западные языки широко используют акронимы, такие как «GmbH», «НАТО» и «ФБР», а также аббревиатуры типа «M.», «Inc.», «et al.», «etc.». В китайском и японском языках используются аналогичные механизмы аббревиатур, когда длинное название заменяется последовательностью символов Han из оригинала. Разметка этих конструкций предоставляет агентам пользователей и вспомогательным средствам, таким как средства проверки орфографии, синтезаторы речи, переводящие системы и индексаторы поисковых машин, полезную информацию.

Содержимое элементов ABBR и ACRONYM определяет саму аббревиатуру, как она обычно отображается в тексте. Атрибут title этих элементов может использоваться для указания полной развернутой формы выражения.

Несколько примеров использования элемента ABBR :

Помните, что аббревиатуры и акронимы часто имеют различное произношение. Например, если слова «США» и «BBC» обычно произносятся побуквенно, слова «НАТО» и «ЮНЕСКО» произносятся фонетически. Другие формы аббревиатур (например, «URI» и «SQL») некоторыми людьми произносятся побуквенно, а другими — как слова. При необходимости авторам следует использовать таблицы стилей для указания произношения аббревиатур.

9.2.2 Кавычки: Элементы BLOCKQUOTE и Q

Начальный тег: обязателен, конечный тег: обязателен

cite = uri [CT] Значением этого атрибута является URI, определяющий источник документа или сообщения. Этот атрибут предназначен для предоставления информации об источнике, из которого заимствована цитат.

Атрибуты, определяемые в любом другом месте

Эти два элемента определяют текст в кавычках. Элемент BLOCKQUOTE предназначен для длинных цитат (содержимое уровня блока) и Q предназначен для коротких цитат (встроенное содержимое), в которых не нужно разбиение на абзацы.

В этом примере цитата из книги «Две твердыни» Дж. Р. Р. Толкиена отформатирована с помощью элемента blockquote.

Визуальные агенты пользователей обычно генерируют элемент BLOCKQUOTE как блок с отступом.

Визуальные агенты пользователей должны обеспечивать отображение содержимого элемента Q с кавычками в начале и в конце. Авторы не должны помещать кавычки в начало и в конец текста в элементе Q .

Агенты пользователей должны генерировать кавычки с учетом принятого в данном языке стиля (см. атрибуты lang ). Во многих языках используются различные стили для внешних и внутренних (вложенных) кавычек, которые должны соответственно отображаться агентами пользователей.

В примере ниже показаны вложенные кавычки в элементе Q .

Поскольку в обеих цитатах используется английский язык, агенты пользователей должны генерировать их соответственно — одиночные кавычки во внутренних кавычках и двойные — во внешних:

Примечание.В реализации таблиц стилей рекомендуется обеспечение механизма вставки кавычек перед цитатой, определяемой элементом BLOCKQUOTE , и после нее в соответствии с текущим языком и степенью вложенности кавычек.


Однако, поскольку некоторые авторы использовали элемент BLOCKQUOTE в основном для отступа текста, чтобы не нарушать намерения авторов, агенты пользователей не должны вставлять кавычки в стиль по умолчанию.

В связи с этим использование элемента BLOCKQUOTE для смещения текста нежелательно.

9.2.3 Верхние и нижние индексы: элементы SUB и SUP

Начальный тег: обязателен, Конечный тег: обязателен

Атрибуты, определяемые в любом другом месте

Часто для правильной генерации необходимы верхние и нижние индексы (например, во французском языке). В этих случаях для разметки текста должны использоваться элементы SUB и SUP .

9.3 Строки и абзацы

Авторы традиционно разделяют свои тексты на последовательности абзацев. Организация информации в абзацы не влияет на представление абзаца: абзацы с двойным выравниванием содержат те же мысли, что и абзацы с выравниванием влево.

Разметка HTML для определения абзаца проста: элемент P определяет новый абзац.

Визуальное представление абзаца не так просто. Имеется ряд проблем, стилистических и технических:

  • Обработка непечатных символов
  • Перенос строки и продолжение слов
  • Выравнивание
  • Перенос
  • Соглашения относительного письменного языка и направления текста
  • Форматирование абзацев относительно окружающего

Эти вопросы обсуждаются ниже. Выравнивание абзаца и плавающие объекты обсуждаются далее в этом документе.

9.3.1 Абзацы: элемент P

Начальный тег: обязателен, Конечный тег: необязателен

Атрибуты, определяемые в любом другом месте

Элемент P представляет абзац. В нем не могут содержаться элементы уровня блока (включая и сам элемент P ).

Мы призываем авторов не использовать пустой элемент P . Агенты пользователей должны игнорировать пустые элементы P .

считается возврат каретки ( ), перевод строки (&#x00OA;) или пара возврат каретки/перевод строки. Все переходы на другую строку являются непечатными символами.

Подробнее о переходе на другую строку в спецификации SGML см. в разделе замечаний о переходе на новую строку в приложении.

Принудительный переход на новую строку: элемент BR

Начальный тег: обязателен, Конечный тег: запрещен

Атрибуты, определяемые в любом другом месте

Элемент BR принудительно разбивает (заканчивает) текущую строку текста.

Для визуальных агентов пользователей можно использовать атрибут clear для определения того, обтекает ли следующая за элементом BR разметка изображения и другие объекты, плавающие относительно левого или правого поля или начинается ниже объекта. Дальнейшая информация приведена в разделе о выравнивании и плавающих объектах. Авторам рекомендуется использовать таблицы стилей для управления обтеканием текстом изображений и других объектов.

С использованием двунаправленного форматирования , элемент BR должен действовать так же, как действует символ РАЗДЕЛИТЕЛЬ СТРОКИ [ISO10646] в двунаправленном алгоритме.

Иногда авторам нужно избежать перехода на новую строку между двумя определенными словами. Комбинация символов ( или ) действует как неразрывный пробел.

В HTML имеется два типа переносов: простой и мягкий перенос. Простой перенос должен интерпретироваться агентами пользователя просто как любой другой символ. Мягкий перенос показывает агенту пользователя, где можно сделать переход на новую строку.

Браузеры, которые интерпретируют мягкие переносы, должны обеспечивать следующую семантику: если строка прекращается в месте мягкого переноса, в конце первой строки должен отображаться символ переноса. Если строка не прерывается в месте мягкого переноса, символ переноса отображаться не должен. При выполнении таких операций как поиск и сортировка мягкие переносы всегда должны игнорироваться.

В языке HTML простой перенос представляется символом «-» (- или -). Мягкий перенос представляется комбинацией символов ­ (­ или ­)

9.3.4 Форматированный текст: Элемент PRE

Начальный тег: обязателен, Конечный тег: обязателен

width = number[CN] Этот атрибут предоставляет визуальным агентам пользователей подсказку относительно желаемой ширины блока форматированного текста. Агент пользователя может использовать эту информацию для выбора соответствующего размера шрифта или для создания соответствующего отступа. Ширина выражается числом символов. Этот атрибут часто не поддерживается.

Атрибуты, определяемые в любом другом месте

Элемент PRE сообщает визуальным агентам пользователей, что содержащийся в нем текст «отформатирован». При обработке форматированного текста визуальные агенты пользователей:

  • Могут оставлять непечатные символы так, как они указаны.
  • Могут использовать для отображения текста шрифт с символами одинаковой ширины.
  • Могут отключать автоматическое продолжение слов.
  • Не должны отключать обработку двунаправленности.

Невизуальные агенты пользователей не обязаны учитывать дополнительные непечатные символы в содержимом элемента PRE .

Подробнее о переходе на новую строку в спецификации SGML см. в разделе замечаний о переходе на новую строку в приложении.

В приведенном выше фрагменте DTD указывается, какие элементы не могут находиться в объявлении PRE . То же самое выполняется в HTML 3.2; это предназначено для сохранения постоянного межстрочного интервала и выравнивания столбцов для текста, генерируемого с использованием шрифта с символами равной ширины. Авторам не рекомендуется изменять такую обработку с помощью таблиц стилей.

В следующем примере показана отформатированная строфа из стихотворения Шелли To a Skylark :

Вот как она обычно отображается:

Символ горизонтальной табуляции
Символ горизонтальной табуляции (десятичный символ 9 в [ISO10646] и [ISO88591]) обычно интерпретируется визуальными агентами пользователей как наименьшее ненулевое число пробелов, необходимое для того, чтобы сдвинуть символы на позицию табуляции, которые находятся через каждые 8 символов. Настоятельно не рекомендуется использовать горизонтальные табуляции в форматированном тексте, поскольку при редактировании установка других значений табуляции может привести к неправильному выравниванию в документах.

Примечание.В следующем разделе содержится информативное описание обработки некоторыми из визуальных агентов пользователя форматированного текста. Таблицы стилей предоставляют лучшие возможности управления форматированием текста.

Визуальное генерирование абзацев зависит от агента пользователя. Обычно абзацы генерируются с выравниванием влево и неровным правым полем. Для направления текста справа налево используются другие значения по умолчанию.

Агенты пользователей HTML традиционно генерируют абзацы с непечатным символом перед абзацем и после него, например,

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

Следуя установкам браузера NCSA Mosaic, созданного в 1993 году, агенты пользователей обычно не выравнивают оба поля, частично из-за сложности этого процесса при отсутствии специальных процедур расстановки переносов. Использование таблиц стилей и шрифтов без псевдонимов с субпиксельным позиционированием обещает авторам текстов на языке HTML более широкие возможности.

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

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

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

Разбиение строки сразу перед конечным тегом элемента A приведет к тому, что запятая будет помещена в начало следующей строки:

Это ошибка, поскольку в разметке в этой позиции нет неотображаемого символа.

9.4 Разметка изменений в документе: Элементы INS и DEL

Начальный тег: обязателен, Конечный тег: обязателен

cite = uri [CT] Значением этого атрибута является адрес URI, определяющий источник документа или сообщения. Этот атрибут указывает на информацию, объясняющую причины изменения документа. datetime = datetime [CS] Значение этого атрибута указывает дату и время выполнения изменения.

Атрибуты, определяемые в любом другом месте

Элементы INS и DEL используются для разметки вставленных или удаленных разделов документа по отношению к другой версии документа (например, в черновике законопроекта, куда юристы должны вносить поправки).

Эти два элемента необычны для HTML, поскольку они могут служить элементами уровня блока или встроенными элементами (но не теми и другими). Они могут содержать одно или несколько слов в абзаце или один или несколько элементов уровня блока — абзацев, списков и таблиц.

Это пример законопроекта о количестве депутатов у окружного шерифа — 3 исправлено на 5.

Элементы INS и DEL не должны включать содержимое уровня блока, если они являются встроенными элементами.

ПРИМЕР НЕДОПУСТИМОГО ИСПОЛЬЗОВАНИЯ:
Ниже показан недопустимый код HTML.

Агенты пользователей должны генерировать вставленный и удаленный текст так, чтобы изменения были очевидны. Например, вставленный текст может отображаться специальным шрифтом, удаленный текст может вообще не отображаться, отображаться перечеркнутым или со специальными пометками и т.д.

Оба примера ниже соответствуют 5 ноября 1994 года, 20 ч. 15 мин. 30 с по стандартному восточному времени США.

С использованием элемента INS получаем:

В документе «http://www.foo.org/mydoc/comments.html» должны содержаться комментарии о том, почему эта информация помещена в документ.

Авторы также могут оставлять комментарии о вставленном или удаленном тексте для элементов INS и DEL с помощью атрибута title . Агенты пользователей могут представлять эту информацию пользователю (например, в виде всплывающего сообщения). Например:

Понравилась статья? Поделиться с друзьями:
Кодинг, CSS и SQL