Задать вопрос
@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.
  • Вопрос задан
  • 175 просмотров
Подписаться 1 Средний 4 комментария
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Профессиональная вёрстка на HTML и CSS
    3 месяца
    Далее
  • Stepik
    Основы HTML и CSS
    2 недели
    Далее
  • OTUS
    HTML/CSS
    3 месяца
    Далее
Решения вопроса 1
@2ristBY Автор вопроса
Понял в чем проблема - препроцессор Less проводил вычисления в calk() и в CSS передавал конкретное число и оно не менялось от ширины экрана, просто подставлялось в padding при разрешении менее 940px через медиа-запрос.
Решилось экранированием выражения в Less.

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

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

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

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