Кратко
СкопированоИспользуй это свойство, чтобы задать размер текста.
Примеры
СкопированоРазмер шрифта в абзаце будет равен 14 пикселям:
p { font-size: 14px;}
p {
font-size: 14px;
}
Как пишется
СкопированоВот какие значения можно задать:
em— относительная единица, которая определяется по родительскому элементу.1em— это стандартный размер текста, который установлен в браузере. Обычно он равен16px. Соответственно,2emбудут равны32px, а0—. 5em 8px. Если задаёшьfontвнутри другого элемента, то- size emбудет рассчитан относительно этого элемента.rem— работает похожим образом, чтоem, но в этом случае размер шрифта зависит не от родительского элемента, а от корневогоhtmlэлемента. Другими словами, так можно не зависеть от размера родительского элемента.%— значение в процентах, например 80%. Работает похожим образом, что и единицаem. За 100% берётся размер текста в родительском элементе. Значение может быть только положительным.px— можно задать значение в пикселях, когда важно, чтобы шрифт всегда был одного конкретного размера, вне зависимости от браузера и настроек устройства. Это не всегда лучший вариант, потому что, например, пользователи, которые плохо видят и используют крупные шрифты, не смогут увеличить текст в своём браузере.xx,- small x,- small small,medium,large,x,- large xx— абсолютные значения, которые зависят от настроек браузера и операционной системы. Обычно не используют.- large larger,smaller— больший или меньший размер шрифта относительно родительского элемента. Обычно не используют.
Ещё примеры
СкопированоЗначение в em высчитывается относительно текущего шрифта. Поэтому дочерняя строка в 1.5 раза больше, чем родительская.
<div class="parent"> Размер этого текста в 1.5 раза больше, чем стандартный размер вашего браузера, <span class="child"> а этот текст в 1.5 раза больше, чем в родительском контейнере. </span></div>
<div class="parent">
Размер этого текста в 1.5 раза больше, чем стандартный размер вашего браузера,
<span class="child">
а этот текст в 1.5 раза больше, чем в родительском контейнере.
</span>
</div>
.parent { font-size: 1.5em;}.child { font-size: 1.5em;}
.parent {
font-size: 1.5em;
}
.child {
font-size: 1.5em;
}
А вот как сочетается значение em, когда родительский элемент задан в процентах.
Очень часто можно встретить ситуацию, когда размер шрифта у html равен 62. Это магическое число появилось не просто так. Всё дело в том, что стандартный размер шрифта в браузере — 16 пикселей. А 62.5% от него равно 10 пикселям. Что крайне удобно для расчётов.
<div> <span> Здесь основной текст такой же, как в стандартных настройках браузера, <span>а эта фраза в 1.6 раз больше, чем основной текст</span>. </span></div>
<div>
<span>
Здесь основной текст такой же, как в стандартных настройках браузера,
<span>а эта фраза в 1.6 раз больше, чем основной текст</span>.
</span>
</div>
Теперь 1 em будет равен 10 px (62.5% от 16), а размер шрифта <span> будет 10 * 1.6 = 16px:
html { font-size: 62.5%;}span { font-size: 1.6em;}
html {
font-size: 62.5%;
}
span {
font-size: 1.6em;
}
Пример, где размер шрифта не зависит от родительского элемента, потому что мы задали его в rem.
<span> Теперь один контейнер находится <span>внутри другого</span>, но относительный размер текста больше не зависит от родительского элемента.</span>
<span>
Теперь один контейнер находится <span>внутри другого</span>, но относительный
размер текста больше не зависит от родительского элемента.
</span>
Размер 1em равен 16px, как в стандартных настройках браузера:
html { font-size: 100%;}span { font-size: 2rem;}
html {
font-size: 100%;
}
span {
font-size: 2rem;
}
И ещё три примера, как можно задать размер шрифта.
Текст параграфа будет очень большим:
p { font-size: xx-large;}
p {
font-size: xx-large;
}
Заголовок <h1> будет в 2.5 раза больше, чем текст вокруг него:
h1 { font-size: 250%;}
h1 {
font-size: 250%;
}
Размер текста внутри тега <span> будет равен 16px, независимо ни от чего:
span { font-size: 16px;}
span {
font-size: 16px;
}
Подсказки
Скопировано💡 Если не задать никакое значение font, то браузер использует размер по умолчанию. Обычно это 16px.
💡 У font не бывает отрицательных значений.
💡 Размер шрифта наследуется.
На практике
Скопированосоветует
Скопировано🛠 Для использования относительных единиц измерения — em, rem или проценты — нужно чётко понимать, от чего будет отсчитываться 1 единица. На начальном этапе я бы не советовала использовать эти единицы для размера шрифта. Велика вероятность, что вы запутаетесь в вычислениях.
🛠 Если в вёрстке используются строчно-блочные (inline) элементы, то не забывай задавать родителю свойство font со значением 0.
Между строчно-блочными (inline) элементами, как и между словами в тексте, есть небольшие отступы — пробелы. Устанавливайте размер шрифта в ноль чтобы эти отступы не влияли на положение вложенных элементов и можно было получить более ожидаемый результат от задания внешних отступов.
🛠 Единицы измерения pt не используются в вёрстке веба. Эта единица измерения возникла ещё во времена вёрстки печатной продукции, например, газет.
Сперва она перекочевала в Фотошоп, к дизайнерам. Многие из них также перешли из печатки в веб. По инерции эта единица просочилась и в CSS, но свою логическую составляющую она потеряла. Совершенно не понятно что принимать за пункт в вебе. Гораздо логичнее оперировать пикселями — точками на экране.