Html font size относительный размер. Отзывчивый размер шрифта. Задание размера шрифта с помощью HTML


Заголовки
Для
оформления заголовков используются теги

...


С этим думаю всем понятно,это не сложно.Далее
Гарнитура (вид) и цвет шрифта

Здесь есть два способа. Второй будет описан позднее. Первый - используется тег

С атрибутами face и color , соответственно:

шрифт Verdana

шрифт Verdana


красный шрифт

красный шрифт


шрифт цвета MidnightBlue

шрифт цвета MidnightBlue


шрифт цвета MidnightBlue

шрифт цвета MidnightBlue


Цвет имеет название и цифровое значение, как видно в этом примере
(MidnightBlue=#191970). О цветах можно написать очень много, но я
остановлюсь на одной ссылке:

Подбор цвета . Для использования подходят web-safe и web-smart цвета.


Форматирование текста: использование тега и атрибута style (1)

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

И

. Однако тег

Применяется к
абзацу, что не всегда нам подходит (хотя при форматировании абзаца
рационально использовать именно его). Тег

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

Запись
текст лишена какого-либо смысла сама по себе.
Тег предназначен для того, чтобы приписать тексту
какое-либо свойство. Вот их-то я сейчас попытаюсь перечислить в
более-менее логическом порядке.

Цвет шрифта

Цвет шрифта можно задать с помощью тега , о чём говорилось выше. Теперь воспользуемся тегом и атрибутом style :

красный шрифт - красный шрифт

Точно так же можно задавать и цифровые значения цветов (подробнее о них см. выше.

Гарнитура (вид) шрифта

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

Сейчас рассмотрим второй способ - с использованием конструкции

шрифт

На место ***
необходимо подставить гарнитуру (вид) шрифта. Как правило, подставляют
название не определённого шрифта, а целого семейства шрифтов, например, Verdana, Times и др. Получаем:

шрифт Verdana шрифт Times

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

Для указания размера шрифта используется конструкция

шрифт

Размер
шрифта может задаваться различными способами. Пожалуй, самый наглядный и
простой - подставить вместо *** одно из следующих семи значений:

xx-large, x-large, large, medium, small, x-small, xx-small.

Результат:

очень-очень крупный шрифт
очень крупный шрифт
крупный шрифт
средний шрифт
мелкий шрифт
очень мелкий шрифт
очень-очень мелкий шрифт

Можно указывать размер шрифта способом, хорошо знакомым из Word - в пунктах (pt). 1 пункт равен 1⁄72 дюйма. Примеры:

12pt

36pt

Значения 12pt, 36pt в этих примерах подставляются на место *** в общей формуле шрифт . Также можно использовать и пиксели:

шрифт 12px
шрифт 36px

Приведённые выше размеры являются абсолютными. Но размер шрифта можно задать и относительным образом - в процентах:
шрифт размера 150% от исходного

шрифт размера 150% от исходного


или по отношению к ширине буквы "m" в исходном шрифте (соответствующая единица измерения называется em ):
шрифт размера 1,5em от исходного

шрифт размера 1,5em от исходного


Вес (насыщенность) шрифта

Это - то, что можно задать с использованием простого тега
жирный текст

жирный текст

С помощью это делается так:жирный шрифт

жирный шрифт


Преимущество такого способа в том, что наряду со значением веса шрифта bold можно использовать также значения bolder и lighter , получая шрифт "разной жирности" (в данном случае речь идёт об относительных значениях). А по умолчанию используется значение normal - обычный шрифт.

Стиль шрифта

Kурсив можно получить как с использованием тега , так и следующим способом:
курсив

курсив


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

Капитель

Используемые значения

sSize Строка , которая устанавливает или принимает одно из следующих значений.
absolute-size Набор ключевых слов, указывающих на определенное предписанное значение размера шрифта. Указанные размеры шрифтов согласовываются с предпочитаемыми настройками пользователя. Используемые значения включают следующие: xx-small, x-small, small, medium, large, x-large, xx-large.
relative-size Набор ключевых слов, указывающих что размер шрифта зависит от значения в родительском объекте. Используемые значения включают следующие: larger, smaller.
length Вещественное число, которое может быть указано в абсолютных (cm, mm, in, pt, pc) или относительных (em, ex, px) единицах измерения. Более подробную информацию об этих единицах можно посмотреть на
percentage Целое число, измеряется в процентах (%). Показывает значение в процентах от размера шрифта родительского объекта.

Это свойство читается/записывается для всех объектов, кроме currentStyle (только чтение). Свойство имеет значение по умолчанию medium. Атрибут Каскадных таблиц стилей (CSS) наследуется.

Данные выражения могут использоваться в Internet Explorer, начиная с версии IE5.

Замечания

В IE6 при объявлении!DOCTYPE для указания стандартно-совместимого режима значение по умолчанию для данного свойства принимает значение small, а не medium.

Запрещено использование отрицательных значений. Размеры шрифта, указанные в пропорциональные единицы измерения "em" принимают значение в зависимости от размера шрифта родительского объекта.

Возможные значения length указываются в относительных единицах в соответствии с высотой шрифта элемента (em) или высотой символа "x" (ex).

Примеры

В примерах для изменения характеристик шрифта используется атрибут font-size и свойство fontSize .

В следующем примере для нескольких параграфов устанавливаются разные значения размера шрифта.

В следующем примере рассматривается установка размера шрифта на 14 при совершении события onmouseover.

:

Описание

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

На размер шрифта влияет не только заданный атрибут size тега , но и выбор гарнитуры шрифта. Шрифт Arial выглядит крупнее, чем шрифт Times, а шрифт Verdana чуть больше шрифта Arial. Учитывайте эту особенность при выборе шрифта и его размеров. Для более точного управления размером текста используйте стили.

Синтаксис

Текст

Закрывающий тег

Обязателен.

Атрибуты

Аналог CSS

HTML 4.01 IE Cr Op Sa Fx

Тег SMALL

Большая кошка

Из семейства кошачьих самая большая кошка это совсем не лев, как можно было бы подумать исходя из титула «царя зверей». А уссурийский тигр, вес которого достигает 300 килограмм. Тигр уступает по размерам и весу только другому наземному хищнику, белому медведю.

Результат данного примера показан на рис. 1.

Рис. 1. Вид текста, оформленного с помощью тега

HTML5 IE Cr Op Sa Fx

Тег SMALL

Звоните нам по телефону (416) 555-666-667

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


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


Но потом появились они - vw , vh , vmin , vmax - единицы измерения, которые базируются на viewport. У нас появился шанс на отзывчивую типографику.

Коротко о viewport-зависимых единицах

100vw равно ширине (100vh - высоте) экрана в пикселях (или будет приведено к другим величинам если использовать в calc() ). 100vmax - равно большему из пары высота/ширина, 100vmin - меньшему. Сразу же начали появляться рецепты использования этих чудо величин в типографике.


Но в таком виде их сложно контролировать. Иногда попадались рецепты с использованием каких-то магических процентных величин. Но меня не устраивал вариант разбираться откуда они, а потом считать или подбирать вручную их для получения нужных мне размеров в моих условиях.

Задача

Хотелось иметь универсальный рецепт, который позволял бы задавать минимальное и максимальное значения для размера шрифта, да еще и привязать эти цифры к конкретным размерам viewport. Например, при ширине экрана в 480px иметь ровно 16px , а при 1280px - 24px .

Путь к решению

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



На оси X - ширина окна браузера, на оси Y - наш размер шрифта. Получаем уравнение с двумя неизвестными:





y - наш неизвестный размер шрифта, x - текущий размер экрана. x 1 - минимальное значение шрифта, x 2 - максимальное значение шрифта. y 1 и y 2 минимальное и максимальные значение ширины экрана соответственно.


А теперь самое интересное: имея CSS функцию calc() и текущее значение вьюпорта благодаря vw можно получить динамический размер шрифта:


font-size: calc((100vw - Vmin)/(Vmax - Vmin) * (Fmax - Fmin) + Fmin);

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


font-size: calc((100vw - 480px)/(1280 - 480) * (24 - 16) + 16px);

Единицы измерений можно использовать любые, главное, чтобы они совпадали. Тоже самое, только в rem :


font-size: calc((100vw - 30rem)/(80 - 30) * (1.5 - 1) + 1rem);

Используем Sass/SCSS

Имея под рукой такой инструмент как Sass можно большую часть вычислений спрятать от браузера.
Для этого больше подойдет следующее уравнение прямой:



Коеффициенты k и b можно получить из уравнения прямой по двум точкам:




Получим функцию:


@function calcFluidFontSize($f-min, $f-max, $v-min, $v-max) { $k: ($f-max - $f-min)/($v-max - $v-min); $b: $f-min - $k * $v-min; $b: $b * 1px; @return calc(#{$k} * 100vw + #{$b}); } .fluid-font-size { font-size: calcFluidFontSize(16, 48, 480, 1280); }

В случае, если мы хотим иметь возможность использовать не только px но и другие единицы измерений, можно передавать их одним из параметров:


@function calcFluidFontSize($f-min, $f-max, $v-min, $v-max, $units: px) { $k: ($f-max - $f-min)/($v-max - $v-min); $b: $f-min - $k * $v-min; $b: $b + $units; @return calc(#{$k} * 100vw + #{$b}); } .fluid-font-size { font-size: calcFluidFontSize(1, 3, 30, 80, rem); }

Для защиты от неверно введенных данных, можно обрезать единицы измерений при получении данных. Для этого можно использовать функцию strip-unit или взять ее из библиотеки bourbon :


@function strip-unit($number) { @if type-of($number) == "number" and not unitless($number) { @return $number / ($number * 0 + 1); } @return $number; } @function calcFluidFontSize($f-min, $f-max, $w-min, $w-max, $units: px) { $f-min: strip-unit($f-min); $f-max: strip-unit($f-max); $w-min: strip-unit($w-min); $w-max: strip-unit($w-max); $k: ($f-max - $f-min)/($w-max - $w-min); $b: $f-min - $k * $w-min; $b: $b + $units; @return calc(#{$k} * 100vw + #{$b}); }

Расширяем возможности нашей функции

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


Например, мы хотим фолбек для старых браузеров:


@mixin fluidFontSize($f-min, $f-max, $w-min, $w-max, $fallback: false) { @if ($fallback) { font-size: $fallback; } font-size: calcFluidFontSize($f-min, $f-max, $w-min, $w-max, px); } .fluid-font-size { @include fluidFontSize(16px, 24px, 480px, 1280px, 18px); }

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


Можно ограничить размеры шрифта нашим минимальным и/или максимальным значением:


@mixin fluidFontSize($f-min, $f-max, $w-min, $w-max, $fallback: false) { font-size: $f-min; @media (min-width: $w-min) { @if ($fallback) { font-size: $fallback; } font-size: calcFluidFontSize($f-min, $f-max, $w-min, $w-max, px); } @media (min-width: $w-max) { font-size: $f-max; } } .fluid-font-size { @include fluidFontSize(16px, 24px, 480px, 1280px, 18px); }

Теперь при ширине экрана меньше 480px шрифт всегда будет 16px , после 480 он станет резиновым, а после 1280px всегда будет 24px .

Результат

Мы получили базовую функцию, которая выполняет весь основной функционал:


@function calcFluidFontSize($f-min, $f-max, $w-min, $w-max, $units: px) { $f-min: strip-unit($f-min); $f-max: strip-unit($f-max); $w-min: strip-unit($w-min); $w-max: strip-unit($w-max); $k: ($f-max - $f-min)/($w-max - $w-min); $b: $f-min - $k * $w-min; $b: $b + $units; @return calc(#{$k} * 100vw + #{$b}); }

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

Размер шрифта на сайте можно задать как при помощи HTML, так и с помощью CSS. Рассмотрим оба варианта.

Задание размера шрифта с помощью HTML

Размер шрифта на странице можно определить при помощи тега font HTML. В статье мы уже рассматривали тег font и его атрибуты. Одним из атрибутов этого тега является size , который и позволяет установить размер шрифта. Применяется он следующим образом:

Конструктор сайтов <font size="7">"Нубекс"

Size может принимать значения от 1 до 7 (по умолчанию равен 3, что соответствует 13,5 пунктам для шрифта Times New Roman). Другой вариант задания атрибута - “+1” или “-1”. Это означает, что размер будет изменен относительно базового на 1 пункт больше или меньше, соответственно.

Приведенный способ довольно прост в использовании и незаменим при необходимости изменения размера шрифта небольшого куска текста. В остальных случаях рекомендуется определять стиль текста с помощью CSS.

Устанавливаем размер шрифта при помощи CSS

В CSS для изменения размера шрифта применяется свойство font-size , которое применяется следующим образом:

Меняем размер шрифта при <a href="/services/css-border-radius-color-style-i-drugie-css-svoistva-border-oformlenie-ramok-i-granic.html">помощи CSS</a>

Шрифты HTML-блока div класса nubex получают размер 14px при помощи свойства font size.

В приведенном примере размер шрифта устанавливается в пикселях. Но существуют и другие способы задания размера:

  • large, small, medium - задают абсолютный размер (маленький, средний, большой). Также могут применяться значения экстра-маленький (x-small, xx-small), экстра-большой (x-large, xx-large).
  • larger, smaller - задают относительный размер (меньше или больше относительно родительского элемента).
  • 100% - задается относительный размер (в процентах относительно родительского). Например: h1 { font-size: 180%; } Это означает, что размер тега H1 будет составлять 180% от базового размера шрифта.
  • Другие варианты задания относительного размера:
    • 5ex - означает, что размер составит 5 высот буквы x от базового шрифта;
    • 14pt - 14 пунктов;
    • 22px - 22 пикселя;
    • 1vw - 1% от ширины окна браузера;
    • 1vh - 1% от высоты окна браузера;



Top