В чем разница между ‹b› и ‹strong›, ‹i› и ‹em›?

В чем разница между <b> и <strong>, <i> и <em> в HTML / XHTML? Когда следует использовать каждый из них?


person Philip Morton    schedule 07.11.2008    source источник
comment
См. Также: programmers.stackexchange.com/a/255588/12693   -  person Kos    schedule 01.04.2015
comment
По крайней мере, на данный момент все, что я видел в StackOverflow, было выделено жирным шрифтом с помощью элемента ‹b›.   -  person OverCoder    schedule 17.06.2015
comment
В MDN есть четкое описание (с примерами) того, как следует использовать эти теги: <em>, <strong>, _ 3_, _ 4_   -  person totymedli    schedule 14.06.2017


Ответы (22)


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

Как пишет автор в запись в списке обсуждений:

Подумайте о трех разных ситуациях:

  • веб-браузеры
  • слепые люди
  • мобильные телефоны

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

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

<b> это стиль - мы знаем, как должен выглядеть жирный шрифт.

<strong> однако указывает на то, как что-то следует понимать. «Сильный» может (и часто так) означать «полужирный» в браузере, но это также может означать более низкий тон для говорящей программы, такой как «Челюсти» (для слепых), или быть представлен подчеркиванием (так как вы не можете выделить жирным шрифтом жирным шрифтом) на Palm Pilot.

HTML никогда не предназначался для стилей. Выполните несколько поисковых запросов по «Тим Бернерс-Ли» и «семантическая сеть». <strong> является семантическим, он описывает текст, который он окружает (например, «этот текст должен быть сильнее, чем остальной отображаемый текст ") вместо описания того, как окружающий текст должен отображаться (например, " этот текст должны быть выделены жирным шрифтом ").

person splattne    schedule 07.11.2008
comment
Обратите внимание, что ‹b› и ‹i› не устарели в HTML5. Их новое использование - семантическое представление стилей (или предполагаемого представления), тогда как ‹strong› и ‹em› представляют структуру. Вы должны прочитать stellify.net/ - person Natan Yellin; 03.08.2011
comment
Отличный ответ, но я бы сказал, что вы не можете выделить жирный шрифт, это неправильно, потому что вы предполагаете, что это логическая концепция, когда font-weight: использует более вариативный подход. Теперь, когда существуют высококачественные экраны, есть уровни смелости. - person TravisO; 16.08.2013
comment
@TravisO Я полагаю, он говорил об особых технических ограничениях Palm Pilot. - person Brian Ortiz; 25.08.2013
comment
Я не верю, что связка букв имеет какое-либо внутреннее значение, ‹b› может иметь то же семантическое значение, что и ‹strong›, если мы так решим. Что решили создатели читателей, относятся ли они к ним по-разному или точно так же? - person Aprillion; 31.10.2013
comment
@deathApril Но они есть! В них есть смысл! HTML не определяется тем, во что вы верите или что решаете. - person Mr Lister; 03.12.2013
comment
Ссылка на сообщение в вашем списке обсуждений мертва. Есть еще один ресурс? - person ErikE; 05.12.2013
comment
Информативный ответ, но если я правильно понял, единственная практическая разница - это когда дело доходит до программного обеспечения для преобразования текста в речь? Несмотря на это, мне кажется бесполезным иметь более одного тега для чего-то вроде жирного шрифта. Когда кто-то посещает веб-сайт (а), он не видит, какой тег используется, следовательно, нет никакой разницы. - person paddotk; 11.05.2014
comment
@TravisO font-weight - это CSS. - person paddotk; 11.05.2014
comment
@poepje: Если бы представление было все, что имело значение, а семантика не беспокоила бы, тогда да, не было бы большой разницы. - person BoltClock; 20.05.2014
comment
@poepje .... но семантика ВСЕГДА должна вызывать беспокойство. Никогда не знаешь, когда захочешь изменить назначение или адаптировать что-то вроде веб-страницы для более общих целей. Поскольку некоторые технологии таблиц стилей / разметки действительно обрабатывают теги <b> и <strong> по-разному, у вас нет гарантии, что никогда не будет разницы, даже если изначально спланируйте, чтобы разметка была видна для разных технологий. (Особенно в случае Интернета, где у вас нет абсолютно никакой возможности узнать, как люди будут использовать ваш контент.) - person Kyle Strand; 05.09.2014
comment
Этот Разработка программного обеспечения ответ теперь тоже хорошо резюмирует ситуацию. - person Mark Hurd; 10.09.2014
comment
Мне нравится пример: более низкий тон для разговорной программы типа «Челюсти» (для слепых). - person Timeless; 06.02.2015
comment
В HTML5 (и 7 лет спустя) я не согласен с тем, что «‹b› - это стиль - мы знаем, как должен выглядеть жирный шрифт» - см. stackoverflow.com/a/1348704/2864740. HTML 5 LD также явно вызывает таблицы стилей, которые можно использовать для форматирования элементов b, так же, как любой другой элемент может быть изменен. Таким образом, содержание элементов b не обязательно будет выделено жирным шрифтом. - person user2864740; 13.03.2015
comment
@splattne: ‹strong›, однако, указывает на то, как что-то следует понимать. Сильный может (и часто так и есть) означать жирный шрифт в браузере, но он также может означать более низкий тон для говорящей программы, такой как Jaws (для слепых). И сильным на Palm Pilot может быть подчеркивание (поскольку жирный шрифт нельзя выделить). Это то же самое для <Em>? <Em> обычно отображается курсивом, но с таким же семантическим потенциалом для других визуализаций в определенных ограниченных контекстах? - person SarahofGaia; 02.09.2016
comment
@NatanYellin Почему эти теги для стиля не удаляются из HTML5, если говорят, что HTML только для структуры? Я считаю, что это непоследовательно. теги center, strike и u они удалены из стандарта. - person Alex78191; 31.05.2017
comment
Пожалуйста, не используйте идиомы при ответе. Я этого не понимаю. - person MaXi32; 15.05.2021

<b> и <i> являются явными - они обозначают жирный шрифт и курсив соответственно.

<strong> и <em> являются семантическими - они указывают, что заключенный текст должен быть каким-то образом «сильным» или «подчеркнутым», обычно полужирным и курсивом, но позволяет контролировать фактический стиль с помощью CSS. Следовательно, они предпочтительны на современных веб-страницах.

person Tony Andrews    schedule 07.11.2008
comment
Хорошее объяснение. С другой стороны, в HTML 5 ‹i› и ‹b› также являются семантическими, а не явными. Вздох. - person OregonGhost; 07.11.2008
comment
Да, лучшее объяснение, которое я читал, - это stellify.net/ - person Natan Yellin; 03.08.2011
comment
HTML5 имеет новое семантическое значение для b и i. Это теги, которые вы должны использовать, когда вам нужно привлечь внимание к части прозы или компенсировать обычную прозу, без передачи акцента (em), важности (для strong) или релевантности (для mark) . b используется для ключевых слов, названий продуктов, ключевых слов и т. Д., А i - для технических терминов, мыслей, фраз и т. Д. Честно говоря, ИМО, между ними должно быть большее различие. - person chharvey; 21.01.2012
comment
Жаль, что текст (и заголовок) на stellify.net совершенно не читается на большинстве дешевых офисных мониторов и настроек ^^ (отсутствие контраста просто ошеломляет) - person Oskar Duveborn; 07.08.2012
comment
Итак, какой из них предпочтительнее на современных веб-страницах? <b> и <i>? - person Shafizadeh; 28.09.2015
comment
@Shafizadeh Для чего? - person Mr Lister; 25.04.2019

<strong> и <em> добавляют вашему документу дополнительное семантическое значение. Так уж получилось, что они также придают вашему тексту жирный и курсивный стиль.

Конечно, вы можете изменить их стиль с помощью CSS.

<b> и <i>, с другой стороны, применяют только стили шрифтов и больше не должны использоваться. (Потому что вы должны форматировать с помощью CSS, и если бы текст был действительно важен, вы, вероятно, все равно сделали бы его «сильным» или «подчеркнутым»!)

Надеюсь, это имеет смысл.

person James    schedule 07.11.2008
comment
Если вы говорите, что ‹b› и ‹i› не следует больше использовать, то как насчет старого браузера, который не поддерживает ‹em› и ‹strong›? - person Nirman; 08.07.2014
comment
@Nirman Если кто-то использует старый браузер для навигации по сети, у него уже есть много проблем с точки зрения визуализации и безопасности. По этой причине я считаю, что программисты и дизайнеры больше не должны поддерживать старые браузеры. - person yeyo; 25.11.2014
comment
Примечание: если мы говорим старые браузеры, мы имеем в виду Netscape 3 и IE2 (IE3 и NS4 уже поддерживаются ‹strong› и ‹em›). Если вам действительно нужно поддерживать эти браузеры 20-го века, у вас действительно большие проблемы. - person Mr Lister; 28.03.2017
comment
<b> and <i> on the other hand only apply font styling and should no longer be used. Официальные документы HTML5 говорят иначе. Нужна цитата? - person ; 31.07.2019
comment
Этот ответ был опубликован примерно за 6 лет до выпуска HTML5! - person James; 31.07.2019
comment
@James, это не означает, что вы не можете: а) обновить его новой информацией, б) отредактировать, чтобы выделить, к какому стандарту / версии он относится, с пометкой, что он устарел. - person ; 09.09.2019

Вот краткое изложение определений вместе с предлагаемым использованием:

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

<strong> ... теперь представляет собой важность, а не акцент.

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

<em> ... указывает на ударение.

(Все это прямые цитаты из источников W3C с моим акцентом. См. https://rawgithub.com/whatwg/html-differences/master/Overview.html#changed-elements и http://www.w3.org/TR/html401/struct/text.html#.h-9.2.1 для оригиналов)

person Rick Westera    schedule 14.11.2013

<b> и <i> оба связаны со стилем, тогда как <em> и <strong> являются семантическими. В HTML 4 первые классифицируются как стиль шрифта. элементы, а последний - как фраза элементы.

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

person Kariem    schedule 07.11.2008
comment
strong означает не более сильный акцент, а скорее важность < / а>. Для более сильного выделения вложите em элемент внутри другого em элемента. - person chharvey; 21.01.2012
comment
@ TestSubject528491, если вы перейдете по ссылке для элементов фразы Я использовал выше, вы увидите, что я только что процитировал спецификацию. Я не думаю, что это противоречит семантике важности или что вложение двух em подчеркивается в пределах акцента, что, как я понимаю, вы предлагали. - person Kariem; 22.01.2012
comment
Я думаю, что спецификация HTML5 просто проводит большее различие между ними. В моей интерпретации ударение означает ударение в тоне голоса. Например, вы хотите купить ЭТИ джинсы? против Вы хотите КУПИТЬ эти джинсы? имеют разное значение из-за расстановки акцентов. OTOH, важность не влияет на размещение. Например, ВНИМАНИЕ: берегитесь собаки! имел бы тот же смысл, если бы важность была удалена. - person chharvey; 22.01.2012
comment
<b> and <i> are both related to style эээ. Официальные документы HTML5 говорят об обратном. Нужна цитата? - person ; 31.07.2019
comment
@vaxquis, ссылка на которую приведена выше для HTML 4: <b> и <i> - это элементы стиля шрифта, а <em> и <strong> - элементы фразы. Есть предложения по улучшению этого? Для полноты, а также потому, что ваш комментарий не содержал цитаты, в HTML 5.2 все эти элементы описаны в фразовое содержание - person Kariem; 31.07.2019
comment
@Kariem HTML 4.01, ну, устарел на бит? В документе HTML 5.2 (и более ранней версии тоже) говорится: элемент b представляет собой отрезок текста, на который обращается внимание в утилитарных целях, без передачи какой-либо дополнительной важности и без каких-либо последствий для альтернативного голоса или настроения, элемент i представляет отрезок текста другим голосом или настроением, или иным образом смещенным от обычной прозы таким образом, чтобы указать другое качество текста; ни слова не говорят о том, что они связаны с визуальным стилем - оба описаны семантически. Они даже упоминают, что визуальный стиль не гарантируется! - person ; 01.08.2019
comment
@vaxquis, пожалуйста, дайте ссылку на свои цитаты, если вы хотите серьезно обсудить это. Я не понимаю, каким образом вам (1) нужна ссылка на очевидную категоризацию в связанной спецификации и (2) после указания, что эта информация есть, вы обсуждаете возраст спецификации, связанной в ответе, написанном около 11 лет назад . Что вы хотите обсудить? Хотели бы вы предложить правку? Есть ли что-то, что я написал неправильно в соответствии со связанной спецификацией? - person Kariem; 01.08.2019
comment
@Kariem w3.org/TR/html52/textlevel-semantics. html # elementdef-b, w3.org/ TR / html52 / textlevel-semantics.html # elementdef-i - я просто подумал, что ссылки будут вам очевидны. Да, на самом деле вы могли бы просто улучшить свой ответ, включив в него спецификации HTML 5.x и упомянув о том, что спецификация HTML значительно изменилась по сравнению с 4.01, поэтому b и i больше не являются визуально стилистическими. - person ; 01.08.2019

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

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

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

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

person mwiik    schedule 09.11.2008
comment
более семантически правильно? Что ты имеешь в виду? Вы читали спецификацию HTML5 по тегам b / i? - person ; 31.07.2019

<em> и <strong> потребляют больше полосы пропускания, чем <i> и <b>.

Они также требуют большего набора текста (если они не создаются автоматически).

Они также загромождают экран редактора большим количеством текста. Мне кажется, я припоминаю, что программистам нравятся исходные файлы меньшего размера, если они одинаковы. (И давайте будем честными, они такие же. Да, есть "технические" (‹i› кашель ‹/i›, кхм, извините) различия, но это в основном фальшивка.)

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

person Thomas Eding    schedule 04.09.2014
comment
Лол, это должен быть принятый ответ (HHOS). Ваш самый простой и правильный ответ на всей этой странице, даже если это немного шутка. Все эти разговоры о семантике - это для начала глупая игра. Мы все знаем, что любой, кто задает этот вопрос, работает здесь с основными поставщиками браузеров, такими как Chrome, Firefox, IE и т. Д. Мы просто хотим знать, что настоящее, настоящее < / i> Различия могут заключаться не в том, что комитет обсуждает в изобилии свободного времени. - person GDP2; 24.12.2019

Я собираюсь рискнуть сделать здесь исторический и практический хитрый подход:

Да, согласно спецификациям, <strong> имел семантическое значение в HTML4, а <b> имел строго презентационное значение.

Да, когда появился HTML5, для b и i было введено новое семантическое значение, которое немного отличалось.

Да, W3C рекомендует - в основном - TL, DR; не используйте b и i.

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

НО:

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

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

Но на самом деле реальная реальность такова, что семантическое и стилистическое значение <strong> и <b> со временем слились по необходимости.

Если я создаю CMS, которая позволяет вставлять стилизованный текст, мне нужно спланировать как для людей, которые вставляют <b> и имеют в виду сильно подчеркнутый, так и для людей, которые вставляют <strong> и имеют в виду сделать этот текст жирным. Возможно, это и не так, но именно так устроен реальный мир в настоящий момент.

Итак, если я пишу таблицу стилей для этого сайта, я, вероятно, собираюсь написать несколько стилей, которые выглядят так:

b,
strong {
  font-weight: 700;
  /* ... more styles here */
}

i,
em {
  font-style: italic;
  /* ... more styles here */
}

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

Или я могу быть одним из миллионов сайтов, которые используют normalize .css, который гарантирует, что b и strong обрабатываются одинаково.

В мире уже существует такой огромный океан HTML, который оправдывает это ожидание, я просто не могу представить, что b КОГДА-ЛИБО будет обесцениваться в пользу strong или что браузеры когда-либо начнут отображать их по-другому по умолчанию.

Итак, это все. Это мой горячий взгляд на семантику, историю и реальный мир. Одинаковы ли b / i и strong / em? Нет. Вероятно, они оба будут существовать и будут ли к ним относиться как к идентичным почти в любой ситуации до краха современной цивилизации? Я думаю да.

person squarecandy    schedule 14.07.2020

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

Как и строки в программе, b и i будут "жестко закодированы", а strong и em - " локализованный ".

person Stephan Leclercq    schedule 07.11.2008

Как говорили другие, ‹b› и ‹i› являются явными (т. Е. «Сделайте этот текст жирным»), тогда как ‹strong› и ‹em› являются семантическими (т. Е. «Этот текст следует выделить»).

В контексте современного веб-браузера трудно увидеть разницу (кажется, что оба они дают одинаковый результат, не так ли?), Но подумайте о программах чтения с экрана для слабовидящих. Если программа чтения с экрана наткнется на тег ‹i›, она не будет знать, что делать. Но если он встречает тег ‹em›, он знает, что слушателю следует выделить все, что находится внутри. И в этом вы получаете практическую разницу.

person JamShady    schedule 07.11.2008
comment
<b> and <i> are explicit (i.e. "make this text bold"), эээ. Официальные документы HTML5 говорят об обратном. Нужна цитата? - person ; 31.07.2019
comment
Я опубликовал этот ответ в ноябре 2008 года. HTML5 был выпущен в 2014 году. Вы честно просите меня процитировать в моем ответе ссылку на то, что вышло восемь лет спустя ?? - person JamShady; 24.06.2020

Теги <i>, <b>, <em> и <strong> традиционно являются репрезентативными. Но в HTML5 им было придано новое семантическое значение.

<i> и <b> использовались для стиля шрифта в HTML4. <i> был использован для курсива и <b> для жирного шрифта. В HTML5 тег <i> имеет новое семантическое значение "альтернативный голос или настроение", а тег <b> имеет значение стилистическое смещение.

Примеры использования тега <i>: таксономическое обозначение, технический термин, идиоматическая фраза из другого языка, транслитерация, мысль, названия кораблей в западных текстах. Такие как -

<p><i>I hope this works</i>, he thought.</p>

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

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

<p><b class="lead">The event takes place this upcoming Saturday, and over 3,000 people have already registered.</b></p>

<em> и <strong> имели значение акцента и сильного акцента в HTML4. Но в HTML5 <em> означает подчеркнутый акцент, а <strong> означает большое значение.

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

<p>Make sure to sign up <em>before</em> the day of the event, September 16, 2016</p>

В том же примере мы можем использовать тег <strong> следующим образом:

<p>Make sure to sign up <em>before</em> the day of the event, <strong>September 16, 2016</strong></p>

чтобы придать важность дате мероприятия.

Ссылка MDN:

https://developer.mozilla.org/en-US/docs/Web/HTML/Element/b

https://developer.mozilla.org/en-US/docs/Web/HTML/Element/i

https://developer.mozilla.org/en-US/docs/Web/HTML/Element/em

https://developer.mozilla.org/en-US/docs/Web/HTML/Element/strong

person adnan2nd    schedule 18.04.2017

Для текста, выделенного жирным шрифтом, с использованием тега <b>

Для текста важно использовать тег <strong>

Для текста курсивом используется тег <i>

Для выделенного текста с использованием тега <em>

person Touhidur Rahaman    schedule 06.02.2020

Как утверждали другие, разница в том, что стили шрифтов <b> и <i> жестко запрограммированы, тогда как <strong> и <em> диктуют семантическое значение, причем стиль шрифта (или говорящая интонация браузера, или что-то еще) должен определяться в то время, когда текст отображается (или произносится).

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

Довольно ловко, да?

Это также является причиной определения подстилей (на которые ссылается свойство style= в текстовых тегах) для абзацев, ячеек таблицы, текста заголовков, заголовков и т. Д. И использования тегов <div>. Вы можете определить физическое представление своих логических стилей в таблице стилей, и изменения автоматически отражаются на веб-страницах, которые ссылаются на эту таблицу стилей. Хотите другое представление исходного кода? Измените шрифт, размер, вес, интервал и т. Д. Для своего «кодового» стиля.

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

person Community    schedule 09.11.2008
comment
Вы можете использовать таблицы стилей, чтобы полностью изменить способ отображения <b> и <i>. Довольно ловко, да? - person Thomas Eding; 05.09.2014
comment
b и i ничего не кодировали. Как и любой тег HMTL, у них есть стиль CSS по умолчанию, и, как и в случае с любым другим тегом, вы можете изменить его так, как хотите. - person Mecki; 31.07.2019

Я использую и ‹strong›, и ‹b›, на самом деле, именно по причинам, указанным в этой ветке ответов. Бывают случаи, когда выделенный жирным шрифтом текст просто выглядит лучше, но это не обязательно семантически более важно, чем остальная часть предложения. Вот пример со страницы, над которой я сейчас работаю:

«Получает ‹strong› все ‹/strong› книги о ‹b› лакроссе ‹/b›».

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

Я бы подумал, что большинство веб-разработчиков используют один из другого, но оба хороши - ‹b› определенно не является устаревшим, как утверждают некоторые люди. Для меня это просто тонкая грань между визуальной привлекательностью и смыслом.

person Justin Blum    schedule 05.03.2010

Используйте их только в том случае, если использование классов стилей CSS по какой-либо причине неуместно или невозможно (например, системы блогов, разрешают использование только некоторых тегов в сообщениях и, в конечном итоге, встроенных стилей). Другая причина - поддержка очень старых браузеров (некоторые мобильные устройства?) Или примитивных поисковых систем (которые дают баллы за теги <b> или <strong> вместо анализа стилей CSS).

Если вы можете определять стили CSS, используйте их.

person Danubian Sailor    schedule 15.12.2011

Обычно вам следует избегать <b> и <i>. Они были введены для компоновки страницы (изменения ее внешнего вида) в ранних версиях HMTL до создания CSS, как, например, удаленный тег font, и в основном сохранялись для обратной совместимости, а также потому, что некоторые форумы допускают встроенный HTML, а это простой способ изменить внешний вид текста (например, BBCode с использованием [i], вы можете использовать <i> и так далее).

С момента создания CSS, макетирование больше не нужно делать в HTML, поэтому CSS был создан в первую очередь (HTML == Структура, CSS == Макет). Эти теги также могут исчезнуть в будущем, в конце концов, вы можете просто использовать теги CSS и span, чтобы сделать текст полужирным / курсивом, если вам нужен «бессмысленный» вариант шрифта. HTML 5 по-прежнему разрешает их, но заявляет, что такая маркировка текста не имеет смысла.

<em> и <strong>, с другой стороны, только говорят, что что-то «подчеркнуто» или «сильно подчеркнуто», оставляя это полностью открытым для браузера, как это обработать. Большинство браузеров будут отображать em курсивом и strong полужирным шрифтом, как предлагает стандарт по умолчанию, но они не обязаны это делать (они могут использовать разные цвета, размеры шрифта, шрифты и т. Д.). Вы можете использовать CSS, чтобы изменить поведение по своему желанию. Вы можете сделать em жирным, если хотите, и strong жирным и красным, например.

person Mecki    schedule 07.11.2008
comment
‹B› и ‹i› НЕ являются устаревшими в HTML 4 и по-прежнему полностью поддерживаются даже в готовящемся к выпуску HTML 5. ‹em› и ‹strong› не заменяют их. См. Также w3.org/TR/html401/index/elements.html - person thomasrutter; 16.03.2009
comment
@thomasrutter Они все еще находятся в HMTL5, но с другим значением и с очень подробным объяснением того, как их использовать или, скорее, как их не использовать. Обратите внимание, что эти теги не имеют значения (жирный шрифт и курсив не являются значениями, они представляют собой инструкции по дизайну, а HMTL - о значении, CSS - это только дизайн) - HTML предназначен для описания того, что такое текст, а не о том, как для его рендеринга (который был выделен после HMTL3 по уважительной причине) ,. - person Mecki; 21.10.2016

<b> и <i> следует избегать, потому что они описывают стиль текста. Вместо этого используйте <strong> и <em>, потому что это описывает семантику (значение) текста.

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

person nickf    schedule 07.11.2008
comment
Совершенно неверно, ‹b› и ‹i› не следует избегать. В HTML5 они имеют семантическое значение. - person user2867288; 08.01.2015

"Они имеют тот же эффект. Однако XHTML, более чистая и новая версия HTML, рекомендует использовать тег <strong>. Сильный - лучше, потому что его легче читать - его значение яснее. Кроме того, <strong> передает смысл, показывая текст строго - в то время как <b> (для полужирного) передает метод - выделение текста жирным шрифтом. С сильным, ваш код по-прежнему имеет смысл, если вы используете таблицы стилей CSS, чтобы изменить методы создания сильного текста.

То же самое касается разницы между <i> и <em> ".

Google dixit:

http://wiki.answers.com/Q/What_is_the_difference_between_HTML_tags_b_and_strong

person Antonio Louro    schedule 07.11.2008

Элементы форматирования HTML:

HTML также определяет специальные элементы для определения текста со специальным значением. HTML использует такие элементы, как ‹b> и ‹i> для форматирования вывода, например полужирный или курсивный текст.

Полужирный шрифт HTML и строгое форматирование:

Элемент HTML ‹b> определяет полужирный текст без какой-либо особой важности.

<b>This text is bold</b>

Элемент HTML ‹▪ определяет строгий текст с добавленной семантической «сильной» важностью.

<strong>This text is strong</strong>

HTML курсив и выделенное форматирование:

Элемент HTML ‹i> определяет текст курсивом без особой важности.

<i>This text is italic</i>

Элемент HTML ‹em> определяет выделенный текст с дополнительной семантической важностью.

<em>This text is emphasized</em>
person Muhammad Awais    schedule 11.06.2016
comment
The HTML <b> element defines bold text, without any extra importance. The HTML <i> element defines italic text, without any extra importance. эээ. Официальные документы HTML5 говорят об обратном. Нужна цитата? - person ; 31.07.2019

В HTML Lang эти два тега используются следующим образом:

simple text this is test text normal text



simple text this is important textwith normal text

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

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

person hammad khan    schedule 18.08.2020

<strong> и <em> абстрактны (это то, что люди имеют в виду, когда говорят, что они семантические). <b> и <i> - особые способы сделать что-то «сильным» или «подчеркнутым»

Аналогия:

И <strong>, и <b>, и <em>, <i>

as

«транспортное средство» означает «джип»

person ahnbizcad    schedule 10.09.2015
comment
Я не понимаю, почему этот ответ был отклонен. Многие другие ответы с аналогичным содержанием были хорошо приняты. - person aditya_medhe; 25.11.2019

Мы используем тег <strong> для текста, который имеет высокий приоритет для целей SEO, например, название продукта, название компании и т. Д., А <b> simple выделяет его жирным шрифтом.

Точно так же мы используем <em> для текста, который имеет высокий приоритет для SEO, а <i>, чтобы сделать текст просто курсивом.

person ritakriti    schedule 07.04.2011
comment
Некоторые HTML-теги действительно имеют применение для SEO. Мета-описание, мета-робот или каноническая ссылка, чтобы назвать некоторые из них. Насколько нам известно, strong / em не входит в их число ни в теории, ни на практике. - person Sheepy; 02.09.2014