В чем разница между <b>
и <strong>
, <i>
и <em>
в HTML / XHTML? Когда следует использовать каждый из них?
В чем разница между ‹b› и ‹strong›, ‹i› и ‹em›?
Ответы (22)
Они оказывают такое же влияние на обычные механизмы обработки веб-браузера, но между ними есть фундаментальное различие.
Как пишет автор в запись в списке обсуждений:
Подумайте о трех разных ситуациях:
- веб-браузеры
- слепые люди
- мобильные телефоны
«Жирный» - это стиль. Когда вы говорите «жирным шрифтом», люди в основном понимают, что это означает добавить больше, скажем «чернил», вокруг букв, пока они не станут больше выделяться среди остальных. букв.
Для слепого это, к сожалению, ничего не значит. На мобильных телефонах и других КПК текст уже выделен жирным шрифтом, потому что разрешение экрана очень маленькое. Вы не можете выделить жирный шрифт, не напортачите.
<b>
это стиль - мы знаем, как должен выглядеть жирный шрифт.
<strong>
однако указывает на то, как что-то следует понимать. «Сильный» может (и часто так) означать «полужирный» в браузере, но это также может означать более низкий тон для говорящей программы, такой как «Челюсти» (для слепых), или быть представлен подчеркиванием (так как вы не можете выделить жирным шрифтом жирным шрифтом) на Palm Pilot.
HTML никогда не предназначался для стилей. Выполните несколько поисковых запросов по «Тим Бернерс-Ли» и «семантическая сеть». <strong>
является семантическим, он описывает текст, который он окружает (например, «этот текст должен быть сильнее, чем остальной отображаемый текст ") вместо описания того, как окружающий текст должен отображаться (например, " этот текст должны быть выделены жирным шрифтом ").
<b>
и <strong>
по-разному, у вас нет гарантии, что никогда не будет разницы, даже если изначально спланируйте, чтобы разметка была видна для разных технологий. (Особенно в случае Интернета, где у вас нет абсолютно никакой возможности узнать, как люди будут использовать ваш контент.)
- person Kyle Strand; 05.09.2014
<Em>
? <Em>
обычно отображается курсивом, но с таким же семантическим потенциалом для других визуализаций в определенных ограниченных контекстах?
- person SarahofGaia; 02.09.2016
center
, strike
и u
они удалены из стандарта.
- person Alex78191; 31.05.2017
<b>
и <i>
являются явными - они обозначают жирный шрифт и курсив соответственно.
<strong>
и <em>
являются семантическими - они указывают, что заключенный текст должен быть каким-то образом «сильным» или «подчеркнутым», обычно полужирным и курсивом, но позволяет контролировать фактический стиль с помощью CSS. Следовательно, они предпочтительны на современных веб-страницах.
b
и i
. Это теги, которые вы должны использовать, когда вам нужно привлечь внимание к части прозы или компенсировать обычную прозу, без передачи акцента (em
), важности (для strong
) или релевантности (для mark
) . b
используется для ключевых слов, названий продуктов, ключевых слов и т. Д., А i
- для технических терминов, мыслей, фраз и т. Д. Честно говоря, ИМО, между ними должно быть большее различие.
- person chharvey; 21.01.2012
<b>
и <i>
?
- person Shafizadeh; 28.09.2015
<strong>
и <em>
добавляют вашему документу дополнительное семантическое значение. Так уж получилось, что они также придают вашему тексту жирный и курсивный стиль.
Конечно, вы можете изменить их стиль с помощью CSS.
<b>
и <i>
, с другой стороны, применяют только стили шрифтов и больше не должны использоваться. (Потому что вы должны форматировать с помощью CSS, и если бы текст был действительно важен, вы, вероятно, все равно сделали бы его «сильным» или «подчеркнутым»!)
Надеюсь, это имеет смысл.
<b> and <i> on the other hand only apply font styling and should no longer be used.
Официальные документы HTML5 говорят иначе. Нужна цитата?
- person ; 31.07.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 для оригиналов)
<b>
и <i>
оба связаны со стилем, тогда как <em>
и <strong>
являются семантическими. В HTML 4 первые классифицируются как стиль шрифта. элементы, а последний - как фраза элементы.
Как вы правильно указали, <i>
и <em>
часто считаются похожими, потому что браузеры часто отображают их курсивом. Но согласно спецификациям, <em>
указывает на выделение, а <strong>
указывает на более сильное выделение, что довольно ясно, но часто неправильно интерпретируется. С другой стороны, различие между использованием <i>
или <b>
на самом деле зависит от стиля.
strong
означает не более сильный акцент, а скорее важность < / а>. Для более сильного выделения вложите em
элемент внутри другого em
элемента.
- person chharvey; 21.01.2012
em
подчеркивается в пределах акцента, что, как я понимаю, вы предлагали.
- person Kariem; 22.01.2012
<b> and <i> are both related to style
эээ. Официальные документы HTML5 говорят об обратном. Нужна цитата?
- person ; 31.07.2019
<b>
и <i>
- это элементы стиля шрифта, а <em>
и <strong>
- элементы фразы. Есть предложения по улучшению этого? Для полноты, а также потому, что ваш комментарий не содержал цитаты, в HTML 5.2 все эти элементы описаны в фразовое содержание
- person Kariem; 31.07.2019
Хотя <strong>
и <em>
, конечно, более семантически верны, существуют определенные законные причины для использования тегов <b>
и <i>
для контента, написанного заказчиком.
В таком содержании слова или фразы могут быть выделены жирным шрифтом или курсивом, и, как правило, не нам анализировать семантическое обоснование такого выделения жирным шрифтом или курсивом.
Кроме того, такое содержимое может относиться к выделенным жирным шрифтом и курсивом словам и фразам, чтобы передать конкретное значение.
Примером может служить вопрос на экзамене по английскому языку, в котором студенту предлагается заменить слово, выделенное жирным шрифтом.
<em>
и <strong>
потребляют больше полосы пропускания, чем <i>
и <b>
.
Они также требуют большего набора текста (если они не создаются автоматически).
Они также загромождают экран редактора большим количеством текста. Мне кажется, я припоминаю, что программистам нравятся исходные файлы меньшего размера, если они одинаковы. (И давайте будем честными, они такие же. Да, есть "технические" (‹i› кашель ‹/i›, кхм, извините) различия, но это в основном фальшивка.)
С любым из вышеперечисленных тегов вы можете использовать таблицы стилей, чтобы настроить их внешний вид по своему усмотрению, если вам нужно, чтобы они выглядели иначе, чем их визуализация по умолчанию.
Я собираюсь рискнуть сделать здесь исторический и практический хитрый подход:
Да, согласно спецификациям, <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? Нет. Вероятно, они оба будут существовать и будут ли к ним относиться как к идентичным почти в любой ситуации до краха современной цивилизации? Я думаю да.
b или i означает, что вы хотите, чтобы текст был выделен полужирным шрифтом или курсивом. strong или em означает, что вы хотите, чтобы текст отображался таким образом, чтобы пользователь понимал его как «важный». По умолчанию используется жирный шрифт, а жирный - курсив, но в некоторых других культурах может использоваться другое сопоставление.
Как и строки в программе, b и i будут "жестко закодированы", а strong и em - " локализованный ".
Как говорили другие, ‹b› и ‹i› являются явными (т. Е. «Сделайте этот текст жирным»), тогда как ‹strong› и ‹em› являются семантическими (т. Е. «Этот текст следует выделить»).
В контексте современного веб-браузера трудно увидеть разницу (кажется, что оба они дают одинаковый результат, не так ли?), Но подумайте о программах чтения с экрана для слабовидящих. Если программа чтения с экрана наткнется на тег ‹i›, она не будет знать, что делать. Но если он встречает тег ‹em›, он знает, что слушателю следует выделить все, что находится внутри. И в этом вы получаете практическую разницу.
<b> and <i> are explicit (i.e. "make this text bold"),
эээ. Официальные документы HTML5 говорят об обратном. Нужна цитата?
- person ; 31.07.2019
Теги <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
Для текста, выделенного жирным шрифтом, с использованием тега <b>
Для текста важно использовать тег <strong>
Для текста курсивом используется тег <i>
Для выделенного текста с использованием тега <em>
Как утверждали другие, разница в том, что стили шрифтов <b>
и <i>
жестко запрограммированы, тогда как <strong>
и <em>
диктуют семантическое значение, причем стиль шрифта (или говорящая интонация браузера, или что-то еще) должен определяться в то время, когда текст отображается (или произносится).
Вы можете думать об этом как о разнице между физическим стилем шрифта и логическим стилем, если хотите. Позже вы можете захотеть изменить способ отображения текста <strong>
и <em>
, например, изменив свойства в таблице стилей, чтобы добавить изменения цвета и размера, или даже полностью использовать другие шрифты. Если вы использовали логическую разметку вместо жестко запрограммированной физической разметки, вы можете просто изменить свойства отображения в одном месте каждой таблицы стилей, а затем все страницы, ссылающиеся на эту таблицу стилей, будут изменены автоматически. , даже не редактируя их.
Довольно ловко, да?
Это также является причиной определения подстилей (на которые ссылается свойство style=
в текстовых тегах) для абзацев, ячеек таблицы, текста заголовков, заголовков и т. Д. И использования тегов <div>
. Вы можете определить физическое представление своих логических стилей в таблице стилей, и изменения автоматически отражаются на веб-страницах, которые ссылаются на эту таблицу стилей. Хотите другое представление исходного кода? Измените шрифт, размер, вес, интервал и т. Д. Для своего «кодового» стиля.
Если вы используете XHTML, вы даже можете определять свои собственные семантические теги, и ваша таблица стилей будет выполнять преобразования в стили и макеты физических шрифтов за вас.
<b>
и <i>
. Довольно ловко, да?
- person Thomas Eding; 05.09.2014
b
и i
ничего не кодировали. Как и любой тег HMTL, у них есть стиль CSS по умолчанию, и, как и в случае с любым другим тегом, вы можете изменить его так, как хотите.
- person Mecki; 31.07.2019
Я использую и ‹strong›, и ‹b›, на самом деле, именно по причинам, указанным в этой ветке ответов. Бывают случаи, когда выделенный жирным шрифтом текст просто выглядит лучше, но это не обязательно семантически более важно, чем остальная часть предложения. Вот пример со страницы, над которой я сейчас работаю:
«Получает ‹strong› все ‹/strong› книги о ‹b› лакроссе ‹/b›».
В этом предложении слово «все» очень важно, а «лакросс» - в меньшей степени - я просто хотел, чтобы оно было выделено жирным шрифтом, потому что оно представляет собой поисковый запрос, поэтому я хотел визуального разделения. Если вы просматриваете страницу с помощью программы чтения с экрана, я действительно не думаю, что нужно изо всех сил выделять слово «лакросс».
Я бы подумал, что большинство веб-разработчиков используют один из другого, но оба хороши - ‹b› определенно не является устаревшим, как утверждают некоторые люди. Для меня это просто тонкая грань между визуальной привлекательностью и смыслом.
Используйте их только в том случае, если использование классов стилей CSS по какой-либо причине неуместно или невозможно (например, системы блогов, разрешают использование только некоторых тегов в сообщениях и, в конечном итоге, встроенных стилей). Другая причина - поддержка очень старых браузеров (некоторые мобильные устройства?) Или примитивных поисковых систем (которые дают баллы за теги <b>
или <strong>
вместо анализа стилей CSS).
Если вы можете определять стили CSS, используйте их.
Обычно вам следует избегать <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
жирным и красным, например.
<b>
и <i>
следует избегать, потому что они описывают стиль текста. Вместо этого используйте <strong>
и <em>
, потому что это описывает семантику (значение) текста.
Как и все в HTML, вы должны думать не о том, как вы хотите, чтобы он выглядел, а о том, что вы на самом деле имеете в виду. Конечно, он может быть выделен жирным шрифтом и курсивом для вас, но не для программы чтения с экрана.
"Они имеют тот же эффект. Однако 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
Элементы форматирования 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>
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-теги. В то время как предыдущие относятся к значению соответствующих областей, последние просто определяют оптический дисплей в браузерах. Вы можете проверить это здесь
<strong>
и <em>
абстрактны (это то, что люди имеют в виду, когда говорят, что они семантические). <b>
и <i>
- особые способы сделать что-то «сильным» или «подчеркнутым»
Аналогия:
И <strong>
, и <b>
, и <em>
, <i>
as
«транспортное средство» означает «джип»
Мы используем тег <strong>
для текста, который имеет высокий приоритет для целей SEO, например, название продукта, название компании и т. Д., А <b>
simple выделяет его жирным шрифтом.
Точно так же мы используем <em>
для текста, который имеет высокий приоритет для SEO, а <i>
, чтобы сделать текст просто курсивом.
<em>
,<strong>
, _ 3_, _ 4_ - person totymedli   schedule 14.06.2017