Размер шрифта в CSS. Единицы измерения px, %, em
Для обозначения размера шрифта в CSS необходимо указать соответствующее свойство и его значение. Размер шрифта определяется свойством font-size
, для которого может быть установлен один из нескольких вариантов значений. Можно задать размер шрифта в пикселях, процентах, с помощью ключевых слов и т. д. Все это мы рассмотрим далее в этой подглаве, а сейчас взгляните на примеры задания размера шрифта:
/* в процентах: */ h1 { font-size: 100%; } /* в единицах измерения em: */ h2 { font-size: 1em; } /* в пикселях: */ h3 { font-size: 18px; } /* с помощью ключевого слова: */ p { font-size: small; }
Размер шрифта в пикселях
Наиболее простой и понятный способ задать размер шрифта – использовать единицу измерения px
. Вы сами указываете высоту шрифта. Допустим, вам необходим шрифт размером 24 пикселя. Для этого запишите стиль CSS:
font-size: 24px;
Размер шрифта в процентах
Вы наверняка уже сталкивались с ситуацией, когда размер шрифта в CSS не задан, вследствие чего браузеру приходится определять размер шрифта «по своему усмотрению». Если точнее, берется предустановленное значение по умолчанию. Именно от него зависят установленные в процентах значения. Например, базовый размер основного текста p
, как правило, равняется 16 пикселям. Значение 100%
эквивалентно базовому размеру шрифта, который предустановлен в браузере. Поэтому:
p { font-size: 100%; } /* ...то же самое, что и значение в браузере по умолчанию: */ p { font-size: 16px; }
Если же в этом случае задать размер шрифта 50%
, то он будет равен половине базового размера. Значение 200%
, наоборот, увеличит шрифт в два раза.
Важно: процентные значения размера шрифта наследуются. Например, если для родительского тега задан размер шрифта 150%, то все вложенные в него теги также унаследуют это значение.
Единица измерения em
По принципу работы единица измерения em
похожа на проценты. Значение 1em
эквивалентно 100%
и соответствует базовому размеру шрифта по умолчанию. Соответственно, 0.6em
= 60%
, 3em
= 300%
и так далее. Пример записи:
font-size: 0.9em; /* перед точкой можно опустить ноль: */ font-size: .9em;
Значения размеров шрифтов, указанные в em
, наследуются (как и проценты). Это создает некоторые трудности при работе с CSS. Например, если для родительского элемента div
задан размер шрифта 2em
, то для вложенного в него такого же элемента div
шрифт будет увеличен еще в два раза. Наглядный пример можно увидеть на скриншоте:

В качестве альтернативы можно воспользоваться новой единицей измерения, введенной в CSS3 – rem
, которая всегда отталкивается от базового размера шрифта. Если в нашем примере изменить значение div
с 2em
на 2rem
, то размер шрифта вложенного элемента div
станет таким же, так у родительского. Недостатком единицы измерения rem
является то, что она не поддерживается некоторыми браузерами, а именно Internet Explorer версии 8 (и ранее), а также Opera Mini 8.
Ключевые слова
Задать размер текста CSS можно и с помощью специальных ключевых слов, которые также зависят от базового размера шрифта в браузере. Если ориентироваться на стандартный размер шрифта для основного текста (16 пикселей) и не брать во внимание случаи, когда базовый размер был изменен, то таблица ниже показывает соответствие между ключевым словом и размером шрифта в пикселях:
Ключевое слово | Размер в пикселях |
---|---|
xx-small | 9px |
x-small | 10px |
small | 13px |
medium | 16px |
large | 19px |
x-large | 24px |
xx-large | 32px |
Как видим, значение medium
соответствует базовому размеру шрифта 16px
. Использование ключевых слов ограничивает возможности и лишает гибкости, поэтому профессиональные разработчики не применяют их.
Завершение
В этой подглаве вы узнали, как задать размер шрифта в CSS. Также мы рассмотрели те единицы измерения, которые наиболее часто используются для установки размера шрифта в таблицах стилей. Для этих целей могут сгодиться и другие единицы измерения CSS, такие как дюймыin, сантиметрыcm, миллиметрыmm. Но они не слишком хорошо подходят для определения размера текста на веб-страницах, отображаемых на мониторе.
Читайте далее: как установить жирный шрифт и курсив в CSS.