Как сделать жирный текст в CSS: свойство font-weight

font-weight задаёт насыщенность (жирность) текста. Можно написать словом - normal (обычный) или bold (жирный), а можно числом от 100 до 900 с шагом 100 для более точной настройки. normal равен числу 400, а bold - числу 700.

Попробуй прямо сейчас: смени font-weight у любого абзаца на другое число от 100 до 900 - шрифт станет тоньше или толще.

normal и bold: два основных значения

Это два самых частых значения: normal - обычная насыщенность (по умолчанию у большинства текста), bold - жирный. За кулисами normal равен числу 400, а bold равен числу 700 - можно писать любым из двух способов, результат один и тот же.

font-weight: bold; - то же самое, что font-weight: 700;.

font-weight: жирный; - работают только определённые английские слова (normal, bold, bolder, lighter) и числа, а не перевод на русский.

Числа от 100 до 900: точная настройка

Если в шрифте есть несколько промежуточных начертаний (не только обычное и жирное, а ещё тонкое, полужирное и так далее), можно указать точное число: 100 - самое тонкое, 900 - самое жирное, с шагом 100 между ними. Это работает только если в самом шрифте реально есть файл с таким начертанием.

font-weight: 600; - подходит, если в шрифте действительно есть полужирное (semi-bold) начертание.

font-weight: 550; у обычного шрифта без такого начертания - браузер не создаст несуществующее начертание из ничего, а подберёт ближайшее доступное или нарисует его сам.

Если в шрифте нет нужной насыщенности

Если у шрифта нет отдельного файла для запрошенной жирности (например, подключено только обычное начертание, а указан font-weight: 700), браузер не откажется выполнять команду - он сам "дорисовывает" жирность, утолщая буквы обычного начертания. Получается не настоящий жирный шрифт, а его имитация, обычно менее аккуратная, чем при использовании реального жирного файла.

Подключить нужное начертание отдельным файлом через @font-face (см. предыдущий урок) - тогда font-weight: 700 покажет настоящее жирное начертание.

font-weight: 700; без подключённого жирного начертания - результат будет "поддельным" жирным, нарисованным браузером на лету.

Из истории Числовая шкала font-weight (100-900) появилась уже в CSS2, в 1998 году - вместе с ключевыми словами normal, bold, bolder и lighter. В самой спецификации объяснено, почему для точной настройки выбрали именно числа, а не только слова: относительные обозначения вроде bolder/lighter "часто путались с названиями самих шрифтов" - числовая шкала оказалась более однозначной. Источник: w3.org - CSS2, раздел про font-weight, 1998.

Частые ошибки новичков

ОшибкаЧто происходитКак исправить
Используют <b> или <strong> только чтобы визуально сделать текст жирным Эти теги обозначают смысловое выделение, а не просто «сделай жирным» - для чисто визуального эффекта это лишний тег Для чисто визуальной жирности достаточно font-weight: bold в CSS, без дополнительного тега
Указали число, которого нет в самом файле шрифта (например 550 у обычного шрифта) Браузер подбирает ближайшее доступное начертание или рисует псевдо-жирный текст сам Использовать числа, для которых в шрифте реально есть отдельное начертание
Указали font-weight: bold, не подключив жирное начертание через @font-face Браузер вынужден нарисовать псевдо-жирный текст - буквы толще, но обычно менее аккуратные, чем настоящий жирный шрифт Подключать нужные начертания отдельными файлами через @font-face
Путают жирность (font-weight) с наклоном (font-style) Это два разных свойства - одно не заменяет другое Для наклона использовать font-style: italic, для толщины - font-weight

Шпаргалка

Что нужноКак сделать
Обычный текстfont-weight: normal; (то же самое, что 400)
Жирный текстfont-weight: bold; (то же самое, что 700)
Точная настройкаЧисла от 100 до 900 с шагом 100 - если начертание есть в шрифте
По умолчанию уже жирныеh1-h6, <b> и <strong> - браузер сам ставит им font-weight: 700
Не для наклонаЗа наклон отвечает font-style, а не font-weight

Коротко: отвечаем на вопросы

Почему одни значения font-weight пишут словами (normal, bold), а другие - числами?

Оба варианта работают одинаково - normal и bold это просто более понятные обозначения для чисел 400 и 700. Числа нужны, когда хочется более точной настройки, чем просто «обычный» или «жирный».

Указал font-weight, но текст визуально не стал жирнее - в чём может быть проблема?

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

Чтобы просто сделать текст жирным, лучше использовать тег <b> или font-weight в CSS?

Если жирность нужна только визуально, без смыслового выделения - font-weight в CSS. Тег <b> (и тем более <strong>) означает смысловое выделение текста, а не просто «сделай жирным».

Категория
css
Поделиться в социальных сетях

Отправить комментарий

0 Комментарии

Отправить комментарий (0)

#buttons=(Хорошо) #days=(20)

Мы используем файлы cookie для улучшения работы сайта. Подробнее
Хорошо
×