LESS ЧАСТЬ 2: 17/30 ВОПРОС ПО СИНТАКСИСУ

Добрый день, подскажите пожалуйста, в данный момент прохожу урок 17 леса, и возник вопрос уже в 1м условии в задаче:

У нас четыре монстра у которых прописан rotate (1-4): 45, 90, 180, 270

  1. // Добавьте к примесям условия применения

.rotate(@angle) when (@angle > 90deg) {
transform: rotate(@angle);
}
// всё работает когда я прописываю, что rotate переменной @angle будет больше(>) чем 90deg, но
оно применяется именно к первым двум монстрам у которых градус 45 и 90(хоть так и должно быть по заданию)…
…а когда я меняю условие на
(@angle =< 90deg)
то значение применяется к третьему и четвёртому монстру, у которых градусы 180, 270.
Это выглядит как-будто математически правила применяются задом-наперед.

Объясните в чем моя ошибка или что это за WTF :slight_smile:

1 лайк

Не, там все нормально, разбирайтесь, зайти в урок не могу подсказать, тоже сначало думал что как то не так, потом разобрался.

  • исходно портреты никуда не повернуты
  • нам надо чтобы были повернуты 3 и 4 портреты
  • when задает ограничения выполнения, т.е. условие внутри, а именно выполнение функции поворота будет осуществлено только тогда, когда значения “больше 90”.
  • 1 и 2 портреты вызывают функцию поворота, но т.к. они вызывают поворот на недостаточный угол (менее или равный 90, т.е. не “больше 90”), то функция не выполняется.

вы просто неправильно поняли механизм применения примеси. то, что она вызывает функцию, еще не значит что функция будет выполнена, т.к. у выполнения есть условие.

грубо говоря, можно прописать “бабушка, дай пирожок”, но бабка вам не даст пирожок, пока вы не помоете посуду. не то, чтобы она в принципе была против дать вам пирожок, но сделает это только если вы помоете посуду (т.е. значение @myt’posudu: true) :joy:

1 лайк