Интернет, компьютеры, софт и прочий Hi-Tech

Подписаться через RSS2Email.ru

Тег «зачеркнутый текст» в HTML

Тег «зачеркнутый текст» в HTML

До сих пор для зачеркивания текста в HTML-коде широко применяется тег <s>, который является сокращенным написанием тега <strike>. Среди множества значений английского слова «strike» имеются «черкать» и «вычеркивать». Вот как выглядят результаты использования этих двух тегов:

  1. <s>текст, зачеркнутый с помощью тега &lt;s&gt;</s>текст, зачеркнутый с помощью тега <s>
  2. <strike>текст, зачеркнутый с помощью тега &lt;strike&gt;</strike>текст, зачеркнутый с помощью тега <strike>

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

Причина этого состоит в том, что теги <s> и <strike> относятся к классу так называемых тегов физического форматирования. То есть они не несут какой либо смысловой нагрузки и всего лишь определяют стиль отображения текста. Однако сам по себе язык разметки HTML предназначен именно для семантической разметки текста. А для визуального форматирования предназначены таблицы стилей CSS.

И хотя вам могут быть безразличны такие академические подробности, но все же не пользуйтесь этими устаревшими тегами. Если нужно зачеркнуть текст в HTML, лучше использовать тег <del>. Вот результат его применения:

  1. <del>текст, зачеркнутый с помощью тега &lt;del&gt;</del>текст, зачеркнутый с помощью тега <del>

Как видим, визуально нет никакой разницы между <s>, <strike> и <del>, но по смыслу – очень даже большая разница.

Тег <del> предназначен для того, чтобы отмечать удаленные строки текста. То есть он несет определенную логическую информацию о тексте и относится к классу так называемых семантических тегов HTML. Форматирование текста как зачеркнутого при применении <del> – это не назначение этого тега а всего лишь следствие его логической сути.

Еще раз повторюсь: если вам безразлична идеология языка разметки HTML и важен только визуальный эффект, просто считайте, что для зачеркивания текста предназначен тег <del> а не <s> или <strike>. Хотя бы из таких же соображений, по которым пишете «профеССионализм» а не «профеСионализм».

Кроме того, тег <del> более функционален, чем <s> и <strike>. Он умеет передавать дополнительную информацию о тексте с помощью атрибутов «cite» и «datetime»:

  • Атрибут «cite» предназначен содержать ссылку на документ, в котором приведена причина удаления данного текста и, может быть, другие подробности о его редактировании.
  • Атрибут «datetime» предназначен указывать дату и время редактирования данного текста.

Что же делать, если вам нужно вывести текст как зачеркнутый, но помечать его как удаленный не хотите? Как уже было упомянуто выше, вам поможет CSS. Более конкретно – свойство «text-decoration», которое имеет значение «line-through». Вот так, например, это можно сделать:

  1. <span style="text-decoration:line-through">текст, зачеркнутый средствами CSS</span>текст, зачеркнутый средствами CSS

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

.s {
    text-decoration: line-through;
}
Это позволит писать в HTML-коде следующим образом:
  1. <span class="s">текст, зачеркнутый средствами CSS</span>текст, зачеркнутый средствами CSS

Этот код также длинее, чем в случае с <del>, но если желаете приобщиться к семантическому Вебу, с подобной избыточностью придется примириться. Удачного вам зачеркивания!

Автор: Дмитрий Скоробогатов, 21.01.2011


Предыдущие публикации:


Последнее редактирование: 2011-01-21 16:17:03

Метки материала: тег, html, зачеркнутый текст, тег зачеркнутый текст, текст в html, язык разметки html


13 комментариев

21.01.2011 10:42:29 #
Mozilla Firefox Гость Дмитрий
полезная статья! насчет тега <del>, а тем более его дополнительной функциональности, вообще не знал - пользовался по старинке. спасибо за статью!
21.01.2011 11:02:07 #
Mozilla Firefox dima
Пожалуйста Well Кстати, у <del> есть близнец <ins>, которым помечаются вставленные куски текста. Имхо, оба тега очень полезны при публикации нормативных документов.
22.01.2011 12:38:56 #
Opera Гость OZ1K
Для того чтобы сделать зачеркнутый текст нужно перед каждой буквой нужного слова поставить: &# 822; (нужно убирать пробел между &# и 822;) не забываем точку с запятой
 
тут непалучется толька vkontakte.ru палучется
22.01.2011 16:54:48 #
Mozilla Firefox dima
Здесь для этого используется тег BBCode [s]:
 
[s]текст, зачеркнутый с помощью BBCode[/s]текст, зачеркнутый с помощью BBCode
 
А предлагаемые Вами HTML-мнемоники здесь не работают. Поэтому можете смело писать:
 
&#822; - HTML-мнемоника для символа перечеркивания Well
20.10.2011 19:39:23 #
Google Chrome Гость ивар
Всё перепробовал ничего не помогает Not so
проба
20.10.2011 19:44:37 #
Google Chrome Гость ивар
Оо, с [s][/s] прошло. С "дел"  - нет.
21.10.2011 08:58:32 #
Mozilla Firefox dima
В смысле, на этой странице не проходит? Здесь используется BBCode а не HTML, а статья именно про HTML. Куда именно Вы вводите теги?
22.10.2011 16:33:54 #
Google Chrome Гость ивар
На различных сайтах, изредка,в коментах втыкал. И всегда почему-то только теги отобр. От чего так, в суть не вникал.    
22.10.2011 17:25:32 #
Mozilla Firefox dima
В комментах на сайтах HTML ограничен, если вообще не запрещен. Если желаете изучить этот язык разметки, то создайте текстовый файл, смените ему расширение на .html и экспериментируйте. Редактировать его надо чем нибудь вроде notepad-а, результат смотреть браузером.
22.10.2011 23:41:54 #
Google Chrome Гость ивар
спасибо

Оставьте, пожалуйста, свой комментарий к публикации

Представиться как     Антибот:
   

Просьба не постить мусор. Если вы хотите потестить xBB, воспользуйтесь кнопкой предварительного просмотра на панели инструментов xBBEditor-а.


© 2007-2012, Дмитрий Скоробогатов.
Разрешается воспроизводить, распространять и/или изменять материалы сайта
в соответствии с условиями GNU Free Documentation License,
версии 1.2 или любой более поздней версии, опубликованной FSF,
если только иное не указано в самих материалах.