Ведь значение для font-size может быть установлено в относительных величинах. Например, font-size: 10vw позволяет установить размер шрифта в процентах относительно общей ширины области просмотра браузера (10vw = 10%). Шрифт будет увеличиваться или уменьшаться пропорционально изменению размеров окна браузера. Если бы у нас было свойство max-font-size, мы могли бы ограничивать максимальный размер шрифта, а свойство min-font-size ограничивало бы минимальный размер шрифта.
Решение с медиа-запросами
Одно из решений — использование медиа-запросов с точкой останова, устанавливающей максимальный размер шрифта в абсолютных единицах измерения:
body {
font-size: 3vw;
}
@media screen and (min-width: 1600px) {
body {
font-size: 30px;
}
}
CSS блокировки (CSS locks)
Этот подход реализует медленное масштабирование при переходе от минимального размера к максимальному:
body {
font-size: 16px;
}
@media screen and (min-width: 320px) {
body {
font-size: calc(16px + 6 * ((100vw - 320px) / 680));
}
}
@media screen and (min-width: 1000px) {
body {
font-size: 22px;
}
}
Использование функций min, max и clamp
CSS-функция max позволяет реализовать пример выше в одну строку:
font-size: max(30vw, 30px);
Можно использовать функции min и max вместе:
font-size: min(max(16px, 4vw), 22px);
Этот пример эквивалентен:
font-size: clamp(16px, 4vw, 22px);
Ограничения и совместимость
Использование CSS-функций min, max и clamp пока что ограничено в некоторых браузерах, но они точно работают в Chrome. Всегда проверяйте поддержку этих функций в различных браузерах, чтобы избежать неприятн
Заключение
Хотя в CSS и нет свойств max-font-size и min-font-size, мы можем использовать функции min, max, clamp, а также медиа-запросы для достижения аналогичных результатов. Эти подходы позволяют гибко управлять размером шрифтов, адаптируя их под различные размеры экранов и устройства.
Визуальный пример
Вот наглядная иллюстрация, которая отражает концепцию управления размером шрифта в CSS:
Это изображение помогает понять, как эффективно управлять размерами шрифта с помощью свойств и функций CSS.