Содержание

em vs. px vs. pt vs. percent / Хабр

Одним из наиболее запутанных аспектов CSS является применение font-size атрибута для масштабирования текста. Используя CSS, вы можете изменить размер текста в браузере с помощью четырех разных единиц измерения. Какая из этих четырех единиц лучше всего подходит для веб? Это вопрос, который породил разнообразные дискуссии и критику. Поиск окончательного ответа затруднен, поскольку вопрос сам по себе сложный.

Знакомьтесь — единицы

1. «Ems» (em): «em» — это масштабируемая единица, которая используется в веб-документах. «em» равна текущему font-size, например, если font-size в документе 12pt, 1em равен 12pt. «em» масштабируема по своей природе, так 2em будет равен 24pt, 0.5em будет равна 6pt и т.д. Использование «em» становятся все более популярным в веб-документах из-за масштабируемости и возможности с пользой применять в мобильных устройствах.
2. Pixels (px): «px» имеют фиксированный размер единиц, которые используются на экранах (например, для чтения на экране компьютера). Один пиксель равен одной точки на экране компьютера (самый малый элемент разрешения вашего экрана). Многие веб-дизайнеры используют px в веб-документах в целях получения пиксель-идеального(pixel-perfect) представления своего сайта, отображаемого в браузере. Одна из проблем, с использованием px заключается в том, что эти единицы не позволяют изменять масштаб для слабовидящих читателей или мобильных устройств.
3. Points (pt): «pt», традиционно используются в печатных СМИ (все, что должно быть напечатано на бумаге, и т.д.). Один «pt» равен 1 / 72 дюйма. «pt», так же, как и «px», имеют фиксированный размер единицы и не могут масштабироваться.
4. Percents (%): Единицы измерения в % похожи на «em», за исключением нескольких принципиальных различий. Во-первых, текущий font-size равен 100% (т.е. 12pt = 100%). При использовании «%», ваш текст становится полностью масштабируемым для мобильных устройств и удобства пользователя (accessibility).
Итак, в чем же разница?

Легко будет понять разницу между единицами font-size, когда вы увидите их в действии. Как правило, 1em = 12pt = 16px = 100%. При использовании этих размеров шрифта, давайте посмотрим, что происходит, когда вы увеличиваете базовый размер шрифта (с использованием CSS селектора body) от 100% до 120%.


Изменение Font-size от 100% до 120%.

Как вы можете видеть, «em» и «%» увеличили размер шрифта, в то время как «px» и «pt» этого не сделали. Установка абсолютного размера для вашего текста может быть простым делом, но гораздо лучше для ваших посетителей использовать масштабируемый текст, который может быть отображен на любом устройстве или любой машине. По этой причине, единицы «em» и «%» предпочтительнее в использовании для текста веб-документа.

«em» vs «%»

Мы выяснили что единицы «px» и «pt», не лучшим образом подходят для веб-документов, что заставляет нас использовать «em» и «%». В теории, единицы «em» и «%» являются идентичными, но на практике они имеют незначительные различия, которые важно учитывать.

В приведенном выше примере мы использовали в качестве базовой единицы font-size проценты (в тэге body). Если вы измените вашу базовую единицу font-size c «%» на «em» (то есть body {font-size: 1em;}), вы, должны бы не заметить разницы. Давайте посмотрим, что происходит, когда «1em» является нашей базовой единицей, и когда клиент меняет «Размер шрифта» в настройках своего браузера (такая возможность предусмотрена в во многих браузерах, например, Internet Explorer).


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

Когда в браузере клиента размер текста установлен в «средней», то незаметно никакой разницы между «em» и «%». Однако, если параметр изменять, разница становится очень большой. При установке «Smallest» «em» гораздо меньше, чем «%», а при установке «Largest» наоборот «em» отображается гораздо большим, чем «%». И хотя многие утверждают, что единицы в «em» масштабируются так, как задумано, на практике текст в «em» масштабируется слишком резко, и при этом наименьший текст становится неразборчивым на некоторых машинах.

Вердикт

В теории, единицы «em» — это новый и предстоящий стандарт размера шрифта в Интернете, но на практике, единицы в «%» позволяют отображать текст для пользователей более последовательно и удобно. При смене параметров клиента, текст в «%» изменялся в разумных пропорциях, что позволяет дизайнерам сохранить читабельность, доступность, и дизайн.

Победитель: процент (%).

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

Свойство font-size устанавливает размер шрифта текста. Значением свойства служат любые единицы для размеров (как правило, это px, em или rem) либо специальные ключевые слова (используются крайне редко).

Синтаксис

селектор { font-size: значение; }

Значения в виде ключевых слов

ЗначениеОписание
xx-smallСамый самый маленький. Пример: Lorem ipsum dolor sit amet.
x-smallСамый маленький. Пример: Lorem ipsum dolor sit amet.
smallМаленький. Пример: Lorem ipsum dolor sit amet.
mediumСредний. Пример: Lorem ipsum dolor sit amet.
largeБольшой. Пример: Lorem ipsum dolor sit amet.
x-largeОчень большой. Пример: Lorem ipsum dolor sit amet.
xx-largeСамый большой. Пример: Lorem ipsum dolor sit amet.
largerБольше шрифта родителя на некоторое значение.
smallerМеньше шрифта родителя на некоторое значение.

Значение по умолчанию:

medium.

Пример

Давайте установим абзацам размер шрифта в 20px:

<p> Lorem ipsum dolor sit amet. </p> p { font-size: 20px; }

:

Пример

В данном примере для абзаца задан размер в 16px, а для span внутри него — 150%. В этом случае размер шрифта для span будет составлять 150% от своего родителя, то есть абзаца, и его реальный размер будет 16px * 150% = 24px:

<p> Lorem <span>ipsum dolor</span> sit amet. </p>

p { font-size: 16px; } span { font-size: 150%; }

:

Пример

В данном примере для абзаца задан размер в 16px, а для span внутри него — 150%. В этом случае размер шрифта для span будет составлять 150% от своего родителя, то есть абзаца, и его реальный размер будет 16px * 150% = 24px:

<p> Lorem <span>ipsum dolor</span> sit amet. </p> p { font-size: 16px; } span { font-size: 150%; }

:

Пример

В данном примере для абзаца задан размер в 16px, а для span внутри него — larger. В этом случае размер шрифта для span будет больше, чем у его родителя (абзаца):

<p> Lorem <span>ipsum dolor</span> sit amet. </p> p { font-size: 16px; } span { font-size: larger; }

:

Пример

Обратите внимание на то, что шрифты с разным font-family и одинаковым font-size визуально могут быть совсем не одного размера (для решения данной проблемы смотрите свойство font-size-adjust).

В примере ниже обоим абзацам задан font-size в 16px, но разные font-family:

<p> Lorem ipsum dolor sit amet. </p> <p> Lorem ipsum dolor sit amet. </p> #elem1 { font-size: 16px; font-family: Arial; } #elem2 { font-size: 16px; font-family: "Times New Roman"; }

:

Свойство font-size-adjust — контроль размера шрифта

Свойство font-size-adjust позволяет контролировать размер шрифта, при неизменном font-size (увеличивать или уменьшать).

Применение: пусть в font-family задано два шрифта через запятую, например, Georgia, «Times New Roman». Пусть на компьютере пользователя нет шрифта Georgia — в этом случае применится «Times New Roman». Однако, нас ждет проблема — при одинаковом значении font-size шрифты будут выглядеть по-разному. В примере ниже обоим абзацам задан

font-size в 16px, но разные font-family. Посмотрите, как отличаются размеры:

<p> Lorem ipsum dolor sit amet. </p> <p> Lorem ipsum dolor sit amet. </p>

:

Это происходит из-за того, что отображаемый размер шрифта зависит в большей степени не от свойства font-size, которое определяет лишь общий размер шрифта, а от соотношения значений свойства font-size и величины x-height (x-height — это разница между размером строчной буквы «x» и прописной буквы «X» для определенного шрифта).

Это соотношение называется аспектом шрифта и рассчитывается по формуле: аспект = font-size / x-height.

Проблему размеров решает свойство font-size-adjust (оно позволяет менять аспект шрифта), которое заставит выглядеть второй шрифт такого же размера, как и первый.

Давайте сделаем так, чтобы шрифт Times New Roman был такого же размера, как и Georgia. Нам известен аспект Georgia — это 0.5 (см. таблицу ниже).

Установим font-size-adjust для текста с Times New Roman в значение 0.5 и увидим, что второй текст стал такого же размера, как и первый:

<p> Lorem ipsum dolor sit amet. </p> <p> Lorem ipsum dolor sit amet. </p>

:

Синтаксис

селектор { font-size-adjust: число | none; }

Значения

ЗначениеОписание
ЧислоЧисло задает аспект шрифта.
noneНет регулировки размера шрифта.

Значение по умолчанию: none.

Как определить значение аспекта для шрифта?

Посмотрите отрывок из спецификации W3C: Коэффициент пропорциональности (аспект) для выбранных шрифтов может быть высчитан путем сравнения одного и того же текста, но с разным значением font-size-adjust. Если значение свойства font-size-adjust подобрано верно, то при одинаковом размере шрифта текст останется неизменным для всех используемых на странице шрифтов.

Привожу известные мне значения аспекта для некоторых шрифтов: Georgia — 0.5, Times New Roman — 0.46, Verdana — 0.58.

Пример

Сравните как выглядит текст с разным значением font-size-adjust и одинаковом font-size и font-family:

<p> Lorem ipsum dolor sit amet, consectetur adipiscing elit. </p> <p> Lorem ipsum dolor sit amet, consectetur adipiscing elit. </p> <p> Lorem ipsum dolor sit amet, consectetur adipiscing elit. </p>

:

Пример . Применение в реальной жизни

Код ниже делает так, чтобы в случае отсутствия на компьютере у пользователя шрифта Georgia, применившийся шрифт Times New Roman был такого же размера, как и Georgia:

<p> Lorem ipsum dolor sit amet, consectetur adipiscing elitorire aenean a dapibus magna, ac interdum nisl suspendisse egetile. </p> p { font-size: 16px; font-family: Georgia, "Times New Roman"; font-size-adjust: 0.5; }

:

Что делает font-size: 100% на элементе html?



Я в процессе, чтобы начать новый проект. Я спрашиваю себя: Почему я должен добавлять font-size: 100% к элементу html , когда я все равно использую единицу em ?

Что значит этот 100% — 100% по сравнению с чем?

html css
Поделиться Источник Sven     21 октября 2013 в 19:37

2 ответа




3

размер шрифта 100% на html равен размеру шрифта браузера по умолчанию, который может быть 14px или 16px.

Поделиться Minder Saini     21 октября 2013 в 20:33



3

Существует много типов объявления размера шрифта как одного и того же значения для браузера.

  1. font-size: 1em;

  2. font-size: 100%;

  3. font-size: 16px; // this is default

Таким образом, вы можете получить размер шрифта по умолчанию. Но обратите внимание, что 16 пикселей изменят размер шрифта, однако em и % будут зависеть от размера шрифта, используемого в теге body.

Fiddle: http://jsfiddle.net/afzaal_ahmad_zeeshan/5Wkus/

Так что вы увидите, что em полностью зависит от шрифта, объявленного в body . Или, можно сказать, она идет от ребенка к родителю. Он продолжает искать изменение размера шрифта в ближайшем родителе. Который в большинстве случаев направляет код к элементу body или таблице стилей пользовательского агента по умолчанию.

Поделиться Afzaal Ahmad Zeeshan     21 октября 2013 в 20:38


Похожие вопросы:


font-size:62.5% против font-size:10px

В течение длительного времени я использую body {font-size:62.5%;} в документах CSS, так как предполагается, что 1em равно 10px . Однако недавно я заметил, что это не так для меня в Internet…


Что делает текст на элементе <button> вертикально центрированным?

Кажется, есть какая-то магия вокруг элемента <button> , которую я не понимаю. Рассмотреть этот markup: <button class=button>Some Text</button> <div class=button>Some…


Установите размер шрифта на <html> или <body> ?

Как лучше всего установить базовый размер шрифта в вашем файле CSS? Лучше объявить размер шрифта на элементе <html> или элементе <body> ? Я использую REM единицы измерения (с резервным…


Что делает этот CSS?

input,textarea,select{font-family:inherit;font-size:inherit;font-weight:inherit;} input,textarea,select{*font-size:100%;} Это из YUI reset css. Что делает * before font-size:100%?


Установка ‘font-size’ с jQuery не работает на последнем элементе выделенного текста

Я пытаюсь изменить font-size всего выделенного текста. Он работает нормально, но я не могу изменить шрифт последнего элемента в массиве. Ниже приведен мой код: <!DOCTYPE html> <html>…


Почему «font-size: 1em» больше в IE10, чем Chrome?

В настоящее время я работаю над разработкой сайта, и я не могу понять, почему текст отображается больше в IE10, чем в Chrome. (Я убедился, что оба браузера настроены на 100% zoom-ни больше, ни…


Что значит font-size:1em/2em?

В некоторых шаблонах я вижу, что некоторые разработчики используют свойство font-size , которое выглядит следующим образом: font-size:1em/2em Что это значит ? Я думаю, что 1em — это min-font-size ,…


Невозможно переопределить свойство font-size:100% & font-inherit в другом файле CSS

В моем проекте у нас есть один глобальный файл CSS ‘global-css’, который используется на всех веб-страницах сайта. Содержимое этого файла, font-size: 100%; font: inherit; properties for…


Тег <font size=…> не работает в Text.text

Мой код: import QtQuick 2.6 import QtQuick.Window 2.2 Window { visible: true Text { text: ‘ <font size=100>Large</font> <font size=50>Medium</font> <font…


Есть ли смысл в единицах rem на элементе HTML?

Единица rem CSS — это сокращение от “root em”. При использовании в CSS 2rem вычисляется значение “two times the font size on the root element”, которое в документе HTML в два раза превышает размер…

Свойство CSS font-size-adjust и автоматическая настройка размера шрифта

От автора: многие разработчики используют несколько семейств шрифтов и размеров шрифта, чтобы лучше представить веб-страницу. Например, разработчик может использовать шрифт Bold Comic Sans для заголовков и шрифт Roboto для текста. Однако из-за этого ваш веб-сайт может выглядеть неаккуратным, поскольку многие браузеры не поддерживают все шрифты. Свойство CSS font-size-adjust поможет избежать такой ситуации, сделав размер шрифта автоматически настраиваемым.

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

Однако, прежде чем рассматривать свойство CSS font-size-adjust, давайте быстро взглянем на свойство CSS font-size.

Свойство CSS font-size указывает желаемую высоту глифов на основе шрифта. Для масштабируемого шрифта применяется коэффициент для вычисления размера шрифта. Однако для немасштабируемого шрифта абсолютная единица размера шрифта соответствует установленному размеру шрифта.

Синтаксис:

Практический курс по верстке адаптивного сайта с нуля!

Изучите курс и узнайте, как верстать современные сайты на HTML5 и CSS3

Узнать подробнее

font-size: <absolute-size> | <relative-size> | <length-percentage>

font-size: <absolute-size> | <relative-size> | <length-percentage>

absolute-number: это значение относится к вычисленным размерам шрифта.

relative-size: он принимает значение относительно вычисленного font-size и таблицы font-size.

length-percentage: указывает, что размер шрифта является абсолютным.

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

Свойство CSS font-size-adjust предоставляет разработчикам возможность управлять размером шрифта, позволяя им изменять размер шрифта, когда изначально выбранный тип шрифта недоступен.

В таких ситуациях происходит откат шрифта, и браузер использует второй указанный шрифт. Это может привести к большой проблеме, если будет разница между соотношением сторон исходного и используемого шрифта. В таких обстоятельствах, когда нам нужно позаботиться о внешнем виде и поддерживать читабельность текста, можно использовать свойство CSS font-size-adjust.

Свойство CSS font-size-adjust указывает, что размер шрифта элемента необходимо изменить на основе высоты строчных букв, а не максимума прописных букв.

Синтаксис:

font-size-adjust: none | < number >

font-size-adjust: none | < number >

none: указывает, что высота шрифта по оси x не сохраняется.

число: это значение относится к числу аспекта первого использованного шрифта, а затем остальные доступные шрифты будут масштабированы в соответствии со следующей формулой: c = (a/a’) s

где:

c — скорректированный размер шрифта для использования

а — значение аспекта, заданное свойством font-size-adjust

а’ — значение аспекта фактического шрифта

s — значение размера шрифта

Пример

Если Roboto 15 пикселей (со значением аспекта 0,50) был недоступен, а следующий заданный шрифт имел значение аспекта 0,40, размер используемого заменяющего шрифта был бы 15 * (0,50 / 0,40) = 18,75 пикселей.

Как работает CSS font-size-adjust?

Вот демонстрация того, как работает font-size-adjust, позволяя автоматически настраивать размер шрифта. Ниже приведен пример, в котором сравниваются два разных типа шрифтов с разным соотношением сторон. Высота по оси x строчных букв двух шрифтов может быть изменена для соответствия высоте по оси x другого шрифта.

На изображении выше к тексту слева был применен шрифт Comic Sans со значением аспекта 0,53. Напротив, текст с правой стороны был использован со шрифтом Calibri, который имеет значение аспекта 0,47. Это дает очень мелкий текст. В нижней строке был применен параметр font-size-adjust, равный 0,53, из-за чего размер шрифта на нижней стороне теперь изменен в соответствии с указанным соотношением сторон.

Практический курс по верстке адаптивного сайта с нуля!

Изучите курс и узнайте, как верстать современные сайты на HTML5 и CSS3

Узнать подробнее

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

Поскольку числовые значения line-height проверяются с вычисленным размером font-size, свойство CSS font-size-adjust не изменяет используемое значение line-height; скорее, он автоматически регулирует размер шрифта.

В CSS авторы часто указывают «высоту строки» как кратную размеру шрифта. Поскольку свойство CSS font-size-adjust влияет на используемое значение font-size, авторы должны обязательно установить высоту строки при использовании CSS font-size-adjust.

Примечание. Установка слишком высокой высоты строки может привести к наложению строк текста.

Пример

<!doctype html> <head> <title>font-size-adjust Example</title> <link rel=»stylesheet» href=»style.css»> </head> <body> <p>Font Without adjustment.</p> <p>Font With adjustment.</p> <hr> <p>Previewed on {Browser}.</p> </body> </html>

<!doctype html>

<head>

<title>font-size-adjust Example</title>

<link rel=»stylesheet» href=»style.css»>

</head>

<body>

<p>Font Without adjustment.</p>

<p>Font With adjustment.</p>

<hr>

<p>Previewed on {Browser}.</p>

</body>

</html>

p { font: 20px Verdana, Helvetica, sans-serif; } .adjust { font-size-adjust: 0.78; }

p {

   font: 20px Verdana, Helvetica, sans-serif;

}

.adjust {

   font-size-adjust: 0.78;

  }

Совместимость с браузерами

Давайте поговорим о поддержке CSS в браузерах. В настоящее время только Firefox по умолчанию поддерживает свойство CSS font-size-adjust. Начиная с версий 43 и 30, Chrome и Opera также поддерживают это свойство с флагом «Экспериментальные функции веб-платформы», который можно включить в chrome: // flags. Edge и Safari вообще не поддерживают свойство CSS font-size-adjust.

Свойство CSS font-size-adjust изначально было введено в CSS2, но позже было удалено в CSS2.1, а затем снова введено в CSS3.

Ниже приведена таблица, в которой перечислены основные браузеры вместе с версиями, поддерживающими эту функцию:

Проверка размера шрифта в браузерах

С помощью LambdaTest вы можете легко проверять размер шрифта в браузерах на настольных и мобильных устройствах, выполняя кросс-браузерное тестирование совместимости. На скриншотах ниже мы реализуем свойство font-size-adjust на платформе Netlify и попытаемся получить к нему доступ в разных браузерах.

Войдите в панель управления LambdaTest. Вы можете бесплатно зарегистрироваться здесь.

Выберите «Тестирование в реальном времени» и оптимизируйте нужные конфигурации.

Предварительный просмотр CSS font-size-adjust в несовместимом и совместимом браузере.

Google Chrome (несовместимый)

Firefox (совместимый)

С помощью функции тестирования в реальном времени, доступной на платформе LambdaTest, вы можете выполнить кросс-браузерное тестирование и проверить его совместимость с CSS font-size-adjust.

Заключение!

Теперь вы, возможно, имеете представление о том, что делает свойство CSS font-size-adjust, почему оно важно, и как определить значение аспекта для различных шрифтов.

Поскольку CSS font-size-adjust изящно заменяется на резервный вариант в старых браузерах, вы сможете переместить и начать использовать его сегодня, чтобы повысить читаемость текста на рабочих веб-сайтах. Однако у него есть серьезные ограничения, связанные с поддержкой только некоторыми браузерами, как вы теперь убедились, выполнив тестирование совместимости. В таких ситуациях вам следует выбирать шрифты практически с одинаковым соотношением, чтобы избежать разницы в размере. Это руководство по кросс-браузерному тестированию в старых браузерах также может помочь.

Надеемся, вы нашли эту статью информативной. Если у вас есть какие-либо вопросы, не стесняйтесь задать их в разделе комментариев ниже. Если вам понравилась эта статья, поделитесь ею в социальных сетях, чтобы помочь другим найти ее. На этом пока все. Удачного тестирования!

Автор: Nimritee

Источник: www.lambdatest.com

Редакция: Команда webformyself.

Практический курс по верстке адаптивного сайта с нуля!

Изучите курс и узнайте, как верстать современные сайты на HTML5 и CSS3

Узнать подробнее

Фреймворк Bootstrap 4. Быстрый старт

Изучите основы Bootstrap 4 на практическом примере по верстке блога с нуля!

Смотреть

Всё для Web Дизайнера — CSS: назначение CSS, cпособы применения CSS,синтаксис, переопределение и наследование описаний, понятие блочного и строкового элемента, свойства блочных элементов(block или box), отступы(margin), набивка(padding), границы(border), обтекание(float,clear), цвет, цвет текста(color), цвет фона текста(background-color), шрифт(font), гарнитура(font-family), кегль(font-size), начертание(font-style,font-variant,font-weight), свойства текста, межбуквенные расстояния, выравнивание, трансформации(подчеркивание, прописные, строчные), первая строка параграфа, высота строки, списки и отображение элементов, форма «пулек», пульки»-картинки, позиционирование, координаты и размеры, управление видимостью,порядок наложения.

Кегль — это, если говорить упрощенно, размер шрифта. Более подробное объяснение следует искать в специальной типографской литературе. Нам здесь будет достаточно того, что CSS через параметр font-size позволяет управлять размером букв.

Размер шрифта можно задавать в типографских пунктах(pt, 0,35мм) или пикселях(px). При установки кегля стоит помнить, что font-size задает не высоту буквы, а размер «очка» под букву, который больше самой буквы.

Вот несколько примеров использования font-size:

<p>Кегль параграфа установлен в 12 пунктов</p>

Кегль параграфа установлен в 12 пунктов

<p>Кегль параграфа установлен в 12 пикселей</p>

Кегль параграфа установлен в 12 пикселей

<p>Кегль параграфа установлен в 120% от размера букв охватывающего параграф элемента</p>

Кегль параграфа установлен в 120% от размера букв охватывающего параграф элемента

Как видно из последнего примера, кегль можно задавать не только в абсолютных единицах, но и в относительных. Кроме процентов существует еще несколько условных единиц измерения кегля, которые можно применять в CSS:

<p>Размер кегля large</p>

Размер кегля large

<p>Размер кегля small</p>

Размер кегля small

<p>Размер кегля x-small</p>

Размер x-small large

<p>Размер кегля xx-small</p>

Размер кегля xx-small

Аналогично x-small и xx-small существуют размеры x-large и xx-large. Кроме этого есть larger, smaller, medium.

Правила Font (Weight, Family, Size, Style) и Line Height для оформления шрифтов в CSS

Главная / Как устроены сайты / CSS за 10 уроков

5 января 2021

  1. Font-family — задаем тип и гарнитуру шрифта в CSS
  2. Font-size — задаем в CSS размер для шрифта
  3. Свойства font-weight, line-height и font-style
  4. Сборные правила Font в языке стилей CSS

Здравствуйте, уважаемые читатели блога KtoNaNovenkogo.ru. Сегодня будет очередная статья, вносящая свой вклад в составление справочника по Css.

Речь в ней пойдет уже не о селекторах, а о свойствах таблиц каскадных стилей, а именно о свойствах, которые используются для оформления шрифтов в Html коде: font-family (weight, size, style, variant) и line-height. Постараюсь при этом максимально наглядно показать их работу, рассказать о синтаксисе и способах использования.

Если вы впервые столкнулись с понятием стилевого оформления кода, то советую начать углубляться в тему с основ (что такое CSS), а дальше уже идти по порядку, формирующему очередность материалов в упомянутом выше справочнике (вплоть до этой статьи). Собственно, во всех предыдущих материалах мы лишь во всех подробностях изучили тему селекторов, а сами свойства начинаем разбирать только сейчас.

Font-family — задаем тип и гарнитуру шрифта в CSS

Нужно будет предварительно сказать, что все свойства, используемые для оформления шрифтов (Font и Line Height) в Html коде, наследуются:

Итак, с помощью font-family можно задать гарнитуру и тип шрифта, который вам требуется применить к какому-то конкретному тегу (например, к абзаца P или же заголовков). Понятно, что элемент, к которому требуется применить это свойство, вы будете задавать в Css коде с помощью селекторов (о них мы с вами уже подробно поговорили и в начале публикации приведена соответствующая ссылка).

Позволю себе напомнить вам синтаксис написания CSS правил:

Т.е. сначала пишется свойство, а через двоеточие — значение для него. Правила, прописанные для каждого селектора, отделяются друг от друга точкой с запятой (после последнего ее можно не ставить):

Теперь давайте перейдем непосредственно к синтаксису font-family, ибо тут есть небольшие нюансы. В этом CSS свойстве нужно перечислить гарнитуры шрифтов в порядке убывания их приоритета (если на компьютере пользователя не будет установлен первый, то применен будет второй из списка, ну и т.д. по списку), а в конце нужно будет дописать семейство, например, sans-serif (если ни одного из перечисленных шрифтов на компьютере пользователя не обнаружится, то будет применен один из указанного семейства).

В приведенном примере браузер сначала поищет на компьютере пользователя установленный Arial, и если его найдет, то данный Html элемент им и будет в результате отрисован. А если Arial на компьютере пользователя найден не будет? Тогда браузер поищет Geneva, а в случае неудачи — Helvetica, ибо он идет следующим по убыванию приоритета в font-family. Понятно?

Ну, а если пользователь окажется настолько экзальтированным, что ничего из перечисленного в этом свойстве на его компе найдено не будет, то данный элемент будет отрисован тем шрифтом, который у этого пользователя выбран по умолчанию для семейства sans-serif (без засечек или, по другому, рубленные). Существуют еще семейства Serif (с засечками) и monospace (моноширинные), которые вы также можете использовать в Font-family для указания типа.

Да чего я объясняю?! Ведь это все в точности повторяет задание шрифтов в теге Font через атрибут Face, который сейчас считается не рекомендуемым (не валидным) и которому на смену как раз и пришло CSS свойство Font.

Тамже вы можете более подробно почитать про то, как пользователь может назначить умолчательные фонты различных типов:

Еще, кстати, написано, что существует проблема использования на сайте абсолютно любых фонтов, ибо они должны быть обязательно установлены на компьютерах пользователей. Считается, что с большой долей вероятности на компьютере пользователя будут установлены только около десятка (Arial, Verdana, Times New Roman, Tahoma, Georgia, Trebuchet MS, Courier New, Comic Sans MS), а значит именно их вы можете без опаски использовать в правилах с Font-family.

Но довольно интересный выход из этой ситуации предложил Google (онлайн шрифты для вашего сайта). Суть состоит в том, что браузер будет искать данные красивые гарнитуры (не входящих в десятку универсальных) не на компьютере пользователя, а на серверах Гугла, которые, как вы знаете, работают очень стабильно и с высоким аптаймом.

Но вернемся к синтаксису нашего CSS свойства. Я уже упомянул, что здесь есть одна маленькая особенность. Если в названии гарнитуры (которую вы хотите использовать на сайте) имеются пробельные символы, то это название обязательно нужно будет заключить в двойные кавычки.

Названия шрифтов, не содержащие пробелов в семействе Font-family, в кавычки заключать не обязательно:

Font-size — задаем в CSS размер для шрифта

Следующее свойство Font-size служит для задания размера шрифта для какого-либо элемента в Html коде. У него есть свои особенности. Размер можно задавать как в абсолютных, так и в относительных единицах:

  1. Можно задать размер жестко, используя для этого пиксели:
    font-size:10px;
  2. Можно использовать относительные единицы em и ex. Подробнее о них вы можете прочитать по ссылке, но если говорить кратко, то «em» — это высота шрифта, заданная для данного элемента по умолчанию или унаследованная, а «ex» — это высота латинской буквы «x» в нужной вам гарнитуре.

    Но размер «Ex» для разных браузеров может отличаться по отношению к «Em», поэтому в CSS свойствах font-size гораздо чаще используют относительные единицы размера шрифта в виде «Em». Например, если для заголовка задать:

    font-size:2em;

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

  3. Также относительные размеры в font size можно задавать и с помощью процентов, которые будут считаться от размера гарнитуры, который данный элемент получил по наследству. «Em», кстати, делает тоже самое. Один «Em» и 100% — это одно и то же:

    font-size:200%;

    Кстати, гарнитура по умолчанию определяется используемым браузеров и эту информацию всегда можно посмотреть. В Firefox, например, вам достаточно для этого выбрать из верхнего меню «Настройки» — «Настройки» — вкладка «Содержимое»:

    В приведенном примере корневой элемент (тег Html) получит в наследство от настроек браузера пользователя именно фонт такого размера и такой гарнитуры. Ну, а дальше либо все будет наследоваться от элемента к элементу в глубь Html кода (вложенными элементами), либо вы сможете задать для тега размер в абсолютных величинах.

    В любом случае вы вольны будете с помощью font-size задавать в относительных единицах уменьшение или увеличение этого унаследованного размера. То же самое можно сказать и об умолчательной гарнитуре (которая в CSS задается через font-family) — она тоже передается по наследству тегу из настроек браузера пользователя.

    Все шрифтовые правила наследуются. Т.е., если вы написали в каком-то элементе правило Font-size, то этот размер будет передаваться во все вложенные в него теги (наследоваться). Это можно перебить уже прописанным для вложенного элемента правилом «Font-size» и т.д.

  4. Можно еще в качестве значений для этого свойства использовать одно из семи обозначений: xx-small, x-small, small, medium, large, x-large или xx-large. Что это такое?

    А это полный аналог того, как мы задавали размеры в чистом Html с помощью тега Font и атрибута Size. Но только там мы использовали числа от 1 до 7, а здесь используются названия, но суть осталась прежней, и размеры, заданные таким образом и через возможности чистого html, будут коррелироваться между собой:

  5. Ну и последний способ задания относительных размеров заключается в использовании «larger» и «smaller», которые позволяют увеличивать и уменьшать размер шрифта относительно унаследованного (примерно на 17 процентов, но зависит от конкретного браузера). Этот способ тоже имеет аналог в чистом Html, т.к. ранее для этого использовались теги Small и Big.

Свойства font-weight, line-height и font-style

«Font-weight» в Css позволяет задавать нормальное (normal) или жирное (bold) начертание шрифта для того элемента, которому это свойство адресовано. Но на самом деле у него могут быть и другие значения. Их всего четыре буквенных плюс цифровая шкала:

  1. Для «font weight» можно использовать значения: normal, bold, bolder (чуть более жирный) или lighter (чуть более тонкий). Причем, реально работают во всех браузерах только значения normal (в него же будет переключать и lighter) и bold (bolder также даст просто жирное начертание).
  2. Либо цифровые значения от 100 до 900 с шагом в 100 (от сверхтонкого до сверхжирного). Т.е. по этой шкале шрифт мог использовать много начертаний разной степени жирности. Изначально значение normal соответствовало 400, а значение bold — 700.

    Но на практике пока ни один браузер для «Font-weight» этого не поддерживает в полной мере. А жаль, иногда хочется использовать чуть более жирный или чуть более тонкий фонт, чем тот, что нам могут дать значения «normal» и «bold». Увы и ах, сейчас все цифры менее 400 дадут вам в итоге нормальный, а все что больше — жирный.

Кстати, в одной из последних статей мы рассматривали такое понятие, как Css стили принятые по умолчанию, для оформления элементов в Html коде, если в файле таблиц каскадных стилей для этих элементов ничего не задано. Так вот там, например, для заголовков h2-H6 и тегов логического и физического выделения жирным (strong и B) определен стиль font weight со значением bolder:

Т.е. разработчики стандарта языка стилевой разметки предполагали, что это будет работать и полностью поддерживаться браузерами, но пока что «Font-weight: bolder» интерпретируется большинством браузеров как «bold» и не более того. По умолчанию, свойство «font weight» имеет значение «normal» (посмотреть это можно для любого свойства в спецификации в столбце «Initial value»).

Следующее правило, которое у нас стоит на очереди и которое позволяете задать оформление шрифтов для имеющихся у вас Html элементов, это «Line-height», что означает — высота линии. Смысл этого правила в том, чтобы отодвинуть строчки текста на веб-странице друг от друга по высоте, ибо слепленные друг с другом строки становятся не читаемыми. В полиграфии это называется интер-линьяж.

С помощью «Line-height» можно добавить или уменьшить пространство над и под строкой с текстом, изменяя таким образом всю высоту линии с текстом:

Расстояние от текста (его размер задается через «font-size») откладывается симметрично (вверх и вниз одновременно). По умолчанию Css свойство «line height» для всех Html элементов с текстом будет иметь значение Normal (посмотреть это можно для любого свойства в спецификации в столбце «Initial value»), которое зависит от типа используемого шрифта и вычисляется браузером автоматически.

Например, для Arial высота линии равна примерно 120%, т.е. размер по вертикали всей строки (литеры плюс свободное пространство над и под ней) будет на 120% больше высоты шрифта. А для Times New Roman значение этого свойства по умолчанию будет уже примерно 125%.

Для увеличения и уменьшения расстояния между строками текста можно использовать относительные значения для «Line-height» в виде процентов или «Em». Например, для сильного разрежения строк (увеличения высоты линии) можно написать:

line-height:300%;
или
line-height:3em;

А если написать так:

line-height:30%;
или
line-height:0.3em;

то высота линии станет меньше, чем высота шрифта (font-size), и строки текста попросту наедут друг на друга.

В качестве значений для «Line-height» можно также использовать и любые абсолютные значения, которые принято использовать для шрифтов в таблицах каскадных стилей — пикселы (px), дюймы (in), пункты (pt). Либо можно использовать безразмерный множитель (любое число больше нуля). Например, для задания полуторного интервала между строками можно написать так:

line-height: 1.5;

Следующее Css свойство — это «font-style», с его помощью можно задать наклонный шрифт (курсив). Для него по спецификации предусмотрено три варианта значений: normal, italic и oblique. Но на практике используются только первые два. Причем, значение «normal» является значением по умолчанию.

Когда вы задаете для какого-либо элемента Html кода значение font-style:italic, то браузер будет искать нужную гарнитуру, помеченную как «italic» (т.е. курсивное начертание). Если сами вы зайдете через панель управления на своем компьютере в «шрифты» , то увидите там, что многие из них имеют вариант с «italic» или «курсив» в названии.

Но есть шрифты (например, всем известный Tahoma), у которых разработчиками не было предусмотрено наклонного начертания. Что же сделает в этом случае браузер (если вы в font-style прописали italic)? А он будет сам пытаться наклонить буквы этого шрифта, раз об этом заблаговременно не позаботились его разработчики. Выглядеть это будет, конечно же, хуже.

Ну, а значение oblique для font-style будет вынуждать браузер всегда наклонять шрифт своими средствами, даже если для него имеется курсивное начертание. Выглядеть это будет зачастую просто ужасно, поэтому значение «oblique» практически не используется.

Ну и последнее из рассмотренных сегодня свойств таблиц каскадных стилей — font-variant, которое очень редко используется при верстке с учетом Html и CSS.

По умолчанию в шрифтах начертание строчных букв отличается от заглавных не только размером, но и внешним видом самих литер. А вот «font-variant» позволяет, не изменяя размера строчных букв, сделать их начертание точно таким же, как и начертание заглавных.

Соответственно, у этого свойства имеется всего два значения: normal (по умолчанию) и small-caps (начертание строчных будет таким же, как и у заглавных букв). Для русского языка это свойство используется крайне редко.

Font — сборные правила в языке стилей CSS

Сборное правило Font, как и другие подобные в языке CSS, позволяет указать в нем значения отдельных элементарных свойств через пробелы.

В большинстве случае порядок значений свойств в сборных правилах не важен, но вот в Font это не так. Здесь важен порядок следования значений и он должен быть именно таким, как показано на приведенном чуть выше скриншоте (кстати, скриншот сделан в snagit).

Т.е. писать нужно будет примерно так:

font: italic small-caps bold 12px/12px verdana;

Но на самом деле, в сборном CSS правиле Font обязательны только два последних значения (font-family и font-size, даже без указания через слеш значения line-height). А какие же значения тогда браузер будет использовать для не указанных в нем свойств? Ну, очевидно, что значения, принятые для них по умолчанию (посмотреть это можно для любого свойства в спецификации в столбце «Initial value»).

А знаете почему обязательно указывать в этом сборном правиле значения для «font-family» и «font-size»? Да потому, что они не имеют как таковых значений по умолчанию (ибо они берутся из настроек браузера пользователя, как мы узнали чуть выше по тексту). Поэтому, если вы не хотите переопределять гарнитуру или размер шрифта, то сборное правило Font использовать не стоит (лучше использовать отдельные).

Т.о. его в основном используют для тегов Html или Body, а для внутренних элементов, у которых гарнитура и размер фонта должны будут наследоваться, чаще всего используют отдельные Css свойства (font-weight, size, style).

Если для внутренних элементов использовать это составное правило, то придется обязательно прописывать гарнитуру и размер. А если вы потом захотите их поменять? Что, будете лазить по всем составным сборным правилам Font в коде? Это неудобно. Поэтому оно и используется в основном только для внешних контейнеров. Но это так, размышления на тему.

Чаще всего составное правило Font пишется без многих свойств, которые редко используют отличными от умолчательных:

font:bold 4em/3em arial, "comic sans ms", sans-serif;

Т.е. здесь задается жирное начертание, указывается размер, высота линии и гарнитура. Ну, или еще проще:

font: 10px arial, sans-serif;

Это минимально возможная форма написания, в которой присутствуют только обязательные свойства «font-family» и «font-size». Все остальные будут использоваться браузером со значениями принятыми по умолчанию (normal). Описанный выше синтаксис сборного правила Font взят из спецификации:

Удачи вам! До скорых встреч на страницах блога KtoNaNovenkogo.ru

Использую для заработка

Почему 12 pt не одинаковы для шрифтов

Размер шрифта имеет решающее значение как для разборчивости, так и для воздействия текста. Но каков именно размер шрифта? Где он измеряется и почему буквы шрифта Times крупнее, чем буквы английского скорописного шрифта, даже если вы ввели одинаковое значение в пунктах?

Интернет изобилует рекомендациями по размеру шрифта для студентов и других целевых аудиторий. Например, некоторые университеты по-прежнему предписывают, какой шрифт (Times New Roman) и кегль (12 пт) использовать для диссертации, что не обязательно способствует разборчивости диссертации.Многие люди не уверены в размерах шрифтов. И это вполне понятно, учитывая отсутствие лаконичных и понятных рекомендаций по этому поводу. Пора пролить свет на этот вопрос.

Типографские единицы

При работе со шрифтом мы используем не метрическую систему измерения, а типографские единицы. Итак, когда мы говорим о размере шрифта, мы используем не метры и миллиметры, а наименьшую типографскую единицу, , точку , установленную на заре печати и сохранившуюся до наших дней.На протяжении многих лет и столетий применялись разные единицы измерения: точка Дидо, модифицированная версия, основанная на точке Фурнье, долгое время была стандартом в мире типографики. На 0,375 мм это было немного больше, чем сегодняшняя точка PostScript или DTP, которая составляет 0,353 мм . Поэтому, если вы вводите размер шрифта 10 пунктов в Microsoft Word или Adobe InDesign, вы определяете, что ваш шрифт будет иметь размер 3,53 мм. По крайней мере, теоретически.

Что такое размер шрифта?

Давайте сначала определим термин «размер шрифта».Строго говоря, этот термин вводит в заблуждение, поскольку мы не определяем размер шрифта при установке значения точки в InDesign, Word или других приложениях, а указываем высоту основного текста. При ручном наборе высота корпуса определяется высотой грифеля или сорта металла, на котором отлита фактическая поверхность шрифта, печатная поверхность шрифта. Он окружен пустыми или пустыми частями формы буквы, так называемыми счетчиками.

Металлический сорт времен ручного набора

Когда Гутенберг установил шрифт размером 12 пунктов, именно металлический шрифт, а не печатная буква, имела высоту 12 пунктов по вертикали.Следовательно, высота тела обычно больше, чем напечатанный глиф.

К счастью, в наше время нам больше не нужно таскать с собой типографские футляры. В эпоху цифрового шрифта мы больше не работаем с лид-типом. Но рост по-прежнему является важным критерием в дизайне шрифтов. В конце концов, когда вы вводите размер шрифта 12 пунктов в InDesign, вы определяете высоту ограничивающего прямоугольника глифа, которая соответствует высоте металлического тела, на которое шрифт был отлит в первые дни.

Шрифт PT Sans установлен в InDesign на 12 пунктов; серый прямоугольник за шрифтом имеет высоту 12 пунктов, что равно 4.233 мм и представляет собой рост тела.

Различные результаты измерений

Теперь можно предположить, что вам просто нужно убрать 15 процентов счетчика, то есть пустые или пустые части формы буквы, для каждого шрифта. Таким образом, при вводе 12 pt минус 15 процентов каждый шрифт будет иметь измеряемую высоту 10,2 pt. Но это не тот случай, как вы, вероятно, заметили: два разных шрифта, установленных с одинаковым размером точки, могут казаться одинаковыми по размеру или выглядеть удивительно разными.Помимо оптического размера, который также важен, использование высоты тела является решающим для действительно измеримого конечного размера.

Дизайнеры гарнитуры сами решают, как использовать высоту основного текста для создания баланса между печатным глифом и непечатаемым пространством вокруг него. Типографы, которые предпочитают более открытую, воздушную атмосферу, могут вырезать большую часть текста письма, тогда как другие шрифты в полной мере используют доступное пространство дизайна, достигая границ ограничивающего прямоугольника глифа и за его пределами.

В зависимости от того, как используется доступное пространство, реально измеримый шрифт будет больше или меньше.

Гарнитуры в этом отношении существенно различаются. Иногда они даже выходят за границы, установленные высотой тела, как в случае со шрифтом Scrubble.

Различный внешний вид

При рассмотрении размеров мы должны помнить о влиянии шрифта. Существуют шрифты, которые идентичны как по высоте (размер шрифта — 12 пунктов), так и по фактически измеряемому размеру букв (такой же размер прописных букв, измеренный типометром).Тем не менее, они кажутся разными по размеру, и их разборчивость различается, особенно при кеглях маленького размера. Это почему?

Буква имеет разные анатомические особенности. «P», например, проходит ниже базовой линии, «a» остается посередине, «b» поднимается над средней линией, «E» располагается посередине и вверху, «O» поднимается вверх. еще немного, и столицы с акцентом побеждают в соревновании по высоте. Это проиллюстрировано на рисунке ниже:

Анатомия шрифта

Помимо форм, ширины линии и ширины букв, именно x-height имеет решающее значение для оптического размера.Высота по оси x — это высота строчных букв в гарнитуре, например «m», «a» или «z». Эта высота отличается от высоты крышки, то есть букв «M», «A» или «Z». Часто буквы имеют соотношение размеров в соответствии с золотым сечением с коэффициентом 1,6, что означает, что «M» в 1,6 раза больше, чем «m».

Но как всегда эти пропорции средние. Многие шрифты используют другие пропорции, и они тоже работают. И хотя вы должны быть осторожны, делая обобщенные утверждения о размере шрифта, можно сказать, что шрифты с большой высотой по оси x по сравнению с высотой кепки, как правило, кажутся больше, чем шрифты с относительно небольшой высотой по оси x.

У каждого шрифта есть определенное соотношение между высотой заглавной буквы и x-высотой, что также влияет на общую читаемость шрифта.

Помните: не все шрифты размером 12 пунктов сделаны одинаковыми. В зависимости от шрифта различия могут быть значительными: шрифт размером 12 пунктов может казаться маленьким, как шрифт 8 пунктов, или большим, как шрифт 16 пунктов.

Измерение размера шрифта

Итак, что делать, если у вас есть шаблон и вам нужно выяснить, какие размеры шрифта используются, например, для создания нового флаера на основе старого шаблона?

Существуют разные подходы к этому, но, к сожалению, нет общеприменимых стандартов.Используя типометр, который представляет собой линейку, разделенную на типографские точки, мы можем измерить печатные шрифты. Но здесь также есть разные способы измерения, разные типометры и, в конечном счете, разные размеры точек.

Высота в л.с.

Высота в л.с. является стандартной величиной; он измеряет высоту от верхнего края буквы «h», «b», «d» или «l» до нижнего края «p» или «q». Для этого на большинстве типометров нанесены прямоугольники с печатью. Все, что вам нужно сделать, это найти прямоугольник, который точно соответствует буквам «h» и «p», и вы знаете размер шрифта.Если бы только не было вопроса об использовании другой высоты тела, описанной выше…

Типометр, используемый для измерения размеров шрифта

Высота крышки

В качестве альтернативы, некоторые дизайнеры работают с высотой крышки, которая измеряет только высоту заглавной буквы без чашек , например, буквы «Н» или «М». Но их тоже сложно измерить, особенно в случае курсивных и рукописных шрифтов. Конечно, высота крышки не совпадает с размером пункта, который вы вводите в InDesign и других приложениях.Здесь необходимо указать рост. Таким образом, вы можете рисовать на собственном опыте или знать, где искать, чтобы рассчитать размер шрифта или высоту текста по высоте кепки.

Какой размер шрифта для какой цели?

Учитывая описанную выше ситуацию, вряд ли возможно дать надежные рекомендации по размеру шрифта. Размер легко читаемого шрифта для более длинного основного текста, который используется в журналах и книгах, обычно составляет от 8 до 12 пунктов. Чтобы сузить круг вопросов, вы должны знать, какой шрифт используется для надежного утверждения.То же самое касается визитных карточек или фирменных бланков, для которых одинаково хорошо подходит размер шрифта от 8 до 12 пунктов. Подписи, информация об авторских правах, сноски и аналогичные аннотации могут по-прежнему быть читаемыми в 7 pt. Но это сильно зависит от используемого шрифта и других деталей, таких как длина строки, количество текста или фон. Шрифты 6 pt обычно требуют от читателя хороших очков или используются для мелкого шрифта в контрактах, которые в любом случае никто не хочет читать.

Заключение: мы знаем, что ничего не знаем.

Не существует универсальной основы для использования роста и / или размера шрифта, который в конечном итоге обеспечивает. Размеры шрифта являются относительными, и тренированный глаз и опыт — самые полезные инструменты для выбора правильного размера в дополнение к некоторым основным значениям.

Веб-типографика | Размер шрифта

Стандартной единицей измерения высоты шрифта в мире печати является точка. В мире Интернета, помимо точки (pt), существует множество других способов измерения размеров шрифта.Их можно разделить на две группы: размеры с фиксированной высотой и относительные размеры шрифта.

Измерение фиксированной высоты

  • баллов (пт)
  • picas (шт)
  • дюймы (дюймы)
  • сантиметры (см)
  • миллиметры (мм)

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

  • Высота по оси X (ex) В зависимости от высоты строчного символа x [рис.2].
  • Пикселей (пикселей) В зависимости от разрешения экрана.

Использование фиксированной высоты в Интернете не рекомендуется, поскольку Интернет обычно просматривается на экране, а разные экраны имеют разное разрешение. Когда вы указываете 14-точечный шрифт, он может отображаться намного больше или меньше, чем вы ожидаете на разных экранах. Это чаще всего наблюдается при переходе между компьютерами Windows и Macintosh: шрифт обычно отображается на Mac почти на 25% меньше.

Таким образом, лучший способ установить размер шрифта в Интернете — использовать относительное измерение шрифта.

Относительный размер шрифта

  • Ems (em) На основе размера шрифта по умолчанию в браузере средства просмотра.
  • Проценты (%) Подобно ems, основано на настройках браузера по умолчанию и вычислено относительно окружающего текста.
    1 em = 16 пикселей (размер шрифта по умолчанию в большинстве браузеров) *

Думайте в пикселях, используйте Ems для измерения.
Размеры шрифтов наследуются в DOM дочерними элементами от своих родительских элементов. Это может затруднить расчет размера вложенных элементов. Хорошая идея — сначала измерить все в пикселях, а затем преобразовать измерения в EMS.

Составление в масштабе

Хорошее практическое правило — выбирать удобный размер шрифта: от 14 пикселей и выше. Используйте шкалы [рис.3], чтобы различать заголовки, основной текст, нижние колонтитулы, примечания на полях и другую текстовую информацию.

Как только размер основного текста определен, размеры другого типа могут быть выбраны в масштабе для создания иерархии.Отношения em между разными размерами шрифта также основаны на том, где они находятся на шкале.

* Подробнее о Em

Em измеряет относительный размер и может быть указан с точностью до трех десятичных знаков, например, 1,375em. Он рассчитывается на основе размера шрифта родительского элемента.

Вот формула для преобразования пикселей в em:

    требуемое значение пикселя ÷ родительский размер шрифта = значение em

Например, размер шрифта h2 составляет 18 пикселей.Чтобы преобразовать его в em, 18 ÷ 16 = 1,125em (размер шрифта тела по умолчанию — 16 пикселей).

    1 Сравнение в дюймах, точках и пиктограммах
    2 Определение ex
    3 Шкала
    Пример классической шкалы: Пример шкалы на основе последовательности Фибоначчи:

    Хорошим решением для обеспечения единообразия размера шрифта во всех браузерах является объединение процентов и em.Установите размер основного шрифта по умолчанию в процентах, а остальное — в em.

    body {font-size: 100%;}
    h2 {font-size: 2.5em;}
    h3 {font-size: 1.875em;}
    p {font-size: 0.875em;}

Размер шрифта

· Документы WebPlatform

Сводка

font-size устанавливает размер шрифта текста внутри элемента, к которому он применяется, и его потомков. Вы можете изменить размер текста, используя абсолютные измерения или измерения относительно родительских или корневых элементов затронутого элемента.Обзор CSS Text Styling Fundamentals.

Обзорная таблица

Начальное значение
средний
Относится к
Все элементы
Унаследовано
Да
Медиа
визуальный
Расчетное значение
, как указано, но с относительной длиной, преобразованной в абсолютные значения пикселей.
Анимационный
Да
Свойство объектной модели CSS
размер шрифта

Синтаксис

  • font-size: absolute ключевые слова
  • font-size: наследовать
  • font-size: length
  • font-size: процент
  • font-size: относительные ключевые слова

Значения

абсолютных ключевых слов
Набор ключевых слов, обозначающих предопределенные размеры шрифта, которые масштабируются в соответствии с настройками шрифтов или значениями по умолчанию для каждого браузера.Возможные значения от наименьшего до наибольшего: xx-small , x-small , small , medium , large , x-large и xx-large .
относительных ключевых слов
Набор ключевых слов, интерпретируемых относительно размера шрифта родительского элемента — либо меньше , либо больше .
длина
Абсолютное значение единицы: допустимы любые стандартные единицы длины css.Отрицательная длина запрещена.
процентов
Процентное значение указывает абсолютный размер шрифта относительно font-size родительского элемента.
наследовать
Ключевое слово inherit заставляет элемент перенимать размер шрифта своего родительского элемента.

Примеры

Подборка примеров, демонстрирующих типичное использование свойства font-size.

  

Пример первый: мы ♥ Документы WebPlatform!

Пример второй: Lorem ipsum dolor sit amet, conctetur adipisicing elit.Officiis, eos, dicta nihil aliquid quia dolores labore nesciunt unconctetur blanditiis ex eius consquatur qui incidunt voluptatem Inventore fugit quos amet!

Пример третий: Eius, earum unde eum distinctio ex accusamus rem eligendi optio mollitia deleniti? Iure, accusamus, fuga ipsa quas doloremque enim velit sed est earum pariatur ab optio quia molestiae repllendus non.

  .example-one {
    размер шрифта: 1.2em;
}

.example-two {
    размер шрифта: маленький;
}

.example-three {
    размер шрифта: 28 пикселей;
}
  

Посмотреть живой пример

Переопределение типичного 16px размера шрифта браузера по умолчанию среднего значения как 10px , с последующим изменением размера текста, который следует за ним, пропорционально этому.

  HTML {размер шрифта: 62,5%; }


.example-one {размер шрифта: 3.6rem}
.example-two {размер-шрифта: 2.4rem}
.example-three {размер шрифта: 1.4rem}
  

Посмотреть живой пример

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

  Ключевые слова, такие как большой и средний, или относительные em или процентные единицы, обычно безопаснее использовать, чем измерения в пикселях, особенно для мобильных веб-браузеров, которые настраивают свой набор размеров шрифта по умолчанию для удобочитаемости.Использование процентных значений или значений в EMS приводит к более надежным и каскадным таблицам стилей.
  

В противном случае пиксели предлагают самый безопасный способ задания измерений, поскольку пиксели CSS корректируются с учетом вариаций плотности пикселей дисплея.

Хотя исходный средний размер применяется широко, браузеры применяют таблицу стилей по умолчанию, которая изменяет ее для различных семантических элементов, например, увеличивая размер заголовков. Браузеры также автоматически изменяют размер шрифтов при масштабировании страницы, переходя по значениям, которые могут не точно соответствовать коэффициенту масштабирования.Если не отключено с помощью text-size-adjust , шрифты также изменяют размер при переключении между книжной и альбомной ориентацией в мобильных браузерах. Для обзора проблемы см. Мобильное окно просмотра и ориентация.

Значение font-size также влияет на значение line-height при использовании значений по умолчанию или относительных измерений.

Наряду со многими другими свойствами CSS, font-size также может применяться непосредственно как атрибут SVG:

  
  

Связанные спецификации

Модуль шрифтов CSS, уровень 3
Осадка рабочий
Модуль значений и единиц CSS, уровень 3
Кандидат в рекомендации
Каскадные таблицы стилей, уровень 2, редакция 1 (CSS 2.1) Спецификация
Рекомендация W3C

См. Также

Статьи по теме

CSS Шрифт
Шрифты
Текст

Другие статьи

Внешние ресурсы

Глубина понимания размера шрифта (PX vs EM vs REM) | Тауфик Ахамад | NYC Design

Понимание размера шрифта

Размер шрифта играет очень важную роль в Интернете. Размер шрифта является одним из свойств CSS. Размер шрифта или размер текста определяют размер символов, отображаемых на веб-странице.шрифт обычно измеряется в пунктах (pt) и обычно определяется в пикселях (px).

По умолчанию базовый размер шрифта (Body Font-size) любой веб-страницы составляет 16 пикселей, пока мы не определим какой-либо собственный размер шрифта.
Свойство font-size задается одним из следующих способов:

1. Абсолютный размер или Относительный размер
2. Как длина или процентов (относительно размер шрифта родительского элемента)

Базовый синтаксис

Базовый синтаксис шрифта

Абсолютный размер
xx-small , x-small , small , xx-large , x-large , large
Размер шрифта с ключевыми словами Absolute-size будет больше или меньше размера шрифта родительского элемента.

Относительный размер
меньше , больше

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

Percentage-Size
Размер шрифта с Percentage всегда будет положительным значением и относительно размера шрифта родительского элемента

Define Font-Size In Body

Определение font-size в body — лучший подход для разработки любой веб-страницы.Установив размер шрифта ключевого слова для основного элемента, вы можете установить относительный размер шрифта везде на странице, что дает вам возможность легко масштабировать шрифт вверх или вниз на всей странице соответственно.

Размер шрифта в пикселях (Px)

Определение размера шрифта в пикселях не является хорошей практикой. это будет хорошо только в том случае, если у вас будет идеальный пиксельный дизайн.
Пиксель (px) — статическое значение, px — независимая от ОС и кроссбраузерная программа, сообщающая браузерам, что нужно отображать буквы в точном количестве пикселей по высоте, которое вы указали.Результаты могут незначительно отличаться в зависимости от браузера, поскольку каждый браузер использует разные алгоритмы и подходы для достижения аналогичного эффекта.
Когда вы определяете размер шрифта в пикселях (px), вы можете столкнуться с необходимостью написать дополнительный CSS для управления страницей в адаптивном режиме. и вы должны писать CSS в каждой точке останова.

Размер шрифта в EM

Другой способ определения размера шрифта — использовать значения em. Размер значения em является динамическим. когда мы определяем размер шрифта в em, он зависит от размера родительского элемента.
, если мы не установили размер шрифта для родительского элемента, то по умолчанию он будет принимать размер шрифта браузера, то есть 16 пикселей.
Самое важное, что нужно знать о em, это то, что он всегда зависит от размера шрифта его родителя. поэтому, если вы определяете шрифт во вложенном элементе, вы должны помнить об этом, чтобы установить размер шрифта.

Преобразование пикселей в em

Размер шрифта в REM

Значения размера шрифта rem были изобретены для того, чтобы преодолеть проблему em с вложенными элементами.
Размер шрифта rem. значения относятся к корневому элементу html, а не к родительскому элементу, остальные все такие же, как em.
Ниже приведены различия между rem и em , если есть вложенные элементы.

Разница между вложенными элементами с EM и REM

Вложенный элемент с EM Вложенный элемент с REM

Ссылка: https://developer.mozilla.org/en-US/docs/Web

Руководство по размеру шрифта

— преобразование точек в дюймы

При создании и разработке пользовательских этикеток в Интернете, что мы и делаем здесь, в LabelValue, стандартной единицей измерения текста является точка (pt).Если вы не художник-график, вы, вероятно, больше всего знакомы с кеглем по старшей школе или в колледже.

Большинство преподавателей давали письменные задания со следующими инструкциями: 5 страниц, двойной интервал, 12 пунктов. шрифт — Times New Roman (и если они не давали рекомендаций, я знаю, что вы увеличили размер шрифта до 14). Размер точек отлично подходит для обеспечения единообразия документов в школе, на вашем веб-сайте или в вашем бизнесе, но преобразование точек в дюймы или миллиметры — это то, что многие владельцы малого бизнеса и сотрудники должны ежедневно пытаться вычислять, чтобы соответствовать отраслевым нормам. .Мы часто получаем клиентов, разрабатывающих этикетки с помощью нашего инструмента для создания этикеток, у которых есть строгие правила, которым они должны соответствовать. К сожалению, выбор размера шрифта — это равные части искусства и науки, и это может немного сбить с толку.

Размер шрифта с фиксированной высотой

При измерении шрифтов в дюймах вы измеряете фиксированную высоту шрифта . Это фиксированное измерение высоты полезно, когда нормативные законы предписывают, что на вашем продукте должны быть этикетки с минимальной высотой шрифта, например, 3/8 дюйма.

Вы можете спросить, какой размер пункта составляет 3/8 дюйма?

Ну … это зависит от того.

Вот некоторые факты (и
полезный наглядный материал из Школы медиа и дизайна Университета Джеймса Мэдисона) об измерении кегля и дюймов. Но есть некоторые непредвиденные обстоятельства, которые я объясню позже.


1 дюйм примерно равен 72 точкам

  • ШРИФТ ИМЕЕТ 3 ЭЛЕМЕНТА:
  • X-HEIGHT — высота строчного символа «x».
  • Восходящие знаки — строки, продолжающиеся над основанием символа «x».
  • ДЕСЦЕНДЕРЫ — линии, продолжающиеся ниже базового символа «x».
  • РАЗМЕР ТОЧКИ — включает в себя все три этих элемента.

РАЗМЕР ТОЧКИ

Размер в пунктах измеряется от высоты верхнего восходящего элемента (пика) до базовой линии строчной буквы x. Затем он измеряет расстояние от самого нижнего нижнего нижнего элемента (впадины) шрифта до верхней части строчной буквы x. Стандартизированные шрифты (например,грамм. Arial, Times New Roman, Calibri и т. Д.), Как правило, очень строго соблюдают эти правила, поэтому это ваша самая точная ставка для преобразования очков в дюймы. Однако …

Теоретически, если выбрать 27 пт. Шрифт, независимо от шрифта, он должен быть 3/8 дюйма в высоту, используя наше соотношение 72 пункта к 1 дюйму. К сожалению, многие шрифты не стандартизированы (например, рукописные, модные, вычурные шрифты), поэтому эти соотношения могут не применяться. Но даже если мы будем придерживаться стандартизированных шрифтов, могут возникнуть некоторые проблемы.Если взять наш предыдущий пример, который использует 3/8 дюйма в качестве минимального требования к высоте шрифта, , вам все равно придется использовать шрифт большего размера, чем 27 pt, если вы используете строчные буквы . В зависимости от того, насколько буквы типа «d» поднимаются от высоты x, «d» вполне может составлять 3/8 дюйма в 27 точках, в то время как простые «c» или «x» будут намного меньше. потому что у них нет зажимов или зажимов.

Хотя обычно вы можете использовать такие вещи, как этот отличный калькулятор высоты шрифта, для расчета минимального размера шрифта, который вы должны использовать, он не всегда будет точным на 100%, поэтому позвольте себе немного повозиться.

Лучшее решение для норм высоты шрифта при разработке этикеток и упаковки

Лучшее решение для обеспечения соответствия минимальным требованиям к высоте шрифта при использовании нашего инструмента настраиваемых этикеток или при попытке получить точный размер текста в дюймах — это писать заглавными буквами стандартным шрифтом (например, Arial, а не FontDiner Swanky) и поставьте себе пару дополнительных очков — на всякий случай, если это возможно. Всегда убедитесь, что у вас есть лишние несколько очков, если это возможно, на случай, если выбранный вами шрифт не соответствует стандарту на процент.Если у вас есть какие-либо вопросы о выборе размера шрифта для пользовательских этикеток, сообщите нам об этом по телефону 1-800-750-7764.

Что измеряет размер шрифта? — HTML и CSS — Форумы SitePoint

Абсолютные единицы

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

Использование абсолютных единиц для установки веб-шрифтов считается плохой практикой. Это полный позор, поскольку абсолютная единица вполне может быть лучшим способом обеспечить приличную читаемость текста на всех устройствах.На самом деле, теоретически использование абсолютных единиц для изменения размера текста может быть предпочтительным вариантом, но большинство браузеров / программного обеспечения / ОС не могут сопоставить заданный абсолютный размер с соответствующим количеством пикселей для устройства (и конфигурации), на котором они работают. Так что пока, по крайней мере, не используйте абсолютные единицы для размера веб-шрифтов.

Относительные единицы

Пиксели — это относительные единицы. Фактический размер пикселя может сильно отличаться от устройства к устройству. Размер экрана iPhone составляет 3,5 дюйма, 480 на 320 пикселей. Экран Palm Pre имеет такое же количество пикселей, но меньше (3.1 «). То же количество пикселей, но меньший экран: следовательно, разрешение экрана (в точках на дюйм) выше, а фактический размер пикселя меньше. И вы наверняка заметили, что экраны ноутбука или настольного компьютера, которые вы используете сейчас имеют пиксели меньшего размера, чем у устройств десятилетней давности? (Ну, по крайней мере, у ноутбуков.) На самом деле разница в DPI от одного компьютерного устройства (и конфигурации) к другому иногда составляет 2: 1.

Это означает, что веб-графика (в основном размер в пикселях) может отлично отображаться на одном экране, но огромной или крошечной на другом.А поскольку многие сайты используют пиксели для определения размера веб-шрифта, это означает, что текст, читаемый на одном устройстве, может быть слишком маленьким на другом. Это сложная проблема, и идеального решения нет. Было бы неплохо использовать абсолютные единицы измерения, такие как точки (pt), но большинство браузеров (или ОС, или их комбинация) плохо поддерживают это.

В любом случае, поскольку большая часть веб-графики, с которой мы работаем, представлена ​​в пикселях, и мы склонны изменять размер наших веб-сайтов (по крайней мере, их ширину) в пикселях, возникает соблазн использовать пиксели и для изменения размера текста.С этим есть две проблемы:

  1. Internet Explorer (5-8) не позволяет пользователям изменять размер текста в пикселях. Все остальные браузеры работают, но IE — нет. Теперь это не проблема, поскольку в IE7 и 8 наиболее очевидным для конечного пользователя является увеличение текста при увеличении масштаба всей страницы.

  2. Пользователи, которые настроили свой браузер на использование другого (меньшего или большего) размера текста по умолчанию, могут захотеть, чтобы их предпочтения применялись к веб-сайтам, которые они посещают. Использование пикселей не позволяет этого.

Думаю, мне не нужно никому напоминать, почему разрешить конечному пользователю изменять размер текста — это хорошо? (На всякий случай: если ваши посетители не могут прочитать ваш текст из-за своего устройства или из-за собственного плохого зрения, или и того, и другого, вы хотите, чтобы они ушли, или вы хотите, чтобы они использовали подручные инструменты — масштабирование текста функция их браузера — чтобы все равно иметь возможность читать ваш контент?)

Пропорциональные единицы

В CSS доступны следующие пропорциональные единицы:%, em и ex.Забудьте о ex, это сложно объяснить, это не всегда реализовано в браузерах, и даже если бы это было так, было бы не так полезно.

Pourcentages… ну, это зависит от свойства, которое вы используете. Проценты работают по-разному для высоты, ширины и размера шрифта. В случае font-size процент относительно вычисленного font-size родительского элемента. Т.е. если вы установите html {font-size: 20px}, затем body {font-size: 50%;}, тогда вычисленный размер шрифта для основного элемента будет 10 пикселей.

Единица em ведет себя точно так же (при использовании для font-size), чем проценты, за исключением того, что эквивалент font-size: 100% равен font-size: 1em. Что касается происхождения названия устройства, оно может быть связано с шириной буквы «M», но не обманывайте себя: ширина большинства букв «M» в большинстве шрифтов меньше одной em. Символы, которые имеют (или должны) быть шириной 1em, — это EM DASH (-) и EM SPACE. Оба используются типографами и определены в Unicode. В любом случае, одна em в заданном размере шрифта эквивалентна высоте строки текста (без интерлиньяжа), составленной с использованием этого размера шрифта.Если у элемента font-size: 12px (как заданное или вычисленное значение), то для этого элемента значение одного em равно 12px.

Последнее замечание: базовый размер шрифта в большинстве веб-браузеров в настоящее время настроен как 16 пикселей (если пользователь не изменил его). Итак, если вы установите font-size: 80% или эквивалентный font-size: .8em для элемента body, то ваш базовый размер шрифта (для элемента body и его содержимого) станет вычисленным значением 12,8 пикселей. Браузеры и / или ОС (поскольку некоторые браузеры в некоторой степени используют инструменты ОС для визуализации текста) могут попытаться округлить это значение до 13 пикселей или могут попытаться отобразить текст примерно с 12.8px (Firefox 3-3.5 делает это в OS X, а Safari 3-4 выполняет округление).

Хорошо, это для пропорциональных единиц. Они предпочтительны для предотвращения проблемы IE6 с изменением размера шрифта и пикселей, а также для того, чтобы позволить конечному пользователю указать другой базовый шрифт (например, 18 пикселей вместо 16 пикселей) — для удобства или ясности. На самом деле, многие нормы или методы доступности запрещают использование абсолютных единиц или единиц в пикселях для размера шрифта.

Размер шрифта

в адаптивном дизайне: px vs.pt против em против процента?

Как фронтенд-разработчик, я лично люблю работать с CSS. В последнее время я много работал с адаптивным дизайном, и, как я уже отмечал в предыдущем посте о разработке для мобильных устройств, нужно помнить о форматах телефонных номеров. Еще одна вещь, о которой следует помнить при разработке для мобильных устройств, — это размер шрифта CSS.

пикселей (пикселей) как размер шрифта CSS

Пиксели имеют фиксированный размер. Один пиксель обычно равен одной точке на экране.Поскольку пиксели имеют фиксированный размер, они не меняются. Это может быть как хорошо, так и плохо. Он позволяет веб-разработчикам создавать наиболее точные или «идеальные по пикселям» изображения веб-дизайнов. Однако, поскольку они имеют фиксированный размер, они не увеличиваются и не уменьшаются. Это означает, что шрифты будут отображаться меньше на экране с более высоким разрешением, чем на экране с более низким разрешением.

пунктов (pt) как размер шрифта CSS

Очки — это единица измерения, используемая в печати. Баллы основаны на дюйме на линейке, а один дюйм равен 72 точкам.Этот модуль также сильно различается между разными браузерами и экранами при использовании в CSS. Очки очень хороши для настройки CSS для печати, чтобы решить эту проблему с браузером, но в остальном я бы не рекомендовал использовать очки для разработки веб-сайтов.

Em как размер шрифта CSS

Ems не имеют фиксированных размеров. Они масштабируемы, и по этой причине ems хорошо подходят для разработки мобильных веб-сайтов. Ems относятся к размеру шрифта, установленному в CSS. Если у вас нет одного набора в CSS, то 1 em обычно будет равняться 16px, что обычно является размером шрифта по умолчанию в браузерах.Одна плохая черта em заключается в том, что они каскадируются, что делает дизайн с идеальным пикселем немного более сложным.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *