Меняем размер текста CSS-стилями
Добавляя на страницы сайта какой-то текст, мы обязательно сталкиваемся с необходимостью оформления текста в соответствии с общим дизайном. Одним из основных параметров, влияющих на читабельность и восприятие текста, является его размер.
В этой статье я хочу с вами поговорить о том, как можно изменить размер текста css-свойствами, и какие единицы измерения можно для этого использовать.
Навигация по статье:
- Как изменить размер текста CSS-стилями
- Как изменить размер текста в HTML

Как изменить размер текста CSS-стилями
Для изменения параметров в таблице стилей css существует специализированное свойство font-size, используя которое можно задать размер текста css-стилями в любых, удобных для вас единицах измерения. При этом можно использовать абсолютные и относительные единицу измерения.
font-size : 20px ;
Размер текста CSS
При указании параметра в абсолютных единицах, его величина не будет меняться относительно значения родительского элемента.
К таким единицам измерения относятся:
Кроме этого можно использовать ключевые слова:
Наиболее распространённой абсолютной единицей измерения шрифта является пиксель (px). Все остальные единицы используются редко, но при желании вы можете использовать и их.
При использовании относительных единиц, таких как: %, em, rem, размер шрифта в CSS будет рассчитываться относительно родительского элемента.
То есть при изменении шрифта родительского элемента шрифт в блоке будет так же увеличиваться или уменьшаться.
font-size: 2em;
Также расчёт размера шрифта может осуществляться относительно ширины или высоты области просмотра.
Для этого можно воспользоваться такими единицами измерения как:
- 1vw – 1% от ширины области просмотра
- 1vh – 1% от высоты области просмотра
- 1vmin — 1% от меньшей стороны окна браузера
- 1vmax — 1% от большей стороны окна браузера
Кроме того, так же можно указать размер шрифта CSS ключевым словом в относительном выражении: larger, smaller.
font-size: larger;
При использовании такого CSS-свойства шрифт будет более крупным чем в родительском блоке.
При использовании smaller – шрифт будет меньше чем родительском блоке.
Как изменить размер текста в HTML
Если вам нужно выделить одно слово или фрагмент текста, то, конечно же, это проще всего сделать в html-коде, используя атрибут style.
Вот так это будет выглядеть на примере:
Css размер текста html: font-size | htmlbook.ru
Свойство font-size CSS позволяет указывать размер текста . Оно влияет не только на шрифт, к которому применяется, но и используется для вычисления единиц измерения em, rem и ex.
font-size CSS может принимать в качестве значений ключевые слова, единицы измерения или процентное соотношение. Важно отметить, что в рамках применения сокращенного свойства font, font-size является обязательным значением. Если его не указать, то вся строка кода будет игнорироваться.
Значения длины (px, em, rem, ex и т. д.), используемые в свойстве font-size, не могут быть отрицательными.
- Абсолютные ключи и значения
- Относительные ключевые обозначения
- Процентные обозначения
- Единица измерения em
- Единица измерения rem
- Единица измерения ex
- Единицы изменения viewport (окно просмотра)
- Единица измерения ch
. element < font-size: small; >>
Свойство, которое устанавливает размер текста CSS, принимает следующие ключевые слова:
- xx-small;
- x-small;
- small;
- medium;
- large;
- x-large;
- xx-large.
Эти обозначения определяют относительный размер текста CSS, вычисляемый браузером. Но вы также можете использовать два ключевых значения, которые вычисляются относительно размера шрифта, указанного в родительском элементе.
Среди других абсолютных значений можно выделить mm (миллиметры), cm (сантиметры), in (дюймы), pt (пункты) и pc (пики). Один pt равен 1/72 дюйма, или одна пика равна 12 пунктам. Обычно эти единицы используются в печатных документах.
.element
- larger;
- smaller.
Например, если свойство font-size у родительского элемента имеет значение small, то у дочернего элемента с относительным значением larger размер текста HTML CSS будет больше.
. element
Процентные значения, как font-size со значением 110%, также являются относительными, и зависят от размера шрифта, указанного в родительском элементе. Предлагаем вам взглянуть на демо.
.element
Единица измерения em является относительной, и вычисляется в зависимости от CSS размера текста в родительском элементе. Это означает, что дочерние элементы всегда зависят от родительских. Например:
Заголовок
Какой-нибудь текст
.container < font-size: 16px; >p < font-size: 1em; >h3

В приведенном выше примере у абзаца будет установлено значение font-size 16px, так как 1 x 16 = 16px, а в качестве размера текста HTML CSS заголовка будет использоваться 32px, так как 2 x 16 = 32px. Есть некоторое преимущество в том, чтобы указывать размер, ориентируясь на родительский элемент. Так мы можем оборачивать элементы в контейнеры и быть уверенными в том, что все дочерние элементы всегда будут относительны друг другу:
Что касается единиц измерения rem, то здесь font-size всегда зависит от значения корневого элемента (или элемента html).
html < font-size: 16px; >p
В приведенном выше примере rem равен 16px (так как это значение наследуется у html-элемента) и, следовательно, размер текста CSS для всех элементов paragraph будет составлять 24px (1.5 x 16 = 24). В отличие от em-единиц параграф будет игнорировать стилизацию всех родительских элементов, кроме корневого.
Эта единица измерения поддерживается следующими браузерами:
| Chrome | Safari | Firefox | Opera | IE | Android | iOS |
| Работает | Работает | Работает | Работает | 10+ | Работает | Работает |
. element
1ex равен высоте строчной буквы x в используемом шрифте. В примере, приведенном ниже, html-элемент установлен на 20px, а все остальные размеры определяются высотой x определенного шрифта.
Поэкспериментируйте с приведенным выше демо, заменяя семейства шрифтов в html-элементе и таким образом изменяя размер текста CSS.
.element-one < font-size: 100vh; >.element-two < font-size: 100vw; >.
Viewport-единицы, такие как vw и vh, позволяют устанавливать размер шрифта относительно длины или ширины окна просмотра:
- 1vw = 1% от ширины окна просмотра;
- 1vh = 1% от высоты окна просмотра.
То есть, если мы посмотрим на следующий пример:
.element < font-size: 100vh; >>
то увидим, что размер текста CSS всегда должен находиться на отметке в 100% ширины окна просмотра (50vh будет означать 50%, 15vh — 15% и так далее). В приведенном ниже демо попробуйте изменить высоту, и посмотрите, как растягивается шрифт:

vw-единицы отличаются тем, что позволяют указывать высоту символов, руководствуясь шириной окна просмотра. В приведенном ниже демо вам нужно будет изменить ширину окна браузера, чтобы увидеть изменения:
Эти единицы измерения поддерживаются следующими браузерами:
| Chrome | Safari | Firefox | Opera | IE | Android | iOS |
| 31+ | 7+ | 31+ | 27+ | 9+ | 4.4+ | 7.1+ |
В нашем распоряжении имеются еще две единицы измерения, основанные на размере окна просмотра. Первая позволяет вычислять значения vh и vw, и устанавливать свойству font-size минимальное значение, а vmax позволяет определить и установить, наоборот, максимальное значение.
Единица измерения ch чем-то похожа на ex, и позволяет устанавливать размер текста CSS относительно нулевой ширины глифа:
Эта единица измерения поддерживается следующими браузерами:
Валентин Сейидовавтор-переводчик статьи «Font-size»
размер текста и его трансформация

Размер текста имеет значение для оптимального восприятия информации посетителем. Многообразие браузеров и устройств отображения веб-ресурсов предъявляют требование адаптивной верстки. Идеи дизайнера могут апеллировать к трансформации текста для удобства его размещения или прочтения.
Во всех практических ситуациях, размещение текста на HTML-странице, его ориентация, трансформация, выбор шрифта и размеры играют важную роль для внешнего вида страницы, комфорта посетителя и рейтинга сайта.
Базовые правила CSS для текста
Основные теги HTML, в которых размещается текст: div и span. Эти элементы — основные, но не единственные кирпичики, из которых строится веб-страница. Можно указать размер текста в HTML и CSS. В первом случае используется атрибут тега style, во втором случае — правило стиля.
Размер текста задается через выбор шрифта и его размера. Кроме того, используются шрифты с различными размерами букв и строго пропорциональные шрифты, в которых, например, буква i занимает столько же места, сколько буква Ш.
Пример обычных правил:

- font-size: 14px;
- font-family: Arial.
Эти описания определяют через атрибут style тега или CSS: размер текста 14 пикселей, имя шрифта Arial. Такой вариант описания не привязывает элемент к родительскому, окну браузера или смежным элементам.
Простое описание каждого текстового элемента удобно, но занимает много места. Не всегда удобно использовать наследование описаний, но выделять общие правила и уточнять особенности каждого элемента — это классический, практичный и компактный стиль.
Использование значений таких правил через: %, em или rem и позволяет определять размер через изменение размера текста CSS — правила родительского элемента.
Стандарт CSS предлагает также ключевые слова: xx-small, x-small, small, medium, large, x-large и xx-large. Однако, разработчики чаще применяют удобное описание CSS: размер текста — это пиксель (px).
Трансформация текста

Правила CSS — не догма и не руководство к действию. Как ими манипулировать определяет разработчик. Большое значение здесь имеет опыт. Знания и умения, накопленные с течением времени, позволяют быстро и эффективно решать неординарные задачи.
Обычно размещение текста — забота координатора проекта, дизайнера, но не разработчика. Координатор и дизайнер могут не знать, что такое CSS и размер текста в практике кодирования.
Выбор разработчика определяет возможности по созданию нужного сайта, формированию нужного дизайна. Разработчик — это качество результата и время выполнения работы.
Возможности HTML и CSS
Динамика развития гипертекста — медленный и очень инерционный процесс. Практика создания сайтов — это значительно более высокая динамика. HTML5 и CSS3 — это масса новых возможностей, но иной разработчик может создать идеальную конструкцию правил и тегов по собственному опыту, без использования новых возможностей, и обеспечить идеальную работу веб-страницы в любых браузерах, на любых устройствах.

Браузер — это DOM (дерево объектов страницы) и язык программирования JavaScript. Создание современного сайта — это оптимальное сочетание HTML, CSS и JavaScript.
Идея просто использовать стандартные правила и решать только с их помощью, как изменить размер текста в CSS и его размещение средствами HTML, уже давно в прошлом. Интернет-программирование — это не инерционные стандарты гипертекста, это стремительное движение вперед. Важно накапливать опыт применения правил, создавать оптимальные знания и умения.
Порой тратить время на изучение новых возможностей HTML и CSS полезно, но еще более полезно переносить эти новые возможности на привычные «старые» конструкции. Это необходимо не столько на реальной практике, сколько нужно разработчику для создания опыта, который понадобится в будущем.
Тренировка ума — хорошая идея. Качественно разместить текст — это задача далеко не HTML и CSS. Это, прежде всего, содержание текста, его корректная формулировка, его фактический размер, распределение смысла и только затем — серия правил, которая идеально представит нужный смысл в нужном месте страницы посетителю.
Концентрация и формирование смысла

Никогда не было и никогда не будет объективных причин решать задачу так, как ее определил руководитель проекта, заказчик или иное лицо, управляющее работой разработчика.
Более того, координатору проекта, как и разработчику, следует понимать: правила CSS и размер текста — это совершенно разные понятия. Первое — это конструкция, в которую что-то как-то можно поместить. Второе — это динамика: до прихода посетителя (перемещения мышки) это один текст, одно содержание. В момент актуализации в нужном месте окна браузера должно появиться совсем другое содержание, совсем иной текст.
Если сознательно разделить нужные правила CSS, а размеры текста определить по моментам востребованности последнего, то сайт оживляется и дизайн приобретает динамичный стиль.
Открылась страница — посетитель увидел концентрацию смысла по категориям. Посетитель обратил внимание на определенное место веб-страницы, и она ответила взаимностью: раскрыла конкретный смысл актуализированной категории.
Живой сайт и динамичный смысл, чего больше желать посетителю? Разве что уважения к разработчику.
Как изменить размер шрифта в css
Свойство font-size — размер текста CSS

Свойство font-size CSS позволяет указывать размер текста . Оно влияет не только на шрифт, к которому применяется, но и используется для вычисления единиц измерения em , rem и ex .
font-size CSS может принимать в качестве значений ключевые слова, единицы измерения или процентное соотношение. Важно отметить, что в рамках применения сокращенного свойства font , font-size является обязательным значением. Если его не указать, то вся строка кода будет игнорироваться.
Значения длины ( px , em , rem , ex и т. д. ), используемые в свойстве font-size , не могут быть отрицательными.
Абсолютные ключи и значения
Свойство, которое устанавливает размер текста CSS, принимает следующие ключевые слова:
- xx-small ;
- x-small ;
- small ;
- medium ;
- large ;
- x-large ;
- xx-large .

Эти обозначения определяют относительный размер текста CSS , вычисляемый браузером. Но вы также можете использовать два ключевых значения, которые вычисляются относительно размера шрифта, указанного в родительском элементе.
Среди других абсолютных значений можно выделить mm ( миллиметры ), cm ( сантиметры ), in ( дюймы ), pt ( пункты ) и pc ( пики ). Один pt равен 1/72 дюйма, или одна пика равна 12 пунктам. Обычно эти единицы используются в печатных документах.
Относительные ключевые обозначения
- larger ;
- smaller .
Например, если свойство font-size у родительского элемента имеет значение small , то у дочернего элемента с относительным значением larger размер текста HTML CSS будет больше.
Процентные обозначения
Процентные значения, как font-size со значением 110%, также являются относительными, и зависят от размера шрифта, указанного в родительском элементе. Предлагаем вам взглянуть на демо.
Единица измерения em
Единица измерения em является относительной, и вычисляется в зависимости от CSS размера текста в родительском элементе. Это означает, что дочерние элементы всегда зависят от родительских. Например:

В приведенном выше примере у абзаца будет установлено значение font-size 16p x, так как 1 x 16 = 16px , а в качестве размера текста HTML CSS заголовка будет использоваться 32px , так как 2 x 16 = 32px . Есть некоторое преимущество в том, чтобы указывать размер, ориентируясь на родительский элемент. Так мы можем оборачивать элементы в контейнеры и быть уверенными в том, что все дочерние элементы всегда будут относительны друг другу:
Единица измерения rem
Что касается единиц измерения rem , то здесь font-size всегда зависит от значения корневого элемента ( или элемента html ).
В приведенном выше примере rem равен 16px ( так как это значение наследуется у html -элемента ) и, следовательно, размер текста CSS для всех элементов paragraph будет составлять 24px (1.5 x 16 = 24). В отличие от em-единиц параграф будет игнорировать стилизацию всех родительских элементов, кроме корневого.
Эта единица измерения поддерживается следующими браузерами:
| Chrome | Safari | Firefox | Opera | IE | Android | iOS |
| Работает | Работает | Работает | Работает | 10+ | Работает | Работает |
Единица измерения ex

1ex равен высоте строчной буквы x в используемом шрифте. В примере, приведенном ниже, html-элемент установлен на 20px , а все остальные размеры определяются высотой x определенного шрифта.
Поэкспериментируйте с приведенным выше демо, заменяя семейства шрифтов в html-элементе и таким образом изменяя размер текста CSS .
Единицы изменения viewport (окно просмотра)
Viewport-единицы , такие как vw и vh , позволяют устанавливать размер шрифта относительно длины или ширины окна просмотра:
- 1vw = 1% от ширины окна просмотра;
- 1vh = 1% от высоты окна просмотра.
То есть, если мы посмотрим на следующий пример:
то увидим, что размер текста CSS всегда должен находиться на отметке в 100% ширины окна просмотра ( 50vh будет означать 50%, 15vh — 15% и так далее ). В приведенном ниже демо попробуйте изменить высоту, и посмотрите, как растягивается шрифт:
vw-единицы отличаются тем, что позволяют указывать высоту символов, руководствуясь шириной окна просмотра. В приведенном ниже демо вам нужно будет изменить ширину окна браузера, чтобы увидеть изменения:
Эти единицы измерения поддерживаются следующими браузерами:
| Chrome | Safari | Firefox | Opera | IE | Android | iOS |
| 31+ | 7+ | 31+ | 27+ | 9+ | 4. 4+ |
7.1+ |
В нашем распоряжении имеются еще две единицы измерения, основанные на размере окна просмотра. Первая позволяет вычислять значения vh и vw , и устанавливать свойству font-size минимальное значение, а vmax позволяет определить и установить, наоборот, максимальное значение.
Единица измерения ch
Единица измерения ch чем-то похожа на ex , и позволяет устанавливать размер текста CSS относительно нулевой ширины глифа:
font-size
Определяет размер шрифта элемента. Размер может быть установлен несколькими способами. Набор констант ( xx-small , x-small , small , medium , large , x-large , xx-large ) задает размер, который называется абсолютным. По правде говоря, они не совсем абсолютны, поскольку зависят от настроек браузера и операционной системы.

Другой набор констант ( larger , smaller ) устанавливает относительные размеры шрифта. Поскольку размер унаследован от родительского элемента, эти относительные размеры применяются к родительскому элементу, чтобы определить размер шрифта текущего элемента.
В конечном итоге, размер шрифта сильно зависит от значения свойства font-size у родителя элемента.
Сам размер шрифта определяется как высота от базовой линии до верхней границы кегельной площадки, как показано на рис. 1.
Рис. 1. Размер шрифта
Синтаксис
font-size: абсолютный размер | относительный размер | значение | проценты | inherit
Значения
Для задания абсолютного размера используются следующие значения: xx-small , x-small , small , medium , large , x-large , xx-large . Их соответствие с размером шрифта в HTML приведено в табл. 1.
| CSS | xx-small | x-small | small | medium | large | x-large | xx-large |
|---|---|---|---|---|---|---|---|
| HTML | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
Относительный размер шрифта задается значениями larger и smaller .

Также разрешается использовать любые допустимые единицы CSS: em (высота шрифта элемента), ex (высота символа х), пункты ( pt ), пикселы ( px ), проценты ( % ) и др. За 100% берется размер шрифта родительского элемента. Отрицательные значения не допускаются.
inherit Наследует значение родителя.
HTML5 CSS2.1 IE Cr Op Sa Fx
Результат данного примера показан на рис. 1.
Рис. 2. Применение свойства font-size
Объектная модель
[window.]document.getElementById(» elementID «).style.fontSize
Браузеры
Internet Explorer до версии 7.0 включительно не поддерживает значение inherit .
CSS: Стиль и размер шрифта
Свойство font-style позволяет выделить текст курсивным, наклонным начертанием или наоборот придать тексту стандартный вид. Данное свойство имеет всего три значения:
- normal — стандартный текст, имеющий обычное начертание, то есть не курсивное и не наклонное
- italic — курсивное начертание
- oblique — наклонное начертание

Курсивные шрифты традиционно были стилизованными версиями шрифта, основанными на каллиграфии, в то время как наклонное начертание создавалось простым добавлением небольшого наклона символам. Большинство шрифтов не содержат набор курсивных символов, поэтому браузер зачастую использует алгоритм наклона для символов текста. Это означает, что во многих случаях вы не увидите разницы между значениями italic и oblique.
Размер шрифта
Изменение размера шрифта в элементе — хороший способ визуально выделить его и придать ему значимости, или наоборот показать, что данная информация не должна привлекать к себе повышенное внимание.
Для изменения размера шрифта используется свойство font-size. Существует несколько способов указать размер шрифта, рассмотрим наиболее распространенные из них:
Пиксели
Значения в пикселях используются часто, поскольку такой подход предоставляет очень точный контроль над размером. Числовое значение заканчивает буквенными символами px, которые должны следовать сразу после числа (между числом и px не должно быть пробела).
Проценты

По умолчанию размер шрифта в браузерах равен 16px. Таким образом, значение 100% соответствует 16px, а 200% — 32px. Если вы определите правило, задающее всему тексту внутри элемента значение 75% от размера по умолчанию (это будет соответствовать 12px), а затем определите еще одно правило, которое задает значение 75% для его дочернего элемента, то размер шрифта в этом элементе будет равен 9px (то есть 75% от 12px).
Единица измерения em позволяет изменить размер шрифта относительно размера шрифта в родительском элементе. Посколько по умолчанию размер шрифта в браузерах составляет 16px, то можно использовать правила, аналогичные тем, которые используются для значений в процентах.
В примере мы задали элементу размер шрифта 14px, а для всех элементов — 1.2em. Это означает, что размер шрифта заголовков второго уровня будет масштабирован с коэффициентом 1,2. В нашем случае размер всех заголовков будет составлять 1,2 размера шрифта элемента , что означает в 1,2 раза больше, чем 14px, и примерно равняется 17px. (На самом деле размер будет равняться 16,8, но большинство браузеров округлит его до 17.
)
Примечание: по сути проценты и em, это два разных способа для достижения одной и той же цели. Они оба дают возможность задать размер относительно размера шрифта родительского элемента.
Ключевые слова
CSS предлагает семь ключевых слов, которые позволяют назначить размер шрифта относительно размера по умолчанию (16px): xx-small, x-small, small, medium, large, x-large и xx-large.
Среднее значение medium — размер шрифта по умолчанию в браузерах. Остальные значения уменьшают или увеличивают размер шрифта с различными коэффециентами. Самый маленький размер шрифта xx-small равен примерно 9 пикселям, каждый последующий размер примерно на 20% больше предыдущего:
Ваш сброс CSS требует настройки размера текста (вероятно)
Ваш сброс CSS требует настройки размера текста (вероятно)
CSS и HTML, 7 января 2022 г., 5 минут чтения

В настоящее время у меня не так много новых сайтов, но недавно у меня появилась возможность создать один с нуля. Для большинства сайтов, которые я создавал, когда еще руководил агентством, я использовал ту или иную форму сброса CSS, чаще всего Normalize.css, но я полагал, что на этот раз я мог бы обойтись несколькими основными элементами, такими как изменение размера поля и сброс полей на тело, и на этом закончим.
Поскольку в настоящее время браузеры довольно последовательны, когда дело доходит до основных стилей, вам действительно не нужно больше. Все прошло гладко, но я быстро заметил проблему. Страница выглядела странно раздутой на мобильных устройствах в горизонтальной ориентации, чего я не ожидал:
Вместо того, чтобы выглядеть так:
Страница выглядела так на iOS:
Абзац теперь больше, чем заголовок над ним , что явно не то, что я имел в виду. И из-за этого следующий раздел был отодвинут вниз, что сделало первый взгляд немного менее интересным.
Регулировка размера текста

Причина этого в том, что Mobile Safari увеличивает размер шрифта по умолчанию, когда вы переключаете веб-сайт с книжной на альбомную. На телефонах это не работает на iPad. Safari уже давно делает это, чтобы улучшить читабельность веб-сайтов, не оптимизированных для мобильных устройств. Хотя, несомненно, это полезно во времена, когда буквально ни один веб-сайт не был оптимизирован для мобильных устройств, в настоящее время он значительно менее полезен.
Способ контролировать это увеличение размера шрифта с помощью -webkit-text-size-adjust свойство, которое вы можете установить в процентах, чтобы максимально увеличить размер текста, до auto для поведения по умолчанию (которое вы видите выше) или до none для предотвращения масштабирование текста. Установка его на 100% эквивалентна нет . Чтобы узнать больше об этом, посетите восхитительную справочную страницу старой школы, которую Apple предоставляет, Настройка размера текста.
Добавив следующие свойства CSS, мы можем предотвратить нечетный рендеринг:
HTML

Safari поддерживает только версию с префиксом, а Chromium поддерживает версию без префикса. Firefox на Android (но не на ПК) поддерживает префикс
-moz . (источник: Caniuse)
Я считаю, что это свойство должно быть частью вашего CSS по умолчанию так же, как и box-sizing, что заставило меня задуматься о недавно появившихся сбросах CSS. Кто из них обязательно добавляет это свойство?
Обзор сбросов CSS
Давайте рассмотрим сбросы:
Normalize.css
Прежде всего, normalize.css. он включает -webkit-text-size-adjust: 100%; свойство, где 100% в качестве значения, в отличие от нет .
Я не думаю, что есть существенная разница между обоими значениями (и я не смог увидеть никакой разницы в моем собственном тестировании), но мне очень хотелось бы узнать, почему они выбрали 100% вместо нет .

Обновление : Дэррил Ноукс указал на ошибку Webkit, которая с тех пор была решена, из-за которой люди не могли масштабировать страницу, если для нее было установлено значение none вместо 100% . Вероятно, поэтому Normalize выбрал 100% , хотя в настоящее время это больше не беспокоит.
Sanitize.css
Sanitize.css включает версии с префиксом -webkit и -ms .
Я не думаю, что версия с префиксом -ms больше не нужна, так как сейчас не так много мобильных рендереров Internet Explorer/EdgeHTML. (CanIUse даже не упоминает о них.)
Перезагрузка
Перезагрузка, сброс CSS для Bootstrap, включает -webkit-text-size-adjust: 100%; в элементе body вместо элемента HTML.
Новый сброс CSS
Новый сброс CSS от Элада Шехтера, включает ли , а не какую-либо регулировку размера текста.
Сброс CSS Джоша Комо
Сброс, который использует Джош, не включает настройку размера текста.
CSS Remedy
CSS Remedy от Jen Simmons не включает text-size-adjust , с префиксом или иначе.

Интересно, что они это рассмотрели и исследовали, но протестировали таким образом, чтобы не срабатывал алгоритм изменения размера текста, и на основании этого пришли к выводу, что он ничего не делает и не нужен.
Современный сброс CSS
Сброс CSS от Энди Белла не включает настройку размера текста.
Open Props normalize
Open Props от Adam Argyle содержит пользовательский файл normalize.css и text-size-adjust только что был добавлен к нему!
Destyle.css
Destyle.css основан на Normalize.css, поэтому включает -webkit-text-size-adjust: 100%; .
Другие сбросы?
Это современные сбросы CSS, которые мне удалось найти. Если мне чего-то не хватает, дайте мне знать, и я посмотрю, смогу ли я добавить их сюда!
Должен ли
text-size-adjust быть в вашем сбросе CSS?
Проблема, упомянутая в этой статье, возникает только в горизонтальной ориентации мобильного Safari, и я думаю, что очень немногие тщательно проверяют эту ситуацию. И хотя (неравномерное) масштабирование текста, вероятно, не сломает ваш сайт, в конечном итоге это может затруднить его просмотр и понимание.
Так должен ли он быть в вашем сбросе CSS?

Из 7 сбросов CSS только три включают text-size-adjust , и это три «тяжелых» сброса. Два из них появились еще до появления iPhone, поэтому они были добавлены в то время, когда регулировка размера текста была более распространена (для неотзывчивых веб-сайтов). Актуально ли это сегодня, учитывая, что все «современные» сбросы CSS их не добавляют?
Я бы так сказал.
Размер текста, случайно увеличивающийся в одной ситуации, — это именно тот тип вещей, который вы хотите защитить с помощью сброса CSS. Все сбросы CSS здесь хорошо обоснованы, исследованы и хорошо продуманы, но я бы сказал, что сбросы CSS без text-size-adjust из-за этого немного менее полезны.
У вас есть это на вашем сайте? Дайте мне знать в Твиттере!
Редактировать: Люди спрашивали меня о сбросе CSS для сайта, который я упомянул. Это очень минимальная версия, в которой есть только то, что мне нужно для этого сайта, и вам, вероятно, лучше использовать любую из ссылок, указанных выше (конечно, добавляя при необходимости регулировку размера текста!). Вот мой сброс:
*, *:до, *:после < box-sizing: наследовать; маржа: 0; заполнение: 0; >:корень < box-sizing: граница-коробка; -webkit-text-size-adjust: нет; регулировка размера текста: нет; положение: родственник; семейство шрифтов: system-ui, «Apple Color Emoji», «Segoe UI Emoji», «Символ пользовательского интерфейса Segoe», «Цветной смайлик Noto»; минимальная высота: 100%; >тело < положение: родственник; высота: 100%; мин-высота: 100вх; размер шрифта: 100%; высота строки: 1,5; >вход, текстовое поле, кнопка
Относительный размер шрифта в CSS

Одна из самых больших путаниц в веб-дизайне вызвана не чем иным, как свойством размера шрифта.
Наиболее часто используемые размеры шрифта: пиксели (px), em и rem.
Помимо этого свойства, путаницу обычно вызывают столбцы CSS.
Если вас интересуют свойства макета, ознакомьтесь с этой статьей о часто используемом свойстве — position.
Сначала мы сосредоточимся на свойстве размера шрифта.
В CSS есть несколько единиц измерения (например, пиксели, em и rem), которые можно использовать, что может вызвать у дизайнера дополнительную головную боль. В этой статье мы разъясним использование этих единиц и любые неправильные представления.
Блок PX
Самая распространенная и популярная единица измерения — пикселей (px) . Большинство людей начинают с использования единиц измерения пикселей (px), потому что они дают вам полный контроль над размером текста . Если размер шрифта не указан, размер по умолчанию для обычного текста, такого как абзац, составляет 16 пикселей.

Основная проблема с использованием единиц измерения пикселей (px) заключается в том, что, в отличие от единиц em или rem, они не масштабируются и изменение размера шрифта на разных размерах экрана может быть затруднено.
Кроме того, единица измерения пикселя (px) ни с чем не связана. Поэтому, если вы хотите изменить размер, например, всей страницы в зависимости от размера экрана, вам придется изменить размер шрифта каждого элемента в отдельности.
ЭМ блок
Единица измерения em представляет собой масштабируемую единицу размера шрифта . Это , связанное с размером шрифта родительского контейнера . Один em (1em) равен текущему размеру шрифта. Так, например, если родительский элемент имеет размер шрифта 16px, то 1em равен 16px, 2em равен 32px и так далее…
Сделать ваш дизайн адаптивным станет намного проще, если вы используете единицы em вместо px.
Но есть одна вещь, о которой нужно позаботиться. При использовании модуля em вы должны быть осторожны с вложением .

Например, допустим, вы создали раздел и установили для него размер шрифта 2em. Теперь вы хотите добавить в раздел абзац с размером шрифта 1em. Размер шрифта абзаца связан с размером шрифта раздела. Если вложение продолжается или если оно используется в нескольких сегментах проекта, вы можете быстро потерять из виду, что относительно чего, и полностью потеряться.
Теперь, когда у нас есть представление о единице em, самое время ввести единицу rem.
Блок РЭМ
Единица rem — это еще один масштабируемый размер шрифта, но, в отличие от единицы em, он связан с корневым элементом (HTML), а не с родительским элементом . Отсюда единица rem получила свое название (корень em = rem).
Это означает, что если вы используете модуль rem для элементов, вы можете быстро изменить размер шрифта всего проекта, просто отрегулировав размер корневого шрифта. Этот способ быстр, прост и позволяет избежать каких-либо сложностей со вложением, которые могут возникнуть при использовании модуля em.
Итак, какую единицу следует использовать?

Лучший способ ответить на этот вопрос — использовать пример.
Сначала мы будем использовать блок px .
html < font-size: 100% >// обычно это равно 16px div div>p
Здесь вы можете заметить, что размер шрифта задается в пикселях (px) индивидуально для каждого элемента, и они не имеют никакого отношения друг к другу.
Далее мы будем использовать em для того же сегмента кода.
html div < Размер шрифта: 0,875 em; >// это равно 14px div>p // это равно 28px
В этом примере очевидна разница между единицами измерения px и em. Относительность единицы em очевидна. Просто изменив размер шрифта контейнера div, мы увидим, что размер шрифта абзаца изменился соответствующим образом.
Наконец, с помощью rem блок.
html div // это равно 16px div>p // это равно 24px
При использовании единицы rem видно, что все размеры шрифта связаны с корневым размером шрифта . Размеры шрифта div и абзаца связаны с корнем, несмотря на то, что div является родителем абзаца.
Вывод
Нет правильных или неправильных единиц . Все зависит от твоего уровень квалификации, тип и размер проекта и личные предпочтения .
Если вы хотите иметь полный контроль над размером шрифта, единица измерения в пикселях для вас. Если вам нужно немного больше гибкости при манипулировании веб-страницей, лучше всего подойдут единицы em или rem. В любом случае, наилучший результат будет достигнут, когда единицы будут полностью поняты.
Мы надеемся, что эта статья помогла вам и сегодня вы узнали что-то новое.
Ознакомьтесь с другими подробными статьями о свойствах CSS, такими как эта: CSS Positions, SASS и LESS Nesting.

Первоначально опубликовано в блоге Kolosek.
Единицы размера CSS — бесплатный учебник для изучения HTML и CSS
Существует множество свойств CSS, требующих единиц размера :
- размер шрифта определяет размер текста
- border-width определяет вес границ элемента
- поле определяет расстояние между элементами
- слева/справа/сверху/снизу позволяет позиционировать и перемещать элементы
Наиболее часто используемые единицы:
- пикселей для пикселей
- % для процентов
- em для определения размера относительно родительского значения font-size .
пикселей
Поскольку экраны компьютеров используют пиксели для отображения содержимого, это наиболее распространенная единица размера в CSS .
Может использоваться для фиксации ширины элемента:
тело
Или установить размер текста :
body

Пиксели в CSS просты, потому что они определяют абсолютных значений : на них не влияют другие унаследованные свойства CSS.
Они также широко используются для целей позиционирования и .
Проценты
Проценты — это относительных единиц : они зависят от родителя и/или предка элемента.
Например, блочные элементы, такие как абзацы, естественно занимают доступна вся ширина . Следующее правило CSS изменит их размер до половин доступной ширины.
Проценты могут помочь установить другие свойства CSS, например размер текста:
strong
Впереди нас ждут важные задачи.
Нас ждут важных задач.
Эм
em является родственником 9Единица измерения 0066: это зависит от значения элемента font-size .

Например, если родительский элемент имеет размер шрифта 20px , а вы примените font-size: 0. 8em к дочернему элементу, этот дочерний элемент отобразит размер шрифта 16px .
Не путайте единицу размера CSS em и селектор CSS em , который нацелен на элементов HTML
Блок em интересен тем, что вы определяете размер шрифта элементов HTML относительно друг к другу. Чтобы создать приятную и легко читаемую веб-страницу, вам нужна постоянная визуальная глубина. Например, вы хотите, чтобы ваш
был в два раза больше вашего основного текста, ваш
был только в 1,5 раза больше, а ваша боковая панель была немного меньше. Этого легко добиться в CSS:
тело h2 /* = 32px */ h3 /* = 24px */ в сторону /* = 12px */

Если вы решите изменить размер основного текста, относительные размеры ваших заголовков и боковой панели изменятся соответственно , и ваша веб-страница останется визуально сбалансированной .
При изменении одного значения изменяются все остальные значения:
тело h2 /* = 40px */ h3 /* = 30px */ в сторону < размер шрифта: 0.75em;>/* = 16px */
Rem
Блок rem аналогичен em , но вместо того, чтобы зависеть от значения родителя , он полагается на значение корневого элемента , которое является элементом .
html body /* = 18px */ h2 /* = 36px */ h3 < font-size: 1.5rem;>/* = 27px */
Разница между rem и em заключается в том, что rem значения фиксированные , а em значения могут умножьте между собой.
- 2rem всегда будет равно 36px , независимо от того, где вы используете в своем CSS
- 2em всегда будет равно double размеру шрифта родителя , поэтому не обязательно 36px
Краткий пример, где 2em отличается от 2rem :

html p
Как менять размер текста при изменении размера окна?
Для изменения размера текста веб-страницы совместно с окном браузера есть несколько методов. Рассмотрим наиболее популярные.
Использование единиц vw
Размер текста задаётся с помощью свойства font-size, в качестве значения можно указывать разные единицы — пиксели, пункты, миллиметры и др. Единица vw (от англ. viewport width — ширина области просмотра) соответствует 1% от ширины окна браузера, таким образом, при изменении этой ширины будет меняться и размер текста (пример 1).
Пример 1. Использование vw
Для педагогов
Результат данного примера показан на рис. 1.


Рис. 1. а — текст на широком окне; б — текст на узком окне
У единицы vw есть несколько недостатков — главное, что текст уменьшается пропорционально вместе с окном и в какой-то момент становится нечитаемым. Это будет особенно заметно на смартфонах, где ширина экрана меньше ширины мониторов. Чтобы установить минимальный размер текста можно воспользоваться функцией calc(), как показано в примере 2.
Пример 2. Использование calc()
Здесь мы смешиваем разные единицы — для заголовка rem и vw, для основного текста пиксели и vw. Использование calc() гарантирует, что текст не станет меньше указанного значения (для заголовка, к примеру, это 1rem).
Использование медиа-запросов
Поскольку единицы vw завязаны на ширину области просмотра, то при увеличении размера окна увеличивается и размер текста. Иногда требуется сделать наоборот — на маленьких экранах показывать большой текст, а на больших экранах, соответственно, маленький текст. Для этого применяются медиа-запросы, они меняют стиль элементов при определённой ширине окна браузера.
Сперва определяем стиль для больших экранов, затем с помощью конструкции @media screen and (max-width: 1024px) задаём стиль для экранов с шириной до 1024 пикселей. Внутри @media пишется размер текста под этот размер. При желании ниже добавляем ещё несколько @media с разными значениями max-width (пример 3).
Пример 3. Использование @media
Для педагогов
Размер текста в данном случае будет меняться не плавно, а ступенчато — при достижении указанной ширины окна размер текста уменьшается или увеличивается.
См. также
- @media
- calc()
- clamp()
- font-size
- Единицы размера в CSS
- Медиа-запросы
- Отзывчивый веб-дизайн
- Размер текста
- Свойства шрифта в CSS
font-size
Определяет размер шрифта элемента. Размер может быть установлен несколькими способами. Набор констант ( xx-small , x-small , small , medium , large , x-large , xx-large ) задаёт размер, который называется абсолютным. По правде говоря, они не совсем абсолютны, поскольку зависят от настроек браузера и операционной системы.
Другой набор констант ( larger , smaller ) устанавливает относительные размеры шрифта. Поскольку размер унаследован от родительского элемента, эти относительные размеры применяются к родительскому элементу, чтобы определить размер шрифта текущего элемента.
В конечном итоге, размер шрифта сильно зависит от значения свойства font-size у родителя элемента.
Сам размер шрифта определяется как высота от базовой линии до верхней границы кегельной площадки, как показано на рис. 1.

Рис. 1. Размер шрифта
Краткая информация
| Значение по умолчанию | medium |
|---|---|
| Наследуется | Да |
| Применяется | Ко всем элементам |
| Анимируется | Да |
Синтаксис
font-size: | | |
Синтаксис
| Описание | Пример | |
|---|---|---|
| Указывает тип значения. | ||
| A && B | Значения должны выводиться в указанном порядке. | && |
| A | B | Указывает, что надо выбрать только одно значение из предложенных (A или B). | normal | small-caps |
| A || B | Каждое значение может использоваться самостоятельно или совместно с другими в произвольном порядке. | width || count |
| [ ] | Группирует значения. | [ crop || cross ] |
| * | Повторять ноль или больше раз. | [,]* |
| + | Повторять один или больше раз. | + |
| ? | Указанный тип, слово или группа не является обязательным. | inset? |
| Повторять не менее A, но не более B раз. | ||
| # | Повторять один или больше раз через запятую. | # |
Значения
Для задания абсолютного размера используются следующие значения: xx-small , x-small , small , medium , large , x-large , xx-large . Их соответствие с размером шрифта в HTML приведено в табл. 1.
| CSS | xx-small | x-small | small | medium | large | x-large | xx-large | Нет |
|---|---|---|---|---|---|---|---|---|
| HTML | 1 | Нет | 2 | 3 | 4 | 5 | 6 | 7 |
Относительный размер шрифта задается значениями larger и smaller .
Также разрешается использовать любые допустимые единицы CSS: em (высота шрифта элемента), ex (высота символа х), пункты ( pt ), пикселы ( px ), проценты ( % ) и др. За 100% берётся размер шрифта родительского элемента. Отрицательные значения не допускаются.
Песочница
Винни-Пух был всегда не прочь немного подкрепиться, в особенности часов в одиннадцать утра, потому что в это время завтрак уже давно окончился, а обед ещё и не думал начинаться. И, конечно, он страшно обрадовался, увидев, что Кролик достаёт чашки и тарелки.
div < font-size: >em; >
Пример
Амазонская низменность
Для гостей открываются погреба Прибалатонских винодельческих хозяйств, известных отличными сортами вин «Олазрислинг» и «Сюркебарат».
!DOCTYPE>
Результат данного примера показан на рис. 1.

Рис. 2. Применение свойства font-size
Объектная модель
Объект.style.fontSize
Спецификация
| Спецификация | Статус |
|---|---|
| CSS Fonts Module Level 3 | Возможная рекомендация |
| CSS Transitions | Рабочий проект |
| CSS Level 2 (Revision 1) | Рекомендация |
| CSS Level 1 | Рекомендация |
Спецификация
Каждая спецификация проходит несколько стадий одобрения.
- Recommendation ( Рекомендация ) — спецификация одобрена W3C и рекомендована как стандарт.
- Candidate Recommendation ( Возможная рекомендация ) — группа, отвечающая за стандарт, удовлетворена, как он соответствует своим целям, но требуется помощь сообщества разработчиков по реализации стандарта.
- Proposed Recommendation ( Предлагаемая рекомендация ) — на этом этапе документ представлен на рассмотрение Консультативного совета W3C для окончательного утверждения.
- Working Draft ( Рабочий проект ) — более зрелая версия черновика после обсуждения и внесения поправок для рассмотрения сообществом.
- Editor’s draft ( Редакторский черновик ) — черновая версия стандарта после внесения правок редакторами проекта.
- Draft ( Черновик спецификации ) — первая черновая версия стандарта.
Браузеры
| 5.5 | 12 | 1 | 7 | 1 | 1 |
| 1 | 1 | 6 | 1 |
Браузеры
В таблице браузеров применяются следующие обозначения.
- — элемент полностью поддерживается браузером;
- — элемент браузером не воспринимается и игнорируется;
- — при работе возможно появление различных ошибок, либо элемент поддерживается с оговорками.
Число указывает версию браузреа, начиная с которой элемент поддерживается.
См. также
- Единицы размера в CSS
- Размер текста
- Свойства шрифта в CSS

4+