Альтернатива тегу HTML Bold


83

Хорошо, я знаю, что в HTML вы можете использовать <b>тег, но разве нет "weight=bold"атрибута, который я могу использовать в <p>теге?

Или это в CSS или Javascript?


5
Я назначаю награду за этот вопрос, чтобы повысить его наглядность, потому что считаю главный ответ практически катастрофическим, несмотря на то, что он технически верен. Особенно по вопросу, который занимает очень высокое место в результатах поиска Google по запросу «полужирный тег в html5».
Kzqai

7
Я считаю эту награду смешной. @mipadi дает правильный ответ. Если пользователь не может понять, что, возможно, он хочет стилизовать что-то другое, pто это его собственная проблема. Может быть, они зададут другой ТАК вопрос, который прояснит это.
Ryley

Ответы:


100

Также обратите внимание на <strong>тег. Это намного лучше для программ чтения с экрана и, следовательно, лучше для доступности. Поисковые системы также использовать <strong>тег для определения важного содержимого подобно тому , как они используют заголовок тег <h1>, <h2>и т.д. (хотя <b>и будет иметь одинаковое значение для поисковых систем). Если вы хотите подчеркнуть важность текста, используйте <strong>. Если вы не хотите подчеркивать важность, используйте <b>тег или font-weight:bold;стиль элемента или CSS.

Хотя, если вы выделяете жирным весь абзац, вероятно, лучше использовать опцию CSS. Это снизит влияние на программы чтения с экрана, и, вероятно, не имеет смысла выделять весь абзац. Но, с другой стороны, я раньше не зря видел, как жирный шрифт использовался для выделения всего абзаца. В этом случае font-weight:bold;это то , что вы хотите использовать, скорее всего, в классе / стиле.

В конце концов, <strong>, <b>или font-weight:bold;все будет работать и сделать что - то подобное визуально (вероятно , точно такой же), но они имеют несколько иной смысл. Кроме того , убедитесь , что если то , что вы вскипание является заголовком, используйте теги заголовков: <h1>, <h2>и т.д.


37
<b> НЕ является устаревшим ни в одном текущем стандарте HTML или XHTML, а также не является устаревшим даже в готовящемся к выпуску HTML 5. <b> и <strong> имеют разные значения; <b> означает «текст, выделенный жирным шрифтом». <strong> означает «более сильный акцент», но не определяет стиль текста; браузеры по умолчанию выделяются полужирным шрифтом.
thomasrutter

2
Повсеместное использование <b> уменьшилось, но фактический элемент не устарел согласно спецификациям W3C.
Alex

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

@Chuck: что означает новый элемент b?
Alex

1
Обратите внимание, что современные программы чтения с экрана (например, последние версии JAWS и Window Eyes) не передают содержимое элементов <em> или <strong> иначе в обычных настройках. Пользователь должен перейти в режим корректуры, чтобы это повлияло на речевой вывод. Хорошее чтение: программам чтения с экрана не хватает акцента и элементов i, b, em и сильных элементов в HTML5 .
Джон Гиббинс,

79

Вы думаете о свойстве CSS font-weight:

p { font-weight: bold; }

6
Что ж, надеюсь, он не копирует в точности то, что у вас есть ... мог бы кое-что испортить :)
Дэррил Хайн,

6
Это синтаксически правильный пример. OP должен будет решить, как он хочет, чтобы это использовалось.
mipadi

6
«Правильный синтаксис» - это еще не все, я бы хотел, чтобы этот ответ был лучше, поскольку он является лучшим ответом на вопрос с большой видимостью в поисках решения для тега b. Это не способствует хорошему результату как потому, что он защищает стиль элемента, который имеет другие, гораздо более важные применения (абзацы в тексте в целом), так и потому, что он защищает использование стиля css вместо более чистых альтернатив, таких как <strong>, <h1>, <em> и <mark>. Технически это работоспособно, но на практике это грозит катастрофой.
Kzqai

4
@Tchalvak: Я использую <p>в качестве примера, потому что OP использовал его в качестве примера. font-weightработает с любым элементом.
mipadi

7
@mipadi Я понимаю это, но лично, если незнакомец попросит у меня «действительно острый нож, чтобы побрить лицо», я проигнорирую конкретную терминологию запроса и дам ему безопасную бритву.
Kzqai

23

Если значение текста семантически строгое , используйте strongэлемент. Если нет, используйте семантический именованный класс (тот, который четко показывает значение элемента, не смешивайте представление и данные, вызывая его и boldт. Д.) И ссылайтесь на него в своем CSS.

HTML

<span class="important-message">I'm important!</span>

CSS

.important-message {
   font-weight: bold;
}

Некоторые люди до сих пор используют этот bэлемент в качестве презентационной ловушки, но он не устарел , хотя в настоящее время большинство людей предпочитают этот strongэлемент. Просто убедитесь, что они используются правильно.


4
<b> НЕ устарел. Он по-прежнему поддерживается в HTML 4.01, XHTML 1, XHTML 1.1 и даже в готовящемся к выпуску HTML 5. Его отказ от поддержки - это миф. Другой вопрос, следует ли его исключать. Это не так. См. Также w3.org/TR/html401/index/elements.html
thomasrutter

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

@thomasrutter ... Вот почему я сказал думать . Имя не должно быть семантическим только для компьютеров; люди тоже читают html.
Alex

10

В <Б> тег жив и здоров. <b> не является устаревшим, но его использование было уточнено и ограничено. <b> не имеет семантического значения и не передает голосового акцента, который может произнести программа чтения с экрана. Однако <b> передает напечатанные эмпази , как и тег <i>. Оба они занимают особое место в типографии, но не в устном общении, mes frères .

Цитата из http://www.whatwg.org/

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

8

Вы можете сделать текст или слова Boldс помощью<b>Text</b> тега.

Вы также можете использовать <strong>Text</strong> тег

Головные метки <h1>, <h2>,<h3> , ... являются по умолчанию выделены жирным шрифтом теги и сделать свой текст Жирный по умолчанию , если вы не измените свой стиль с помощью CSS

Вышеупомянутые теги были доступны в HTML, но если вы хотите изменить стиль, CSSвы можете использовать

font-weight:bold


7

Вы можете написать код, как показано ниже.

<html>
 <head>
 <style>
 p.boldstats{
 font-weight: bold
  }
  </style>
 </head>

  <body>
  <p class="boldstats"> The bold finder </p>
  </body>
</html>

6

Вы можете использовать атрибут font-weight на своем

Например:

<p>This is my paragraph</p>

Вы можете встроить свой CSS, как показано ниже:

<p style="font-weight:bold;">This is my paragraph</p>

Или добавьте его в свою внешнюю таблицу стилей CSS, как показано ниже:

p{
  font-weight:bold;
}

5

Все это исторически и восходит к временам, когда динозавры ходили по земле, а CSS не существовало.

А если серьезно, забудьте о <b/>теге и используйте его font-weight:boldв правиле CSS :)


4

<b> последнее средство

Можно использовать <b>, но только в крайнем случае . Существует множество элементов, которые работают как хорошие альтернативы <b>, вот они в порядке их наибольшей полезности:

Более полезные альтернативы

  • Для важного текста: <strong>
  • Для подчеркнутого текста: <em>
  • Для заголовков, не только для заголовков страниц, но и для заголовков параграфов и прочего: <h1> through <h6>

Практичный край для использования <b>

Единственный случай, когда я рекомендую использовать, <b>- это если

  1. у вас <strong>другой стиль, который вы не хотите отображать для текста, который вы имеете в виду,

  2. вам не нужно выделять курсивом или заголовок, и

  3. вы собираетесь использовать встроенный диапазон или диапазон с классом только для выделения текста жирным шрифтом . (Например: <span class='bold'>)

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


4

ты также мог бы сделать <p style="font-weight:bold;"> bold text here </p>


1
встроенные стили скоро будут устаревшими в html 5: P
lock

Вы уверены? я думал, что только встроенные теги стиля должны быть устаревшими, т.е. (big, s, strike, tt, u)
Джон Бокер,

2
Даже если они не устарели, это почти всегда плохая идея. Вы также можете вернуться к использованию тегов <font>.
tgecho

встроенные стили по-прежнему рекомендуются для небольших файлов css. Проверьте Yslow и Google PageSpeed. Это странно, но звучит разумно (меньше звонков?)
Яннис Дран

@Kzqai: Я согласен на 100%. В моем конкретном случае мне нужно избавиться от любых встроенных стилей из-за большой загрузки запроса ajax в div. Просто удалив все встроенные стили, я сэкономлю несколько миллисекунд на времени загрузки.
Адриан П.

2

    #bold{
      font-weight: bold;
    }
    #custom{
      font-weight: 200;
    }
<body>
  <p id="bold"> here is a bold text using css </p>
  <p id="custom"> here is a custom bold text using css </p>
</body>

Я надеюсь это сработало


1

Может быть, вы хотите использовать классы CSS?

p.bold { font-weight:bold; }

Таким образом, вы все еще можете использовать его <p>как обычно.

<p>This is normal text</p>
<p class="bold">This is bold text</p>

Дает тебе:

Это нормальный текст.

Это жирный текст.


1

Я знаю, что это очень старая ветка. - но для полноты:

я использую <span class="bold">my text</span>    

пока я загружаю четыре стиля шрифта: нормальный; смелый; курсивом и жирным курсивом на моем веб-сайте через css.

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

То же самое, конечно, применимо к курсиву и полужирному начертанию, что дает мне дополнительную гибкость.


1

То, что вы используете вместо bэлемента, зависит от семантики содержимого этого элемента.

  • Элементы bи strongсосуществуют уже давно. В HTML 4.01 , который был заменен HTML5, strongпредназначалось использовать для «сильного выделения», то есть более сильного выделения, чем emэлемент (который просто указывал на выделение). В HTML 5.2 , strong«представляет собой сильную важность, серьезность или срочность за его содержание»; аспекты «серьезности» и «срочности» являются новыми в спецификации по сравнению с HTML 4.01. Поэтому, если раньше вы bпредставляли контент, который был важным, серьезным или срочным, рекомендуется использовать strongвместо него. При желании вы можете различать эти разные семантики, добавляя значимые атрибуты класса, например<strong class="urgent">...</strong> и<strong class="warning">...</strong>и используйте соответствующие селекторы CSS, чтобы стилизовать эти типы «выделения» по-разному, например, используя разные цвета и размеры шрифта (например, в вашем файле CSS:. strong.warning { color: red; background-color: transparent; border: 2px solid red; }).
    Другой альтернативой bявляется emэлемент , который в HTML 5.2 «представляет ударение в своем содержимом». Обратите внимание, что этот элемент обычно выделяется курсивом (и поэтому часто рекомендуется в качестве замены iэлемента).
    Я бы устоял перед соблазном последовать советам из некоторых других ответов, чтобы написать что-то вроде <strong class="bold">...</strong>. Во-первых, атрибут class ничего не значит в невизуальных контекстах (прослушивание книги ePub, преобразование текста в речь в целом, программы чтения с экрана, шрифт Брайля); во-вторых,почему- то было выделено жирным шрифтом.
  • Если вы использовали bдля целых абзацев или заголовков (в отличие от более коротких отрезков текста, что использовалось в предыдущем пункте маркера), я бы заменил его соответствующими classатрибутами или, если применимо, ролями WAI-ARIA, например, alertдля живого регион «с важной и обычно срочной информацией». Как упоминалось выше, вы должны использовать «семантические» classзначения атрибутов, чтобы люди, обслуживающие код (включая ваше будущее), могли понять, почему что-то было выделено жирным шрифтом.
  • Не все варианты использования bмогут представлять что-то семантическое. Например, когда вы конвертируете печатные документы в HTML, текст может быть выделен жирным шрифтом по причинам, не имеющим ничего общего с акцентом или важностью, а как наглядное руководство. Например, заглавные слова в словарях не более «серьезные», «срочные», чем другое содержимое, поэтому вы можете сохранить bэлемент и при желании добавить значимый атрибут класса, например, <b class="headword">или заменить тег <span class="headword">на на основе аргумента, bимеющего нет смысла в невизуальных контекстах.

В вашем файле CSS (вместо использования styleатрибутов, как рекомендовано в некоторых других ответах) у вас есть несколько вариантов стилизации «жирного» или важного текста:

  • указание разных цветов (передний план и / или фон);
  • указание разных начертаний шрифта;
  • указание границ (см. пример выше);
  • с использованием различных весов шрифтов , используя font-weightсвойство , которое позволяет больше значения , чем просто normalи bold, в частности normal | bold | bolder | lighter | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900,
  • и т.п.

Обратите внимание, что поддержка числовых значений веса шрифта не всегда была хорошей.


0

Приведенный ниже код также выделит его жирным шрифтом.

<strong> text here </strong> 

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


0

Вы можете использовать следующее:

<p id="p1">Some Text here </p>
#p1{
   font-weight: bold;
}

ИЛИ ЖЕ

<Strong><p>Some text here </p></strong>

ИЛИ ЖЕ

Вы можете использовать <h1> tagчто-то похожее на жирный


1
Так как p, вероятно, является блочным уровнем, вы захотите, чтобы strong проник внутрь p.
Kzqai

0

В настоящее время люди склонны использовать конструкторы веб-сайтов (CMS, такие как Wordpress) вместо того, чтобы писать собственный блог с нуля. Даже профессиональные веб-разработчики делают это, потому что это быстрее.

Было бы неплохо, если бы вы могли упомянуть преимущества и вещи, о которых следует помнить при написании кода для собственного блога в реальной жизни, например:

  • Больше гибкости (настройка)
  • Оплатить доменное имя
  • Оплатите и выберите веб-хостинг
  • Безопасность и обслуживание
  • Авторское право и лицензия на шаблоны и графику некоторых разработчиков веб-сайтов. Ваш веб-сайт может быть привязан к определенному веб-хосту, если вы использовали его конструктор. Таким образом, вы не можете перейти на другой веб-хостинг, потому что в противном случае вы больше не сможете использовать этот шаблон.
  • Возникли проблемы при обращении в службу технической поддержки конструктора веб-сайтов, когда веб-сайт выходит из строя.
  • Некоторые шаблоны не подходят для поисковых систем, и это влияет на рейтинг вашего сайта (SEO).

В любом случае, вы можете использовать css / css3 или JavaScript для создания интерактивной веб-страницы. Даже вы можете загрузить свой всевозможный код на сервер, форматирующий тему блога по умолчанию.


-2

Ответ @Darryl Hein верен, несмотря на одно - <b>не рекомендуется вообще с XHTML, потому что он не семантический .

<strong> означает семантически выделенный текст

font-weight: bold означает визуально выделенный текст

<strong>можно настроить css, чтобы он не выделялся жирным шрифтом, хотя это обычное значение по умолчанию. Его можно сделать красным, курсивом или подчеркнутым (хотя все эти возможности не очень удобны для пользователя). Используйте его для фраз / слов в тексте, не из-за визуального оформления, а в связи с их значением.

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


Я не верю, что это верно в пересмотренном определении для <b> в html5.
Kzqai

При этом вы сами написали, что <b>это крайняя мера, а я написал, что b не рекомендуется. Где противоречие?
Guard

3
Извините, я должен был быть более конкретным в том смысле, что я имел в виду, что он имеет ретконизированное семантическое значение в html 5: ...previous versions of HTML defined the b element only in presentational terms, the element has now been given the specific semantic purpose of representing text “offset from its surrounding content without conveying any extra emphasis or importance, and [conventionally boldened]”.в html5, согласно dev.w3.org/html5/markup/b.html#b . Это причина, по которой я считаю, <b>что: действительный / крайний случай / не был семантическим / переопределен на семантический и т. Д. Просто тонкая разница.
Kzqai

-3

Используйте <strong>тег, потому что он более семантический. <b>был обесценен, поэтому лучше не использовать его. Кроме того, полужирному тексту придается больший вес для поисковой оптимизации (SEO), поэтому всегда лучше использовать настоящий, <strong>а не делать <p>или <span>жирным шрифтом с помощью CSS.


4
Не используйте вещи, потому что они «более семантичны» - используйте их, потому что они имеют семантику, применимую к тому, что вы пишете. Мы не знаем, какова семантика текста OP.
Квентин,
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.