den0820
@den0820
Фронтенд Junior разработчик.

Область видимости переменных в LESS?

Подскажите, пожалуйста, я пытаюсь задать значение для переменной @pageWidth = @viewPortType, то есть @pageWidth: @viewPortType, в зависимости от ширины окна вьюпорта, то есть через mediaqueries. Таким образом, для
@media only screen and (min-width: 1170px) {
	@viewPortType: 1170px;
}

@media only screen and (max-width: 1170px) {
	@viewPortType: 940px;
}


и так далее...

Медиа - запросы, приведенные выше описаны в отдельном файле, который соответственно подключается к файлу с общими LESS переменными, где собственно и инициализируется переменная @pageWidth. Но компилятор выдает ошибку : NameError: variable @viewPortType is undefined. Не понимаю, что ему не нравится, ведь если файл с медиа-запросами подключен. И переменная @viewPortType должна быть определена.
  • Вопрос задан
  • 319 просмотров
Пригласить эксперта
Ответы на вопрос 1
27cm
@27cm
TODO: Написать статус
lesscss.org/features/#features-overview-feature-scope

Вы подключаете файл, где переменная @viewPortType определена дважды, причём каждый раз в своей области видимости. И как же LESS может решить, какое значение использовать в основном файле? Никак. Сделайте так:
@viewPortTypeDesktop: 1170px;
@viewPortTypeTablet:  940px;

@media only screen and (min-width: 1170px) {
  @viewPortType: @viewPortTypeDesktop;
}

@media only screen and (max-width: 1170px) {
  @viewPortType: @viewPortTypeTablet;
}


Таким образом у вас будут две переменные (@viewPortTypeDesktop и @viewPortTypeTablet) в глобально области видимости, которые вы и сможете использовать в других файлах.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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