Задать вопрос

Какие могут быть подводные камни при верстке в REM c шрифтом HTML в VW?

Подскажите какие могут быть подводные камни при верстке адаптивного сайта с применением величины REM вместо px.

Например:
Я задаю размер шрифта html
html {font-size: 0.6944vw} /* 1rem = 10px на ширине экрана 1440px */


Далее всем шрифтам и элементам я указываю размеры в rem исходя из формулы 1rem = 10px соответсвенно если ширина блока 200px я ему ставлю 20rem.

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

Вот пример сайта сверстанного мной по технологии, что я пишу выше:
https://bittraffic.webflow.io/

Интересуют минусы этого подхода и проблемы с которыми можно каким либо образом столкнуться
  • Вопрос задан
  • 105 просмотров
Подписаться 1 Простой 1 комментарий
Пригласить эксперта
Ответы на вопрос 1
sfi0zy
@sfi0zy Куратор тега CSS
Creative frontend developer
Классическая реализация этого подхода предполагает, что есть CSS шлюз, ограничивающий минимальный/максимальный размер шрифта для минимального/максимального размера экрана, и логика дизайна явно завязана на размер шрифта. Как в мире, где люди печатают разные штуки на бумаге. Плюс альтернативные единицы измерения - vw, vmax, проценты - если нужно. Это помогает сохранить в верстке логику дизайна в явном виде. Используя искусственную логику 1rem = 10px, и rem не в значении "базовый размер шрифта", а просто как костыль для адаптивности, вы упрощаете изначальные подсчеты, но в верстке получается гора рандомных дробных значений, которые не пойми что обозначают. Тут нужно либо подгонять все под 10px сетку, что не всегда уместно, либо по мере усложнения интерфейса это все превратится в такую кашу, что врагу не пожелаешь. Собственно это возвращает нас к изначальной проблеме верстки в пикселях. Куча магических значений и никакой логики в коде. Это главный недостаток вашего способа приготовления rem.

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

Войдите, чтобы написать ответ

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