Могу ли я использовать массив CSS-псевдо-классов в миксе LESS?

Я начинаю использовать LESS Framework для стилей в приложении. У меня часто есть места в приложении, где мне нужно стандартизировать псевдоклассы, чтобы все элементы имели одинаковые стили.

Вместо того, чтобы печатать

button:hover, button:active, button:hover:active { /*styles here */ }

Я использую вложенные стили LESS для добавления этих псевдо-классов следующим образом:

.button {
 {
    &,
    &:hover,
    &:active,
    &:hover:active {
            border: 2px solid #000000
    }
}

Это прекрасно работает и выводит класс кнопки с добавленными псевдо-классами.

У меня такой вопрос: могу ли я сделать еще один шаг, чтобы добавить вызовы псевдо в миксин и, следовательно, вызвать миксин? Я знаю, что это может показаться чрезмерной разработкой, но я многократно использую это в нескольких таблицах стилей, и было бы здорово иметь возможность повторно использовать одну строку кода с микшированием.

1 ответ

Решение

Вы можете использовать функциональные миксины:

.button(@_arg) {
    &,
    &:hover,
    &:active,
    &:hover:active {
            border: @_arg;
    }
}

а затем использовать его следующим образом:

.example {
    .button(2px solid #000);
}
Другие вопросы по тегам