beget banner 468x60beget banner 728x90beget banner 930x180jivo banner 468x60jivo banner 728x90jivo banner 930x180skillbox banner 468x60skillbox banner 728x90skillbox banner 930x180

Руководство по свойству font в CSS

Выбор правильного шрифта (font) и стиля (style) очень важен для читабельности текста на странице.

CSS предоставляет несколько свойств для стилизации шрифта текста, включая изменение начертания, управление их размером и жирностью, вариациями и так далее.

Доступные свойства: font-family, font-style, font-weight, font-size, и font-variant.

Теперь рассмотрим каждое из этих свойств подробнее.

Свойство font-family

Свойство font-family используется для указания шрифта, который будет использоваться для визуализации текста.

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

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

Вы должны закончить список любым общим семейством шрифтов (generic font) на выбор — serif, sans-serif, monospace, cursive и fantasy. Типичное объявление семейства шрифтов может выглядеть так:

body {
    font-family: Arial, Helvetica, sans-serif;
}

Если имя семейства шрифтов содержит более одного слова, оно должно быть заключено в кавычки, например "Times New Roman", "Courier New", "Segoe UI" и т. д.

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

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

Разница между Serif и Sans-serif шрифтами

Шрифты с засечками имеют маленькие штрихи (засечки) на концах символов, тогда как шрифты без засечек более прямые и не имеют этих маленьких штрихов. Посмотрим следующую иллюстрацию:

Подробнее о стандартных, браузерных шрифтах, здесь: web safe fonts.

Свойство font-style

Свойство font-style используется для установки стиля шрифта для текстового содержимого элемента.

Стиль может быть normal, italic или oblique. Значением по умолчанию является normal.

Давайте посмотрим следующий пример, чтобы понять, как это в основном работает:

p.normal {
  font-style: normal;
}
p.italic {
  font-style: italic;
}
p.oblique {
  font-style: oblique;
}

На первый взгляд стили шрифта с косым (oblique) и курсивным (italic) шрифтом выглядят одинаково, но есть разница. Курсивный стиль italic использует курсивную версию шрифта (italic version), в то время как наклонный стиль oblique это просто наклоненный браузером обычный шрифт. Разумеется, использование italic более предпочтительно.

Свойство font-size

Свойство font-size используется для установки размера шрифта для текстового содержимого элемента.

Есть несколько способов указать значения размера шрифта, например, ключевыми словами, %, px, em, rem и т. д.

Установка font-size в пикселях (px)

Установка размера шрифта в значениях пикселей (например, 14px, 16px и т. д.) является хорошей практикой только когда вам нужна точность. Пиксель — это абсолютная единица измерения, которая определяет фиксированное значение.

Посмотрим следующий пример, чтобы понять, как это в основном работает:

h1 {
    font-size: 24px;
}
p {
    font-size: 14px;
}

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

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

Размер текста также можно изменить во всех браузерах, используя функцию масштабирования. Однако эта функция изменяет размер всей страницы, а не только текста. W3C рекомендует использовать значения em или % для создания более отзывчивых макетов.

Установка font-size в единицах em

Единица em является пропорциональной единицей измерения. При определении свойства font-size значение 1em равно размеру шрифта, который применяется к родительскому элементу.

Итак, если вы установите font-size: 20px для элемента body, то 1em = 20px и 2em = 40px.

Однако, если вы нигде не указали размер шрифта на странице, то браузер по умолчанию, будет использовать значение 16 пикселей. Соответственно, относительные единицы будет рассчитываться так: 1em = 16px и 2em = 32px.

Давайте посмотрим на следующий пример, чтобы понять, как это работает:

h1 {
    font-size: 2em; /* 32px/16px=2em */
}
p {
    font-size: 0.875em; /* 14px/16px=0.875em */
}

Использование комбинации % и em

Чтобы упростить вычисление значений em, есть лайфхак, который состоит в том, чтобы установить font-size для элемента body равным 62,5% (чтобы единицы em рассчитывались не от 16px, а от 10px).

Теперь вы можете установить размер шрифта для любых элементов, используя единицы em, с помощью простого для запоминания преобразования, умножив значение em на 10. Таким образом, 1em = 10px, 1.2em = 12px, 1.4em = 14px, 1.6em = 16px и т.д. Давайте посмотрим на следующий пример:

body {
    font-size: 62.5%;  /* font-size 1em = 10px */
}
p {
    font-size: 1.4em;  /* 1.4em = 14px */
}
p span {
    font-size: 2em;  /* 2em = 28px (потому что рассчитывается из родительского значения) */
}

Установка font-size в единицах rem

Для большей отзывчивости, в CSS3 введены единицы измерения rem (сокращенно от root em), которые всегда зависят от размера шрифта корневого элемента (<html>), независимо от того, где находится элемент в документе (в отличие от em, который расчитывается относительно размера шрифта родительского элемента).

Это означает, что 1rem эквивалентен размеру шрифта элемента <html>, который по умолчанию составляет 16px в большинстве браузеров. Взглянем на пример, чтобы понять, как это работает:

html {
    font-size: 62.5%;    /* font-size 1em = 10px */
}
p {
    font-size: 1.4rem;    /* 1.4rem = 14px */
}
p span {
    font-size: 2rem;    /* 2rem = 20px (не 28px, как в предыдущем примере) */
}

Установка font-size с помощью ключевых слов

CSS предоставляет возможность использования некоторых ключевых слов для определения размеров шрифта.

Размер шрифта можно указать с помощью одного из следующих ключевых слов: xx-small, x-small, small, medium, large, x-large, xx-large. Кроме этих, есть еще ключи со значением относительного размера шрифта: smaller or larger. Посмотрим, как это работает:

body {
    font-size: large;
}
h1 {
    font-size: larger;
}
p {
    font-size: smaller;
}

Ключевое слово medium равно стандартному размеру шрифта в браузере, который обычно составляет 16px. Аналогично, xx-small — это эквивалент 9px, x-small10px, small13px, large18px, x-large24px и xx-large32px.

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

Установка font-size в единицах vw и vh

Размеры шрифта могут быть указаны с использованием относительных единиц viewport: vw или vh.

Единицы viewport расчитываются в процентном отношении от размеров окна браузера, где 1vw = 1% ширины области просмотра и 1vh = 1% высоты области просмотра. Следовательно, если область просмотра имеет ширину 1600px, 1vw составляет 16px, но т.к. чаще область просмотра имеет ширину 1920px, то 1vw составит 19.2px

Посмотрим следующий пример:

body {
    font-size: 1vw;
}
h1 {
    font-size: 3vw;
}

Однако существует проблема с единицами viewport. На маленьких экранах шрифты становятся такими маленькими, что их трудно прочитать. Чтобы предотвратить это, вы можете использовать CSS-функцию calc(), как в примере:

html { 
    font-size: calc(1em + 1vw); 
}
h1 {
    font-size: 3rem;
}

В этом примере, даже если ширина области просмотра становится равной 0, размер шрифта будет по крайней мере равен 1em или 16px.

Для создания более гибкой типографики вы можете использовать медиазапросы CSS.

Свойство font-weight

Свойство font-weight указывает вес или жирность шрифта.

Это свойство может принимать одно из следующих значений: normal, bold, bolder, lighter, 100, 200, 300, 400, 500, 600, 700, 800, 900 и inherit.

  • Числовые значения 100900 указывают жирность шрифта. 400 соответствует значению normal, а 700 соответствует bold.
  • Значения bolder и lighter изменяют жирность текущего элемента на 100 по сравнению с жирностью родительского элемента. bolder — больше, lighter — меньше.

Давайте посмотрим на примере:

p {
    font-weight: bold;
}

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

Свойство font-variant

Свойство font-variant позволяет отображать текст в специальном начертании с маленькими заглавными буквами.

Маленькие заглавные буквы (small-caps) немного отличаются от обычных заглавных букв, в которых строчные буквы отображаются как уменьшенные версии соответствующих заглавных букв.

Посмотрим следующий пример:

p {
    font-variant: small-caps;
}

Значение normal переформатирует маленькие заглавные буквы в нормальные.

skillbox banner 480x320skillbox banner 728x90skillbox banner 120x600flexbe banner 480x320flexbe banner 728x90flexbe banner 120x600jivo banner 480x320jivo banner 728x90jivo banner 120x600

Насколько публикация полезна?

Нажмите на звезду, чтобы оценить!

Средняя оценка 5 / 5. Количество оценок: 2

Оценок пока нет. Поставьте оценку первым.

Похожие посты

Руководство по свойству opacity в CSS

CSS-свойство opacity означает непрозрачность и теперь является частью спецификаций CSS3. Старые браузеры имеют разные способы управления непрозрачностью. Opacity в Firefox, Safari, Chrome, Opera и IE9 Вот самый простой синтаксис для назначения непрозрачности CSS во всех современных браузерах. Приведенное выше правило сделает элемент абзаца непрозрачным на 70% (или прозрачным на 30%). Свойство opacity принимает значение от…
Подробнее

Руководство по таблицам в CSS

Таблицы обычно используются для отображения каких-либо упорядоченных табличных данных. После того, как вы создали HTML-таблицу, с помощью CSS вы можете значительно улучшить ее внешний вид. CSS предоставляет несколько свойств, которые позволяют вам управлять компоновкой и представлением элементов таблицы. В этом разделе вы увидите, как использовать CSS для стилизации таблиц. Добавление границ (border) в таблицы CSS-свойство…
Подробнее

Руководство по свойству margin в CSS

CSS-свойство margin позволяют вам установить интервал вокруг границы элемента (или края блока элемента, если у него нет определенной границы). На цвет элемента не влияет цвет фона background-color, он всегда прозрачен. Однако, если родительский элемент имеет цвет фона, он будет виден через область margin. Margin для отдельных сторон Вы можете установить margin для отдельных сторон используя…
Подробнее