Будут ли теги <b>и <i>устаревшими? - PullRequest
43 голосов
/ 28 августа 2009

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

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

Ответы [ 15 ]

83 голосов
/ 28 августа 2009

Если вы в итоге делаете <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 Элемент сильный :

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

4.6.16 Элемент i :

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

4.6.17 Элемент b :

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

58 голосов
/ 16 ноября 2009

они не устарели в HTML 4.01 , и они не будут устареть в HTML 5 . по причинам:

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

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

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

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

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

Это дополнительно объясняется в статье Элементы и .

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

8 голосов
/ 16 ноября 2009

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

Автор: Заголовок. Издательство, Год, ...

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

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

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

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

7 голосов
/ 16 ноября 2009

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

6 голосов
/ 16 ноября 2009

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

6 голосов
/ 28 августа 2009

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

4 голосов
/ 28 августа 2009

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

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

Нет, они НЕ ОСТАЮТСЯ, потому что они настолько укоренились, что это было бы кошмаром.

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

2 голосов
/ 16 ноября 2009
  1. Они не семантические, и наступают на пальцы CSS.
  2. Нет, слишком многим людям нравятся быстрые, грязные методы.
2 голосов
/ 28 октября 2009

Не забудьте о браузере IE-6 !!
В этом браузере частично возникают проблемы с тегом , когда он используется внутри заголовка тега .
пример:
Привет
IE-6 создает разрыв строки на экране перед открывающим тегом и после закрывающего тега . Не так, используя вместо этого тег (полужирный). Тогда все отображается правильно.

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

1 голос
/ 16 ноября 2009

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

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

...