





Никогда. Они удалены в XHTML 2.0, поскольку являются презентационными тегами. CSS следует использовать для выделения содержимого жирным шрифтом / курсивом.
редактировать: Если вы ищете чисто презентационный тег, то для этого предназначен тег SPAN с классом и небольшим количеством CSS.
@abernier Этот ответ был написан за год до того, как W3C разрешил XHTML2 истечь, а HTML5 по существу отказался от старого тега «жирный» и заменил его тегом с семантическим значением, аналогичным тегу «сильный», как странный танец, предназначенный для дедушки. в существующем поведении браузера.
@ceejavoz см .: whatwg.org/specs/web-apps/current-work/multipage/… это не обесценивается, это больше похоже на крайний случай, но со значением: «альтернативный голос или настроение, или иным образом смещение от обычной прозы»
Дело, однако, в том, что они по существу удалили старые теги b / i и создали новые с теми же именами, но с фактическим семантическим значением. Старые значения тегов - жирный и курсив - больше не используются.
При написании сайтов для мобильных устройств. Они не всегда поддерживают `` новейшие и лучшие '' стандарты, обесцениваются, но не удаляются из всех современных браузеров, и просто занимают меньше места и пропускной способности (хотя теоретически потоки сжимаются либо веб-сайтами, либо беспроводным браузером, это нельзя на это рассчитывать).
-Адам
Известны ли вам какие-либо мобильные устройства, которые не могут обрабатывать теги STRONG или EM?
На данный момент нет, однако, даже если каждое используемое мобильное устройство поддерживало эти теги, вопрос о пропускной способности по-прежнему остается в силе. В большинстве случаев это бесполезно (сжатие и т. д.), Но для конкретного веб-сайта, обслуживающего конкретного пользователя, <b> и <i> могут быть правильным выбором.
Если у вас достаточно тегов I / B, чтобы изменить пропускную способность даже на мобильном телефоне, это либо а) все равно слишком длинная страница для мобильного телефона, или б) вы выделяете каждое второе слово жирным шрифтом и вам нужно прекратить делая это. Хех.
Теги <b> и <i> не имеют семантического значения, тогда как <strong> и <em> имеют. Если читатель прочитает блок текста вслух, он отреагирует на теги <strong> и <em>, тогда как теги <i> и <b> будут проигнорированы и обработаны чисто визуальными элементами. Я считаю <i> и <b> устаревшими.
Каждый раз, когда вы хотите сделать что-то неправильно ... шучу.
Настоящий ответ: никогда, эти теги устарели W3C.
на самом деле они не устарели, по крайней мере, не в XHTML 1.0 - w3schools.com/tags/ref_byfunc.asp
Ни <b>, ни <i> не являются семантическими тегами, поэтому пуристы сказали бы, что их не следует использовать. Я видел оправданное их использование в таких вещах, как размещение онлайн-контента в печати, где текст был выделен жирным шрифтом или курсивом по условию, а не как способ усиления или выделения контента.
Простой пример - если вы размещаете в Интернете статью журнала, которая ссылается на книгу по ее названию: вы можете выделить название книги курсивом, но курсив не предназначен для выделения, поэтому тег <em> будет неуместным. Вы можете использовать здесь <i>, но семантически нужно использовать что-то вроде <span class = "booktitle">, а затем использовать CSS, чтобы сделать заголовки книг курсивом. Вы ссылаетесь на заголовок, не делая акцента, и вы не хотите, чтобы программа чтения с экрана делала словесный акцент на заголовке.
Мое личное мнение - не использовать сегодня ни <b>, ни <i>, но использование <strong> или <em> в качестве их заменителей, когда вы на самом деле не собираетесь делать что-либо, кроме жирного шрифта или курсива, также неверно.
В вашем примере вы действительно хотите использовать <cite />. :)
Для разметки, созданной редактором WYSIWYG.
Хотя в целом я бы держался подальше от несемантических тегов, таких как b и i, strong и em не являются прямой заменой b и i.
Я бы использовал b или i, когда вы собираетесь использовать только презентацию, а то, что вы размечаете, не имеет семантического значения. Например, такой логотип, как stackoverflow, можно разметить с помощью stack<b>overflow</b>. Часть «переполнение» не имеет семантического значения по отношению к «стеку», но stack<span class = "overflow-logo">overflow</span> тоже ничего не предлагает.
Надеюсь это поможет.
Не знаю, как комментировать (отредактировать: нужна моар карма!), Но это ответ на комментарий Эрика.
Пожалуйста, прочтите рабочий проект HTML5. Он дает хорошее объяснение того, когда использовать b.
The
belement represents a span of text to be stylistically offset from the normal prose without conveying any extra importance, such as key words in a document abstract, product names in a review, or other spans of text whose typical typographic presentation is boldened.
В логотипе «переполнение» не выделяется «стек», поэтому перенос слова «переполнение» с помощью em семантически неверен.
Я не согласен. Я бы реализовал ваш пример как <h1>stack<em>overflow</em> </h1>. Это заголовок, упор сделан на переполнение. В качестве альтернативы вы можете использовать изображение для логотипа и просто оставить текст.
Я не знал об этой спецификации тегов b и i. В таком случае, я думаю, вы правы. Хотя не знаю, согласен ли я с примерами, которые они приводят в проекте. Думаю, это был бы лучший пример.
Я думаю, что когда вы пытаетесь сделать свою разметку содержательной, они редко бывают полезными.
Однако есть новые теги, которые дают некоторые из тех же результатов, но обеспечивают еще большее семантическое значение. Мне нравится использовать тег <cite>, когда я говорю, например, о названии книги, поскольку оно по-прежнему выделяется курсивом, но теперь HTML несет в себе значение, объясняющее, почему.
Существует множество других семантических тегов, которые также могут влиять на форматирование, перечисленные здесь:
Я уже много лет использую <b> для обозначения ключевых слов на моем веб-сайте. Я написал небольшую утилиту, которая сканирует сайт в поисках тегов <b> и добавляет их в индекс. Я использую <strong>, когда хочу выделить слово жирным шрифтом, не добавляя его в указатель. Я использовал это соглашение в течение многих лет - слишком поздно, чтобы отказаться от него.
Согласно Спецификация HTML 5, <b> и <i> должны использоваться при необходимости.
На я:
[A] span of text in an alternate voice or mood, or otherwise offset from the normal prose, such as a taxonomic designation, a technical term, an idiomatic phrase from another language, a thought, a ship name, or some other prose whose typical typographic presentation is italicized.
На б:
[A] span of text to be stylistically offset from the normal prose without conveying any extra importance, such as key words in a document abstract, product names in a review, or other spans of text whose typical typographic presentation is boldened.
Вообще говоря, «когда уместно» считается крайней мерой, когда все другие семантические варианты исчерпаны. Несмотря на то, что они могут быть «презентационными», их семантическим кузенам <em> и <strong>, безусловно, будет медвежья услуга, если они будут всегда выделены курсивом или жирным шрифтом соответственно.
Как можно исчерпать смысловые варианты? SPAN с классом "keyword", "product_name" и т. д. Будет работать во всех примерах ситуаций. Это вся причина за тега SPAN.
@ceejayoz См. мой пример логотипа в моем ответе.
По поводу http://www.webmasterworld.com/forum21/7095-1-15.htm есть хороший комментарий:
"If page readers really read every
<strong>tag in a strong voice, or really emphasize every<em>section on a page, then the poor user gets a page shouting at her or him on a regular basis.I think this issue is really a no-brainer. If I am setting a bold or italic font for purposes of typography only, then I use
<b>and<i>. If there's a word or phrase that I want to emphasize as I would in speaking, then - and only then - do I use<strong>or<em>."
Вот для чего нужен SPAN, а не B и I.
Можно утверждать, что тег <i> все еще используется: при выражении научного названия (также известного как латинское название) вида. Научное название вида обычно выделяется курсивом. Пример. Семантически некорректно использовать <em> в этой ситуации, потому что имя не пытается выделить, а просто визуально различить его. Возможно, было бы более подходящим использовать что-то вроде <span class = "sci-name">, но если учесть, что большинство научных названий состоит из слов курсивные языки, в основном латинских, тег <i> становится довольно семантически богатым и удобным решением.
Существуют технические правила, но вот два моих практических правила:
1) Если вы пишете что-то, где, если бы вы говорили, вы бы подчеркнули слово, подходящими являются <strong> и <em>. (Например, «Ты должен быть мной дерьмо, Пайл!»)
2) Если вы выделяете слово по техническим причинам, но не хотите выделять слово в разговорной речи, подходят <b> и <i>. (Например, «Он сел на RMS Титаник и уплыл, и больше его никто не видел».)
Однако не пропускайте другие теги, такие как <cite>!
Официально <i /> и <b /> являются «презентационными» и не должны использоваться. Хотя многие разработчики думают, что <em /> и <strong /> носят презентационный характер, это не так. Обычно они выделяются курсивом и жирным шрифтом соответственно, но CSS может (и должен, когда это необходимо) изменить способ отображения акцента и силы.
Аналогичные вещи можно сделать с помощью css в теге <span />, и многие считают, что это предпочтительный метод, но это не обосновано спецификацией.
Прошло несколько лет ...
В HTML5 (Рекомендация W3C) ни один из этих четырех элементов не является устаревшим / устаревшим.
В (ненормативном!) сводка использования перечислены их цели:
Конечно, если вы хотите их использовать, всегда обращайтесь к их нормативным определениям (которые вы можете найти, щелкнув по именам элементов) и убедитесь, что они подходят для вашего случая.
Элемент b можно использовать для ключевых слов в тексте., где три других элемента не подходят: такие ключевые слова не подчеркнуты (em) и не смещены (i), а также нет необходимости отличать их от шаблонов и т. д. (strong).
Элемент i может использоваться для научных названий на латыни., где strong и em не подходят. Хотя b также кажется подходящим, его определение явно исключает случаи, обрабатываемые i.
Конечно, могут быть случаи, когда вы использовали бы несколько из этих элементов. Например, научное название также может быть ключевым словом в документе (<b><i>…</i></b>).
@ceejayoz XHTML 2.0 мертв! Кроме того, согласно следующей спецификации HTML (HTML5) вы ошибаетесь: <b> и <i> все еще присутствуют, и они имеют семантическое значение.