Будут ли теги ‹b› и ‹i› когда-либо объявлены устаревшими?

(Это скорее вопрос любопытства, чем любая надвигающаяся катастрофа :D)

Таким образом, теги <b> and <i> существовали почти с самого начала Интернета (я полагаю). Но теперь у нас есть CSS, и многие люди противостоят «стилистическим html-тегам». Это стилистические теги, но на самом деле они не так уж плохи, так как избавляют нас от необходимости делать <span class="bold"> целую кучу раз, сокращая время загрузки. Видя, что они не занимают много места, просты в использовании, могут быть полезны для программ чтения с экрана, поисковых систем и других приложений, которые не сильно заботятся о том, как выглядит документ, а их удаление приведет к поломке ТОНН html код, наверное, нет, но я все же хотел поднять эту тему. :)


person Gordon Gustafson    schedule 28.08.2009    source источник
comment
Как только появится ОДИН (X)стандарт HTML (в единственном числе!) и все браузеры его ПОЛНОСТЬЮ поддерживают - да :-) Не задерживайте дыхание.. ....   -  person marc_s    schedule 29.08.2009
comment
устарело в соответствии с какой спецификацией?   -  person Rubens Farias    schedule 16.11.2009
comment
Просто взглянув на источник вашего сообщения, кажется, что SO использует «em» и «strong».   -  person JasCav    schedule 16.11.2009
comment
Мне было бы интересно увидеть документацию по ‹em›any‹/em›, где они объявлены устаревшими. HTML или XHTML, строгий или переходный.   -  person tplaner    schedule 16.11.2009
comment
К сожалению, этот вопрос был закрыт как дубликат, потому что он, кажется, имеет более правильный и подробный ответ ‹stackoverflow.com/questions/1743497/ › чем исходный вопрос. поэтому голосование за открытие.   -  person ax.    schedule 27.01.2010
comment
похоже, что дубликат был объединен с этим, включая мой ответ, stackoverflow.com/questions/1348683/ . Спасибо!   -  person ax.    schedule 06.05.2010


Ответы (15)


Если вы в конечном итоге делаете <span class="bold"> много, вы неправильно используете ни span, ни class имена. Имена классов должны сообщать вам, что представляет собой тег , а не то, как он выглядит.

Правильной заменой <b> и <i> являются <strong> и <em>, и их следует использовать, чтобы отметить, что конкретный текст внутри имеет другое значение, чем окружающий текст.

Обновление: новая спецификация для <b>, <i>,<strong>,<em> выпущена в соответствии с HTML 5

В HTML5 <b> и <i> имеют особое значение, как и <strong> и <em>. Используйте их все, как указано.

4.6.2 Элемент em:

Элемент em представляет ударение в его содержимом.

4.6.3 Элемент strong:

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

4.6.16 Элемент i:

Элемент i представляет [...] в противном случае смещение от обычной прозы [...], такой как таксономическое обозначение, технический термин, [...].

4.6.17 Элемент b:

Элемент b представляет собой фрагмент текста, к которому привлекается внимание в утилитарных целях [...], например, ключевые слова в аннотации к документу, названия продуктов в обзоре [...].

person Esteban Küber    schedule 28.08.2009
comment
+1 за добавление разметки, относящейся к смыслу, а не к представлению. - person Andrew Coleson; 28.08.2009
comment
‹strong› является заменой только ‹b›, когда автор намеревается выделить часть текста, а ‹em› только заменой ‹i›, когда указывает, где находится ударение в предложении. Для других целей, таких как использование типографских соглашений, таких как выделение названия корабля курсивом, использование этих тегов было бы совершенно неправильным. HTML 5 поощряет ‹i› для названий кораблей и т.п. Если текст выделен жирным шрифтом или курсивом чисто для представления (а всем нам нравится, чтобы наши веб-сайты выглядели красиво), ‹span› с соответствующей категоризацией в атрибуте class является правильной формой. - person Alohci; 29.08.2009
comment
На самом деле, когда я говорю, что ‹span› — правильная форма, я имею в виду использование ‹span› или ‹div› при отсутствии более семантического элемента в конкретном контексте текста на странице. Что имеет значение, так это категоризация, которую затем можно стилизовать с помощью CSS. - person Alohci; 29.08.2009
comment
@Alohci: я согласен с вами в том, что при отсутствии семантического элемента вы должны использовать <span> или <div>, но обычно ими злоупотребляют и используют вместо идеально семантических тегов. - person Esteban Küber; 02.09.2009
comment
Это хороший ответ, но он не касается заголовка, в котором спрашивается, устарели ли <i> и <b>. - person Alex W; 21.06.2013
comment
@AlexW, чтобы уточнить, никакие теги ‹i› и ‹b› НЕ устарели. Ни в стандартах HTML4, ни в HTML5. Вы можете увидеть таблицу всех тегов для стандарта HTML4 вместе с их статусом здесь w3 .org/TR/html4/index/elements.html. Для рабочего стандарта HTML5 вы можете посмотреть здесь семантику текстового уровня. whatwg. org/specs/web-apps/current-work/multipage/ - person bigtunacan; 28.08.2013
comment
Хорошая информация, но я проголосовал против, потому что это не соответствует сути вопроса - person unnknown; 09.09.2014
comment
Неверно, теги ‹strong› и ‹em› не предназначены для замены ‹b› и ‹i›. ‹strong› предназначен для текста, который вы хотите сильно выделить, это может быть жирный шрифт или что-то еще, но это определяется вашими собственными стилями CSS. ‹em› предназначен для выделения текста, по умолчанию это текст, выделенный курсивом, но ему можно придать стиль для чего-то другого. Также неверно говорить, что классы css должны указывать, что такое тег, тег — это то, что он есть, класс должен придавать ему стиль. - person jucardi; 28.10.2014
comment
@JuanCarlosDiaz: Также неправильно говорить, что классы CSS должны указывать, что такое тег, тег — это то, что он есть, класс должен придавать ему стиль. Имя класса asdf можно использовать для style с помощью CSS, но это не несет никакой смысловой нагрузки. Имя класса user-menu также может быть оформлено с помощью CSS и в то же время передает, что представляет собой элемент или что он содержит. - person Esteban Küber; 30.10.2014
comment
Итак, согласно вашему ответу, Bootstrap неверен. - person Robo Robok; 25.09.2020

они не считаются устаревшими в HTML 4.01, и они не будут объявлены устаревшими в HTML5. по причинам:

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

Несмотря на то, что существует ряд общих вариантов использования курсива, охватываемых более специфическими элементами, такими как выделение (em), цитаты (cite), определения (dfn) и переменные (var), существует множество других вариантов использования, которые не описаны. хорошо покрыты этими элементами. Например, таксономическое обозначение, технический термин, идиоматическая фраза из другого языка, мысль или название корабля.

Точно так же, хотя ряд распространенных вариантов использования полужирного текста также охватывается более конкретными элементами, такими как сильное выделение (сильный), заголовки (h1-h6) или заголовки таблиц (th); есть и другие, которых нет, например, ключевые слова в аннотации к документу или названия продуктов в обзоре.

Некоторые люди утверждают, что в таких случаях следует использовать элемент span с соответствующим именем класса и соответствующей таблицей стилей. Однако элементы b и i обеспечивают разумный запасной стиль в средах, которые не поддерживают таблицы стилей или не визуализируются визуально, например, средства чтения с экрана, а также дают некоторое указание на то, что текст каким-то образом отличается от окружающего содержимого.

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

Подробнее это объясняется в статье Элементы ‹b› и ‹i›< /а>.

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

person ax.    schedule 16.11.2009
comment
Это именно то, что я хотел знать. Много хороших ответов, это лучший. Спасибо всем за ответ. - person tplaner; 16.11.2009
comment
ИМХО, этот ответ напрямую отвечает на вопрос ОП и должен был быть принят в качестве решения. - person Ben; 27.06.2011

Нет. <i> и <b> не устарели, по крайней мере, не в HTML4. Одной из ситуаций, в которой они могут применяться, может быть список литературы. Например, в Германии ссылки даются следующим образом:

Автор: Название Издатель, Год, ...

В этом случае заголовок выделяется курсивом. Это не особый акцент (что можно было бы обозначить тегом <em>), а курсив.

ETA: И да, вы также должны использовать элемент <cite>. Но моя точка зрения остается в силе:

<cite>Author: <i>Title.</i> ...</cite>

Википедия также широко использует оба тега, когда я последний раз смотрел.

person Joey    schedule 16.11.2009
comment
Нет, в этом случае будет указан соответствующий элемент. - person Quentin; 16.11.2009
comment
... который все еще не гарантирует, что он отображается правильно. Конечно, встроенная ссылка на какой-либо источник была бы хорошим использованием для cite, а также одиночной ссылки в списке литературы. Но для выделения подстроки курсивом внутри цитаты? Поправьте меня, если я ошибаюсь, но в прошлый раз, когда я смотрел, даже CSS не позволил мне это сделать. Помните, что курсивом выделяется только заголовок. - person Joey; 16.11.2009

b и i не имеют семантического значения. Если вам нужен только жирный текст, используйте b, но в других случаях вы должны использовать strong и em

person erenon    schedule 16.11.2009
comment
Да, но действительно ли теги «‹i›» и «‹b›» устарели? Я бы предположил, что HTML 4, поскольку 5 еще не готов. - person Bratch; 16.11.2009
comment
Они не устарели, но не рекомендуется использовать в качестве семантических тегов. - person erenon; 16.11.2009

Я считаю, что правило «отделить стиль от презентации» заключается в использовании <em> и <strong> вместо <i> и <b>, <span> не требуется.

person Andrew Coleson    schedule 28.08.2009

Согласно http://www.w3.org/TR/html401/index/elements.html в настоящее время они не устарели.

person Mark Pim    schedule 16.11.2009
comment
Он также относительно НЕ был превзойден. Например, см. работу над HTML5. - person ; 16.11.2009
comment
Обратите внимание, что XHTML определяет только синтаксис и ссылается на HTML4 для семантики. - person Ms2ger; 16.11.2009

Отличный вопрос, и я бы предложил следующее:

ДА, они ДОЛЖНЫ быть устаревшими. Это тег стиля, который не добавляет контента.

Нет, они НЕ будут объявлены устаревшими, потому что они настолько укоренились, что избавиться от них будет кошмаром.

При этом весьма вероятно, что все браузеры продолжат поддерживать теги <b> и <i>.

person p.campbell    schedule 28.08.2009

Не забывайте о браузерах IE-6!!
У этого браузера есть проблемы с тегом ‹strong>, когда он используется внутри заголовка тега ‹a>‹/a>.
пример :
‹a>‹strong>Hello‹/strong>‹/a>
IE-6 создает разрыв строки на экране перед открывающим тегом ‹strong> и после закрывающего тега ‹/strong> . Это не так, если вместо этого использовать тег ‹b> (жирный). Тогда все правильно показано.

С уважением, Матиас

person Matthias    schedule 28.10.2009

  1. Они не являются семантическими и наступают на пятки CSS.
  2. Нет, слишком многим нравятся быстрые, грязные методы.
person Quentin    schedule 16.11.2009

Я очень сомневаюсь, что браузеры прекратят их поддержку. Однако, если валидатор W3C выдает ошибку для страниц, использующих их, я чувствую, что со временем их использование обесценится. Это требует времени, но люди меняют привычки — взгляните, например, на когда-то вездесущий тег FONT.

person Dan Diplo    schedule 28.08.2009
comment
Возможно, это связано с тем, что, очевидно, есть способы сделать что-то лучше, чем тег font — теперь CSS работает так хорошо, что вам больше не нужен тег font. Однако использование ‹strong› не имеет преимуществ по сравнению с ‹b›, так что ‹b›, вероятно, продержится дольше. - person Colen; 28.08.2009
comment
Тот факт, что <font> используется все меньше и меньше с каждым днем, не означает, что мы не видим таких вещей, как <span class="italics">My text is <span class="bold">great!</span></span>, которые столь же гнусны. Не все в Интернете получают CSS. На самом деле большая часть Интернета создана с помощью MS Word. - person Esteban Küber; 28.08.2009

<b> и <i> не являются структурными или семантическими элементами. Вы хотите, чтобы ваш HTML был семантическим/структурным, а ваш CSS содержал стиль.

См. здесь или здесь

person Ron Gejman    schedule 16.11.2009

В XHTML 2.0 они есть. Я не уверен насчет HTML 6 (если он когда-нибудь появится), но я думаю, что он будет. Но сейчас действительно бесполезно думать об этом, так как в 2130 году все те же браузеры должны работать, а нынешний веб-сайт должен быть доступен для всех. Вы всегда можете изменить его позже, используя javascript или что-то в этом роде.

person Community    schedule 28.08.2009
comment
XMTML 2.0, кажется, подружился с Dodo еще до того, как он стартовал webmonkey.com/blog/ - person Esteban Küber; 28.08.2009

Вы можете видеть это как теги, которые "по совпадению" имеют те же стили по умолчанию, что и <b> и <i>. Вы не должны рассматривать его как точную замену <b> и <i>, но вы должны использовать его всякий раз, когда контент действительно имеет семантически сильный или выделенный значение. Однако вы можете стилизовать его по своему вкусу.

person BalusC    schedule 16.11.2009

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

В HTML5 <b> и <i> имеют определенное значение, как и <strong> и <em>. Используйте их все, как указано.

4.6.2 Элемент em [WHATWG.org...]

www.WHATWG.org/specs/web-apps/current-work/multipage/text-level-semantics.html#the-em-element

4.6.3 Элемент strong [WHATWG.org...]

www.WHATWG.org/specs/web-apps/current-work/multipage/text-level-semantics.html#the-strong-element

4.6.16 Элемент i [WHATWG.org...]

www.WHATWG.org/specs/web-apps/current-work/multipage/text-level-semantics.html#the-i-element

4.6.17 Элемент b [WHATWG.org...]

www.WHATWG.org/specs/web-apps/current-work/multipage/text-level-semantics.html#the-b-element

person Shiva    schedule 27.07.2013

если они станут устаревшими, название "HTML" как есть (гипертекст язык разметки) станет бессмысленным. так как это будет не html-код, выделяющий текст жирным шрифтом, а CSS.

на мой взгляд: нет, они не устаревают слишком рано...

С уважением

person Atmocreations    schedule 28.08.2009
comment
Вот для чего нужны <strong> и <em>. Вы не говорите это жирный, а скорее говорите это подчеркнуто - person Esteban Küber; 28.08.2009
comment
Так что любой язык разметки, в котором вы не можете указать, что текст должен быть выделен жирным шрифтом, бессмысленен? Мне это кажется довольно бессмысленным. - person Chuck; 28.08.2009
comment
@ Чак: нет. HTML. смелый был примером. ну на самом деле вы можете видеть это, как вы хотите. один из способов - сказать, что мы размечаем формат (например, полужирный, курсив) или мы размечаем логическое содержание документа (например, em и т. д.). думаю, это вопрос определения аббревиатуры html. на мой взгляд, я думаю, что нехорошо отказываться от тегов форматирования. - person Atmocreations; 29.08.2009
comment
@voyager: Разве это не должно быть выделено курсивом, а не жирным шрифтом, потому что это подчеркнуто? - person Thomas Eding; 27.01.2010