W3docs

Свойство CSS font-size

Свойство font-size задаёт размер шрифта и используется при вычислении единиц em, ex и других относительных единиц <length>.

Свойство CSS font-size определяет размер текста. Это одно из наиболее используемых типографских свойств, и поскольку такие единицы, как em, ex и %, вычисляются относительно него, выбранное значение также влияет на размер других элементов, которые от него зависят.

На этой странице рассмотрены все способы задать размер шрифта — ключевые слова, длины и проценты, — объясняется, как вычисляются относительные единицы (em, rem, ex, vw/vh), и показано, какой подход выбрать в том или ином случае.

Способы задать размер шрифта

Существует четыре основных способа задать font-size:

  • absolute-size — фиксированное ключевое слово из встроенной шкалы.
  • relative-size — ключевое слово, которое увеличивает или уменьшает унаследованный размер.
  • length — конкретное число с единицей измерения.
  • percentage — значение относительно размера шрифта родительского элемента.

Ключевые слова absolute-size соответствуют фиксированной шкале, определённой браузером:

  • xx-small
  • x-small
  • small
  • medium (начальное значение)
  • large
  • x-large
  • xx-large

Ключевые слова relative-size увеличивают или уменьшают размер относительно унаследованного значения:

  • smaller
  • larger

Длины могут быть относительными (em, ex, rem, ch, vw, vh, px) или абсолютными (in, cm, mm, pt, pc). Процент задаёт размер шрифта относительно размера шрифта родительского элемента — 150% означает полтора размера родителя.

Что выбрать?

  • Используйте rem для большинства текстов. Это значение масштабируется вместе с настройкой размера шрифта в браузере пользователя (хорошо для доступности) и остаётся предсказуемым, поскольку всегда привязано к корневому элементу, а не к родителю.
  • Используйте em, если хотите, чтобы отступы компонента или дочерний текст масштабировались вместе с собственным размером шрифта компонента.
  • Избегайте пиксельных (px) значений для текста тела, если важна доступность: фиксированные пиксели игнорируют предпочтительный размер по умолчанию, заданный пользователем.
Начальное значениеmedium
Применяется кВсем элементам. Также применяется к ::first-letter и ::first-line.
НаследуетсяДа.
АнимируетсяДа.
ВерсияCSS1
DOM Синтаксисobject.style.fontSize = "15px";

Синтаксис

Синтаксис свойства CSS font-size

font-size: medium | xx-small | x-small | small | large | x-large | xx-large | smaller | larger | length | initial | inherit;

Пример свойства font-size:

Пример свойства CSS font-size со значениями px, em, pt, x-small и % (проценты)

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      h1 {
        font-size: 24pt;
      }
      h3 {
        font-size: 26px;
      }
      p {
        font-size: 1em;
      }
      a {
        font-size: 100%;
      }
      span {
        font-size: x-small;
      }
    </style>
  </head>
  <body>
    <span>This span is written with x-small value.</span>
    <p>This paragraph is written with 1em font-size.</p>
    <a href="https://www.w3docs.com/">This hyperlink is written with 100% font-size.</a>
    <h3>We used x-small font size for this heading.</h3>
    <h1>We set the font size 24pt  for this heading.</h1>
  </body>
</html>

Результат

Свойство CSS font-size

Использование процентных значений

Процентные значения задаются относительно font-size родительского элемента. В примере ниже заголовок составляет 125%, то есть отображается с размером в одну четверть больше унаследованного размера шрифта тела:

Пример свойства font-size, заданного в процентах:

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      h3 {
        font-size: 125%;
      }
    </style>
  </head>
  <body>
    <h3>This heading is 125% of the body font size.</h3>
    <span>This span uses the default (inherited) size.</span>
    <p>This paragraph uses the default (inherited) size.</p>
  </body>
</html>

Использование единицы em

Единица em считается относительной. Она основывается на вычисленном значении font-size родительского элемента. В коде ниже абзац будет иметь размер 32px, поскольку 2×16=32, а заголовок — 48px, поскольку 3×16=48px. Этот метод очень удобен, так как позволяет быть уверенным, что все дочерние элементы всегда будут масштабироваться относительно друг друга.

Пример свойства font-size со значением "em":

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      .container {
        font-size: 16px;
      }
      p {
        font-size: 2em;
      }
      h2 {
        font-size: 3em;
      }
    </style>
  </head>
  <body>
    <div class="container">
      <h2>Here is the heading</h2>
      <p>Here is the text.</p>
    </div>
  </body>
</html>

Использование единицы rem

При использовании единицы rem размер шрифта всегда задаётся относительно корневого элемента <html>, независимо от глубины вложенности элемента. В примере ниже корневой элемент имеет размер 16px, поэтому заголовок составляет 1.5rem = 1,5 × 16 = 24px. Поскольку каждый rem привязан к одному и тому же корневому значению, вы избегаете проблемы накопления, которую могут вызывать единицы em внутри вложенных элементов.

Пример свойства font-size со значением "rem":

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      html {
        font-size: 16px;
      }
      h2 {
        font-size: 1.5rem;
      }
    </style>
  </head>
  <body>
    <div class="container">
      <h2>Here is the heading</h2>
      <p>Here is the text.</p>
    </div>
  </body>
</html>

Использование единицы ex

При использовании единицы ex значение 1ex равно x-height — высоте строчной буквы «x» — текущего шрифта элемента. Поскольку x-height различается от шрифта к шрифту, размер на основе ex зависит от используемого шрифта, что делает его менее предсказуемым, чем em или rem. В примере ниже размер текста задан в 15 раз больше x-height.

Свойство CSS font-size

.exunit {
  font-size: 15ex;
}

Использование единиц viewport

Единицы viewport (vw и vh) используются для задания размера шрифта элемента относительно размера viewport.

  • 1vw = 1% ширины viewport
  • 1vh = 1% высоты viewport

Свойство CSS font-size

.viewport {
  font-size: 120vh;
}

Пример свойства font-size со значением "length":

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      span {
        color: green;
        font-size: 2vh;
      }
      p {
        color: red;
        font-size: 1em;
      }
      .length {
        color: orange;
        font-size: 30px;
      }
      h3 {
        color: lightblue;
        font-size: 3ex;
      }
      h1 {
        color: purple;
        font-size: 24pt;
      }
      a {
        color: blue;
        font-size: 120%;
      }
    </style>
  </head>
  <body>
    <h2>Font-size property</h2>
    <span>This text is written with 2vh font-size.</span>
    <p>This paragraph is written with 1em font-size.</p>
    <div class="length">Example with 30px font-size length </div>
    <h3>Example with 3ex font-size length.</h3>
    <h1>We set the font size 24pt  for this heading.</h1>
    <a href="https://www.w3docs.com/">This hyperlink is written with 100% font-size.</a>
  </body>
</html>

Пример свойства font-size с абсолютными значениями:

Пример свойства font-size (absolute-size):

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      .font-xxsmall {
        color: grey;
        font-size: xx-small;
      }
      .font-xsmall {
        color: grey;
        font-size: x-small;
      }
      .font-small {
        color: grey;
        font-size: small;
      }
      .font-medium {
        color: grey;
        font-size: medium;
      }
      .font-large {
        color: grey;
        font-size: large;
      }
      .font-xlarge {
        color: grey;
        font-size: x-large;
      }
      .font-xxlarge {
        color: grey;
        font-size: xx-large;
      }
    </style>
  </head>
  <body>
    <h1>Font-size property</h1>
    <div class="font-xxsmall">Example with font-size xx-small property</div>
    <div class="font-xsmall">Example with font-size x-small property</div>
    <div class="font-small">Example with font-size small property</div>
    <div class="font-medium">Example with font-size medium property</div>
    <div class="font-large">Example with font-size large property</div>
    <div class="font-xlarge">Example with font-size x-large property</div>
    <div class="font-xxlarge">Example with font-size xx-large property</div>
  </body>
</html>

Пример свойства font-size со значениями "smaller" и "larger":

Пример свойства font-size со значениями "smaller" и "larger":

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      .smaller {
        color: red;
        font-size: smaller;
      }
      .larger {
        color: red;
        font-size: larger;
      }
    </style>
  </head>
  <body>
    <h1>font-size property</h1>
    <div class="smaller">Example with font-size smaller property</div>
    <div class="larger">Example with font-size larger property</div>
  </body>
</html>

Значения

ЗначениеОписаниеПопробуйте
mediumУстанавливает font-size в medium. Это значение по умолчанию.Попробуйте »
xx-smallУстанавливает font-size в xx-small.Попробуйте »
x-smallУстанавливает font-size в x-small.Попробуйте »
smallУстанавливает font-size в small.Попробуйте »
largeУстанавливает font-size в large.Попробуйте »
x-largeУстанавливает font-size в x-large.Попробуйте »
xx-largeУстанавливает font-size в xx-large.Попробуйте »
smallerУменьшает font-size.Попробуйте »
largerУвеличивает font-size.Попробуйте »
lengthЗадаёт font-size в px, em и т.д.Попробуйте »
%Устанавливает font-size в процентах от размера шрифта родительского элемента.Попробуйте »
initialУстанавливает свойство в значение по умолчанию.Попробуйте »
inheritНаследует свойство от родительского элемента.

Связанные свойства

Для управления остальной типографикой элемента сочетайте font-size со следующими свойствами:

  • font-family — выбор гарнитуры шрифта.
  • font-weight — насыщенность (жирность) текста.
  • font-style — курсивное или наклонное начертание.
  • line-height — управление вертикальным расстоянием между строками.
  • font — сокращённое свойство, задающее сразу несколько из них.

Практика

Практика
Какие единицы можно использовать для задания свойства 'font-size' в CSS?
Какие единицы можно использовать для задания свойства 'font-size' в CSS?
Was this page helpful?