Html размер шрифта: Тег | htmlbook.ru

Содержание

font-size — CSS — Дока

Кратко

Скопировано

Используй это свойство, чтобы задать размер текста.

Примеры

Скопировано

Размер шрифта в абзаце будет равен 14 пикселям:

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

Как пишется

Скопировано

Вот какие значения можно задать:

  • em — относительная единица, которая определяется по родительскому элементу. 1em — это стандартный размер текста, который установлен в браузере. Обычно он равен 16px. Соответственно, 2em будут равны 32px, а 0.5em8px. Если задаёшь 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>  Размер этого текста в 1.5 раза больше, чем стандартный размер вашего браузера,  <span>    а этот текст в 1.5 раза больше, чем в родительском контейнере.  </span></div>
          <div>
  Размер этого текста в 1.5 раза больше, чем стандартный размер вашего браузера,
  <span>
    а этот текст в 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. 5%. Это магическое число появилось не просто так. Всё дело в том, что стандартный размер шрифта в браузере — 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;
}

Заголовок <h2> будет в 2.5 раза больше, чем текст вокруг него:

h2 {  font-size: 250%;}
          h2 {
  font-size: 250%;
}

Размер текста внутри тега <span> будет равен 16px, независимо ни от чего:

span {  font-size: 16px;}
          span {
  font-size: 16px;
}

Подсказки

Скопировано

💡 Если не задать никакое значение font-size, то браузер использует размер по умолчанию. Обычно это 16px.

💡 У font-size не бывает отрицательных значений.

💡 Размер шрифта наследуется.

На практике

Скопировано

Алёна Батицкая советует

Скопировано

🛠 Для использования относительных единиц измерения — em, rem или проценты — нужно чётко понимать, от чего будет отсчитываться 1 единица. На начальном этапе я бы не советовала использовать эти единицы для размера шрифта. Велика вероятность, что вы запутаетесь в вычислениях.

🛠 Если в вёрстке используются строчно-блочные (inline-block) элементы, то не забывай задавать родителю свойство font-size со значением 0.

Между строчно-блочными (inline-block) элементами, как и между словами в тексте, есть небольшие отступы — пробелы. Устанавливайте размер шрифта в ноль чтобы эти отступы не влияли на положение вложенных элементов и можно было получить более ожидаемый результат от задания внешних отступов.

🛠 Единицы измерения pt не используются в вёрстке веба. Эта единица измерения возникла ещё во времена вёрстки печатной продукции, например, газет.

Сперва она перекочевала в Фотошоп, к дизайнерам. Многие из них также перешли из печатки в веб. По инерции эта единица просочилась и в CSS, но свою логическую составляющую она потеряла. Совершенно не понятно что принимать за пункт в вебе. Гораздо логичнее оперировать пикселями — точками на экране.

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

Синтаксис

CSS 1

CSS 2‒2.2

CSS 3

font-size: <абсолютный-размер> | <относительный-размер> | <длина> | <проценты> | inherit;

Описание

Свойство font-size устанавливает размер шрифта

.

Применяется:ко всем элементам;
Наследование:отсутствует;
Проценты:относительно унаследованного размера шрифта;
Медиа:визуальные.

Условия использования

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

JavaScript

[объект].style.fontSize="[значение]";


Поддержка браузерами

Chrome

Поддерж.

Firefox

Поддерж.

Opera

Поддерж.

Maxthon

Поддерж.

IExplorer

Поддерж.

Safari

Поддерж.

iOS

Поддерж.

Android

Поддерж.


Спецификация

CSSРаздел
15.2.6 ‘font-size’Перевод
215.2.4 Font size: the ‘font-size’ and ‘font-size-adjust’ properties
2. 115.7 Font size: the ‘font-size’ propertyПеревод
2.215.7 Font size: the ‘font-size’ property
33.5 Font size: the font-size propertyПеревод


Значения

<абсолютный-размер>

Указывается ключевое слово, являющееся индексом в таблице размеров шрифтов. В CSS определены следующие ключевые слова абсолютного-размера:

xx-small
Устанавливает самый мелкий размер текста. (Эквивалентен HTML размеру шрифта равному «1» или размеру шрифта h6.)

font-size: xx-small;

x-small
Устанавливает мелкий размер текста, чуть больший чем «xx-small».

font-size: x-small;

small
Устанавливает маленький размер текста. (Эквивалентен HTML размеру шрифта равному «2» или размеру шрифта h5.)

font-size: small;

medium
устанавливает средний размер текста. (Эквивалентен HTML размеру шрифта равному «3» или размеру шрифта h5.)

font-size: medium;

large
Устанавливает крупный размер текста. (Эквивалентен HTML размеру шрифта равному «4» или размеру шрифта h4.)

font-size: large;

x-large
Устанавливает очень крупный размер текста. (Эквивалентен HTML размеру шрифта равному «5» или размеру шрифта h3.)

font-size: x-large;

xx-large
Устанавливает самый крупный размер текста.
(Эквивалентен HTML размеру шрифта равному «6» или размеру шрифта h2.)

font-size: xx-large;

<относительный-размер>

Указывается ключевое слово, которое интерпретируется относительно таблицы размеров шрифта и размера шрифта родительского элемента. В CSS определены следующие ключевые слова относительного-размера:

smaller
Уменьшает размер шрифта элемента относительно размера шрифта родительского элемента.

font-size: smaller;

larger
Увеличивает размер шрифта элемента относительно размера шрифта родительского элемента.

font-size: larger;

Прочие значения

<длина>
Указывает размер шрифта в определённых единицах измерения.

font-size: 28pt;

<проценты>
Указывает размер шрифта в процентах относительно базового значения. (За базовое значение принимается значение родительского элемента равное 100%.)

font-size: 190%;

inherit
Указывает, что элемент должен унаследовать параметры родительского элемента.

Начальное значение: «medium».


Пример использования

Листинг кода

<!DOCTYPE html>
<html>
<head>
<meta charset=»utf-8″>
<title>Свойство font-size</title>
<style type=»text/css»>
.abs { font-size: x-small; }
.em { font-size: 0.75em; }

.px { font-size: 25px; }
.in { font-size: 0.5in; }
.pt { font-size: 18.8pt; }
.pc { font-size: 0.8pc; }
.per { font-size: 59%; }
</style>
</head>
<body>
<h2>Размер шрифта</h2>
<p>Случайные размеры: <span>x-small</span> | <span>0. 75em</span> | <span>25px</span> | <span>0.5in</span> | <span>18.8pt</span> | <span>0.8pc</span> | <span>59%</span>.</p>
</body>
</html>

Свойство font-size

Размер шрифта CSS Свойство

❮ Пред. Следующий ❯

Свойство font-size определяет размер шрифта текста.

Размер шрифта можно определить следующими способами:

  • абсолютный размер
  • относительный размер
  • длина
  • процентов

Абсолютный размер шрифта включает следующие значения:

  • хх-маленький
  • х-маленький
  • маленький
  • маленький
  • x-большой
  • xx-большой

Относительный размер шрифта включает следующие значения:

  • меньше
  • больше

Длины могут быть относительными (em, ex, px) и абсолютными (in, cm, mm, pt, pc). Проценты задают абсолютный размер шрифта относительно размера шрифта родительского элемента.

 размер шрифта: средний | хх-маленький | х-маленький | маленький | большой | х-большой | х-большой | меньше | больше | длина | начальная | наследовать; 

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

 

  <голова>
    Название документа
    <стиль>
      ч2 {
        размер шрифта: 24pt;
      }
      h4 {
        размер шрифта: 26px;
      }
      п {
        размер шрифта: 1em;
      }
      а {
        размер шрифта: 100%;
      }
      охватывать {
        размер шрифта: x-маленький;
      }
    
  
  <тело>
    Этот диапазон записывается со значением x-small.
    

Этот абзац написан шрифтом размером 1em.

Эта гиперссылка написана со 100% размером шрифта.

Для этого заголовка мы использовали размер шрифта x-small.

Для этого заголовка мы установили размер шрифта 24pt.

Попробуй сам »

Результат

Значения в процентах относятся к размеру шрифта родительского элемента. Код ниже показывает его использование:

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

 

  <голова>
    Название документа
    <стиль>
      h4 {
        размер шрифта: 125%;
      }
    
  
  <тело>
     

Для этого заголовка мы использовали размер шрифта x-small.

Этот диапазон записывается со значением x-small.

Этот абзац написан шрифтом размером 1em.

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

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

 

  <голова>
    Название документа
    <стиль>
      .контейнер {
        размер шрифта: 16px;
      }
      п {
        размер шрифта: 2em;
      }
      h3 {
        размер шрифта: 3em;
      }
    
  
  <тело>
    <дел>
       

Вот заголовок

Вот текст.

Попробуй сам »

В случае использования модуля rem размер шрифта зависит от значения HTML-элемента. В приведенном ниже примере единица rem наследуется от HTML-элемента, поэтому она равна 24px. Таким образом, заголовок будет иметь размер шрифта 24 пикселя, потому что 1,5×16 = 24 пикселя.

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

 

  <голова>
    Название документа
    <стиль>
      HTML {
        размер шрифта: 16px;
      }
      h3 {
        размер шрифта: 1. 5rem;
      }
    
  
  <тело>
    <дел>
       

Вот заголовок

Вот текст.

Попробуй сам »

В случае единицы ex 1ex равно рассчитанной высоте буквы x элемента HTML. В приведенном ниже примере кода элемент HTML имеет размер 15 пикселей. Высота x этого конкретного шрифта будет определять все остальные размеры шрифта.

 .exunit {
  размер шрифта: 15ex;
} 

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

  • 1vw = 1% ширины области просмотра
  • 1vh = 1% высоты области просмотра
 .просмотр {
  размер шрифта: 120vh;
} 

Пример свойства font-size со значением «длина»:

 

  <голова>
    Название документа
    <стиль>
      охватывать {
        цвет: зеленый;
        размер шрифта: 2vh;
      }
      п {
        красный цвет;
        размер шрифта: 1em;
      }
      . длина {
        оранжевый цвет;
        размер шрифта: 30px;
      }
      h4 {
        цвет: голубой;
        размер шрифта: 3ex;
      }
      ч2 {
        цвет: фиолетовый;
        размер шрифта: 24pt;
      }
      а {
        цвет синий;
        размер шрифта: 120%;
      }
    
  
  <тело>
     

Свойство размера шрифта

Этот текст написан шрифтом размером 2vh.

Этот абзац написан шрифтом размером 1em.

Пример с размером шрифта 30 пикселей

Пример с размером шрифта 3ex.

Для этого заголовка мы установили размер шрифта 24pt.

Эта гиперссылка написана со 100% размером шрифта.

Попробуй сам »

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

 

  <голова>
    Название документа
    <стиль>
      .font-xxsmall {
        цвет: серый;
        размер шрифта: xx-маленький;
      }
      . шрифт-xsmall {
        цвет: серый;
        размер шрифта: x-маленький;
      }
      .шрифт-маленький {
        цвет: серый;
        размер шрифта: маленький;
      }
      .fontSize-средний {
        цвет: серый;
        размер шрифта: средний;
      }
      .шрифт-большой {
        цвет: серый;
        размер шрифта: большой;
      }
      .шрифт-xlarge {
        цвет: серый;
        размер шрифта: x-большой;
      }
      .font-xxlarge {
        цвет: серый;
        размер шрифта: xx-крупный;
      }
    
  
  <тело>
     

Свойство размера шрифта

Пример со свойством размера шрифта xx-small
Пример со свойством размера шрифта x-small
Пример с малым свойством размера шрифта
Пример со свойством среднего размера шрифта
Пример со свойством большого размера шрифта
Пример со свойством размера шрифта x-large
Пример со свойством font-size xx-large

Попробуй сам »

Пример свойства font-size с параметром «меньше» и «большие» значения:

 

  <голова>
    Название документа
    <стиль>
      . меньше {
        красный цвет;
        размер шрифта: меньше;
      }
      .больше {
        красный цвет;
        размер шрифта: больше;
      }
    
  
  <тело>
     

свойство размера шрифта

Пример со свойством меньшего размера шрифта
Пример со свойством большего размера шрифта

Попробуй сам »


Практикуйте свои знания

Каков правильный синтаксис CSS для установки размера шрифта всех тегов

в 16 пикселей?

р {размер шрифта: 16px;} р {размер текста: 16px;} р {размер: 16px;}

Успех!

Неверно! Ты не правильно понял!

Трюк с размером шрифта 62,5%

Обновление от 26.06.2022 : Первоначально в этой статье объединились две темы: почему вы должны использовать rems для изменения размера шрифта и как работает трюк с размером шрифта 62,5%. Я опубликовал первое отдельно: «Используйте Rems для размера шрифта, чтобы уважать предпочтения пользователя».

Как только вы привыкнете мыслить в rems, вы обнаружите, что на самом деле довольно легко выразить знакомые степени двойки в виде дробей 16 , основного размера шрифта каждого браузера. Но если вам нужно выразить какое-либо другое значение в бэрах — например, нечетные числа или очень большие числа — вам придется выполнить математические расчеты вручную, преобразовать их с помощью CSS calc или использовать препроцессор, такой как Sass. Как вариант, можно облегчить себе жизнь, используя хитрость с корневым размером шрифта 62,5%.

Пропустить оглавление

Table of Contents

Многие проекты и кодовые базы используют кратные двойке интервалы и масштабы шрифта (обычно для удобства и даже делимости). Так как 16 оказывается кратным двум, довольно просто преобразовать значение четного пикселя в rems: 8px равно 0.5rem , 4px вдвое меньше ( 0.25rem ) и так далее, вплоть до 1px ( 0. 125rem ).

Немного сложнее, если вам нужно использовать rems для выражения больших чисел или нечетных значений. Например, 5px в остатках это 0.3125rem . Это не то же самое, что супер , который сложно обрабатывать вручную, но он становится немного более сложным. Вместо этого было бы неплохо, если бы мы могли мыслить пикселями, а также пользоваться преимуществами использования rems.

Люди лучше думают десятками, так как мы знакомы с десятичной системой счисления (с основанием 10). Если бы 1rem были равны 10px в какой-то альтернативной реальности, мы могли бы легко перевести любое количество пикселей в rems, разделив его на 9.0126 10 . Таким образом, 12px будет выражено как 1.2rem , 24px будет 2.4rem и так далее. Нам больше не нужно делить на 16 .

Но размер корневого шрифта браузеров не 10px — это 16px ! Итак, как мы можем сделать корневым размером шрифта 10px ? Что ж, один из способов сделать это — установить размер корневого шрифта в пикселях:

 html {
  размер шрифта: 10 пикселей;
}
 

Забудьте об этом подходе — не используйте пиксели для размера шрифта! Хотя это действительно работает, оно также блокирует пользователей жестко заданным корневым размером шрифта 10px . Если они позже изменят настройки размера шрифта в настройках своего браузера, размер корневого шрифта на вашем сайте не будет обновлен. В другой моей статье, указанной выше, более подробно рассказывается о том, почему это так важно, но достаточно сказать, что это недоступно.

Наш единственный другой вариант — использовать проценты (хотя технически мы могли бы также использовать эм с). Поскольку 10px составляет 62,5% от 16px , мы можем установить размер корневого шрифта в следующем проценте:

 html {
  /* 62,5% размера шрифта браузера 16px составляет 10px */
  размер шрифта: 62,5%;
}
.какой-то элемент {
  /* 1,2 * 10 пикселей = 12 пикселей */
  размер шрифта: 1.2rem;
}
 

Если бы мы просто остановились здесь, текст на нашей странице был бы неразборчиво мал и имел бы всего 10px . Мы можем исправить это, установив размер шрифта нашего тела равным 1.6rem , что вернет нас обратно к эффективному размеру шрифта 9. 0126 16px для всего видимого текста на странице:

 html {
  /* 10 пикселей */
  размер шрифта: 62,5%;
}
тело {
  /* 16 пикселей */
  размер шрифта: 1.6rem;
}
 

В этот момент у вас могут возникнуть подозрения. Мы уменьшили размер основного шрифта, но затем снова увеличили его для основного текста — разве это не противоречит самой цели уменьшения размера основного шрифта в первую очередь?

Важно понимать, что размер корневого шрифта (в элементе html ) не обязательно должен совпадать с размером шрифта в корпус элемент. В данном случае у нас есть корневой размер шрифта 10px , потому что мы масштабировали размер шрифта html до 62,5% от размера шрифта браузера, но мы сделали это исключительно для удобства перевода пикселей в rems. Размер основного шрифта — всего видимого текста на странице — по-прежнему уменьшен до эффективного размера шрифта 16px , чтобы он соответствовал размеру шрифта браузера.

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

 12 пикселей в бэрах: 12 / 16 = 0,75 бэр
 

Но здесь мы можем выразить 12 как кратное 10 без изменения уравнения:

 12px в бэрах: (1,2 × 10) / 16 = 0,75 бэр
 

Затем мы можем сгруппировать 10 с 16 и упростить эту дробь:

 Сгруппировано: 1,2 × (10/16) = 0,75 бэр
Упрощенно: 1,2 × 0,625 = 0,75 бэр
 

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

Короче говоря, трюк с 62,5% просто упрощает выражение пикселей в бэрах.

Это доступно?

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

Вспомним, что мы установили размер основного шрифта 1.6rem . Итак, у нас действительно есть это уравнение:

 размер шрифта html = 62,5% размера шрифта браузера (0,625)
размер основного шрифта = 0,625 × 1,6rem = 1 (т. е. 100% размера шрифта браузера)
 

Обратите внимание, что нам абсолютно все равно, какой размер шрифта в браузере. Поскольку 1,6 и 0,625 являются обратными значениями друг друга, они сокращаются в этом уравнении, каждый раз давая размер шрифта браузера. Наш CSS всегда будет учитывать предпочтения пользователя по размеру шрифта.

Я часто видел в Интернете дебаты о трюке с размером шрифта 62,5%, например, в ответ на этот спорный твит от аккаунта CSS Tricks. Большинство аргументов против этого утверждают, что вы никогда не должны изменять размер корневого шрифта, потому что это вредит доступности. это было бы истинным, если бы мы не увеличили размер основного шрифта обратно до 1. 6rem .

Пример: пользователь предпочитает больший размер шрифта

Давайте рассмотрим пример. Предположим, что у нас есть такой CSS:

 html {
  размер шрифта: 62,5%;
}
тело {
  размер шрифта: 1.6rem;
}
ч2 {
  размер шрифта: 4.8rem;
}
 

Теперь предположим, что пользователь заходит в настройки своего браузера и устанавливает предпочитаемый размер шрифта 20px . Создает ли это какие-то проблемы для нас? Давайте посмотрим, как сработает математика для основного текста:

 Размер шрифта браузера: 20 пикселей
размер шрифта html: 0,625 × 20 пикселей = 12,5 пикселей
Размер основного шрифта: 1,6 рем = 1,6 × 12,5 пикселей = 20 пикселей.
 

Размер основного шрифта соответствует размеру шрифта браузера, как и ожидалось.

Как насчет заголовка 4,8rem размера ? После того, как пользователь установит базовый размер шрифта 20px , этот заголовок будет иметь вычисленный размер шрифта 60px :

 Размер шрифта заголовка = 12,5px × 4,8rem = 60px
 

Это может показаться странным, так как мы на самом деле хотели 4. 8rem равно 48px , но помните: это верно только тогда, когда мы предполагаем, что размер корневого шрифта равен 16px , что здесь не так. Если пользователь увеличивает предпочитаемый размер шрифта, все размеры шрифтов на основе rem будут увеличиваться пропорционально. Таким образом, в этом случае на самом деле хорошо размер шрифта заголовка равен 60px , потому что это означает, что соотношение между размером h2 и размером шрифта браузера было сохранено:

 Раньше: 48px ÷ 16px = 3
После: 60px ÷ 20px = 3
 

Непонятно только одно: почему 62,5% изначально было выбрано для этого трюка преобразования. Конечно, это упрощает математику, потому что теперь мы делим на 10 вместо 16 всякий раз, когда хотим выразить пиксели в бэрах, но зачем останавливаться на достигнутом? Например, мы могли бы сделать 1rem эквивалентным 1px , если бы мы установили размер нашего корневого шрифта на 6,25% , что совпадает с 1/16 ( 0,0625 ).