Comments 20
font-size: calc( (100vw - 30rem)/(80 - 30) * (1.5 - 1) + 1rem);
можно сократить до
font-size: calc( (100vw - 30rem)/50 * 0.5 + 1rem);
который в свою очередь есть
font-size: calc( (100vw - 30rem)/25 + 1rem);
И тут, кстати, мы получаем новое магическое число: 25
font-size: calc( (100vw — 30rem)/100 + 1rem);
— там нет скобок вокруг умножения, так что умножается числитель, а не знаменатель
Для проверки в своих выражения подставьте например 100 вместо (100vw — 30rem).
100/50 * 0.5 = 1
100/25 = 4
Спасибо что напомнили о существовании vmax и vmin. Я при помощи скрипта vw на vh менял.
С тех пор как я начал использовать аналогичный подход (только у меня vmin и px, но это нюансы), вижу уже где-то третью заметку на эту тему.
Если пользователь смотрит на вашу страницу через маленький экран или через экран с низким разрешением, это не значит, что нужно заставлять его ломать глаза о крохотные буковки. И наоборот, если у пользователя большой экран, то он ему нужен, чтобы в него влезало больше информации, а не для того, чтобы любоваться очертаниями огромных лигатур.
Резюмируя: размер шрифта должен быть комфортным для чтения, а не "адаптивным". А вот размеры и положение блоков уже должны адаптироваться под размер экрана, да.
Собственно, на телефоне с большой диагональю имеем низкое CSS разрешение и как следствие мелкий шрифт:
Собственно размер шрифта должен задаваться в угловых размерах. А это прежде всего пункты, сантиметры и (внезапно!) пиксели.
На выходе мы получем размер в тех величинах, которые задали. Вьюпорт здесь выступает в роли коефициента.
Отзывчивый размер шрифта