@2ristBY

Почему calc не правильно определяет ширину экрана?

Есть такая формула calc(5px + (15 - 5) * ((100vw - 320px) / (940 - 320))), которая применяется при ширине экрана меньше 940px и итоговое значение должно изменяться от 15 до 5. При уменьшении ширины экрана меньше 940px значение становится 1.45161px. Если вместо 100vw в формулу подставить значение ширины экрана - считает правильно. В чем косяк?
UPD
Если поставить значение в vw вне calc, то работает корректно.
https://jsfiddle.net/x7hrjud1/
UPD
Использую Less.
  • Вопрос задан
  • 121 просмотр
Решения вопроса 1
@2ristBY Автор вопроса
Понял в чем проблема - препроцессор Less проводил вычисления в calk() и в CSS передавал конкретное число и оно не менялось от ширины экрана, просто подставлялось в padding при разрешении менее 940px через медиа-запрос.
Решилось экранированием выражения в Less.

Всем спасибо.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@eandr_67
web-программист (*AMP, Go, JavaScript, вёрстка).
Зачем так сложно? Если сократить все промежуточные вычисления, то останется:
calc((100vw - 10px) / 62)
и у меня такое выражение нормально отрабатывает.

P.S. А браузер, в котором тестируется код, vw поддерживает?
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы