Тег plaintext в HTML: что делал и чем заменить

Тег <plaintext> выводил всё, что идёт после него, как простой текст: теги внутри не работали, а были видны на экране. Закрывающий тег </plaintext> браузер не замечает, поэтому действие тега длится до конца страницы. Атрибутов у тега нет. Он был в ранних версиях HTML, HTML 3.2 уже называл его устаревшим, а HTML 4.0 убрал совсем. Сегодня стандарт HTML запрещает его, но требует от браузеров обращаться с ним как с pre.

HTML
<p>До</p>
<plaintext>Слово <b>жирное</b>

Что делал тег plaintext и чем он похож на pre

По виду plaintext не отличить от pre: блок с моноширинным шрифтом 13px, пробелы и переводы строк сохраняются, сверху отступ 13px. Разница в том, что внутри pre теги работают, а внутри plaintext нет.

Пример: plaintext и pre с одной и той же записью

Результат

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

У plaintext дочерних тегов нет, а b и a остались буквами записи. У pre те же теги стали жирным словом и ссылкой.

Закрывающий тег plaintext и всё, что идёт после тега

Закрывающий тег </plaintext> ничего не закрывает. Браузер показывает его как обычный текст и продолжает читать страницу как текст. Так же выглядят </body> и </html>: они становятся видимыми строками в конце страницы.

Пример: что случается после plaintext

Результат

Кнопки выбирают запись, она показана над рамкой. Под рамкой записаны число абзацев, признак закрывающего тега в тексте и текст тега.

Абзаца p после тега нет ни с закрывающим тегом, ни без него: запись <p>После</p> остаётся текстом внутри plaintext.

Где писать plaintext: после абзаца, в p и в head

Браузер принимает plaintext после абзаца и в начале body. Внутри p он сначала закрывает абзац, и тег оказывается прямо в body. В head тег переносится в body и забирает с собой записи </head> и <body> как текст.

Пример: куда браузер принимает plaintext

Результат

Кнопки выбирают положение, запись показана над рамкой. Под рамкой записаны родитель тега, число абзацев и признак закрывающего head или body в тексте.

Родитель всегда BODY. В варианте с head абзаца нет, а закрывающий head виден как текст.

Чем заменить тег plaintext: pre и text/plain

Вместо plaintext берут pre с вложенным code. Знаки <, > и & внутри пишут сущностями &lt;, &gt; и &amp;. У plaintext сущности не работают: запись &lt;b&gt; так и остаётся записью.

HTML
<pre><code>&lt;b&gt;жирное&lt;/b&gt;</code></pre>

Если нужна целая страница простого текста, её отдают с типом text/plain. Браузер покажет файл буквами и ничего не станет разбирать как теги. Это то, что советует стандарт.

Пример: plaintext и pre с экранированием

Результат

Кнопки выбирают способ, запись показана над рамкой. Под рамкой записаны видимый текст, число тегов b и признак знаков тега в тексте.

Только pre с сущностями показывает запись тега буквами и не ломает страницу. Без экранирования pre делает слово жирным, а текста с тегом нет. Проверка в Nu Html Checker для <plaintext> сообщает: The “plaintext” element is obsolete. Use the “text/plain” MIME type instead.

Категория
Поделиться в социальных сетях
Основные HTML-теги
Семантические теги HTML
Заголовки и абзацы
Теги для форматирования текста
Тег гиперссылки HTML
HTML-теги таблицы
Списки в HTML
Теги для форм
Мультимедиа и изображения
Интерактивные и служебные теги
Устаревшие HTML-теги

Отправить комментарий

0 Комментарии

Отправить комментарий (0)

#buttons=(Хорошо) #days=(20)

Мы используем файлы cookie для улучшения работы сайта. Подробнее
Хорошо
×