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

я есть некоторые основные миксины, которые применяют некоторые правила, используя медиа-запросы

.on-small(@rules) {
  @media (@minWidthSmall) { @rules(); }
}

.on-medium(@rules) {
  @media (@minWidthMedium) { @rules(); }
}

// and .on-large, .on-x-large and so on

И я пытаюсь создать очень простую систему сетки на основе flex, я пытаюсь передать упомянутые миксины в качестве параметров, чтобы у меня был общий.make-column Mixin. следующее:

.make-col(@break-point-mixin, @span, @size) {
  flex: 1;
  box-sizing: border-box;


  /***********************************************************
  Is the following line possible in LESS somehow?
  ***********************************************************/
  @break-point-mixin({
    width: percentage(@span/@size);
    min-width: percentage(@span/@size);
  });
}

.grid-col-on-small(@span: 1, @size: 1) {
  .make-col(@break-point-mixin: .on-small, @span, @size);
}

.grid-col-on-medium(@span: 1, @size: 1) {
  .make-col(@break-point-mixin: .on-medium, @span, @size);
}

Но, к сожалению, мимоходом@break-point-mixin в качестве параметра и вызывая его изнутри.make-col падает с:

Unrecognised input. Possibly missing opening '('

Ответы на вопрос(2)

Ваш ответ на вопрос