@Tenebrius

Как сделать примесь для свойства с неопределенным числом параметров?

Столкнулся с определенной трудностью. Есть css-свойство "transition", для него сделал такую штуку:

.transit(@prop: all, @tm: 1s, @fn: ease-out, @tm2: 0){
    -webkit-transition: @prop @tm @fn @tm2;
       -moz-transition: @prop @tm @fn @tm2;
        -ms-transition: @prop @tm @fn @tm2;
         -o-transition: @prop @tm @fn @tm2;
            transition: @prop @tm @fn @tm2;

Для этого свойства, можно задавать несколько значений через запятую:
transition: <переход> [, <переход> ]*

Как это сделать с помощью LESS?
  • Вопрос задан
  • 68 просмотров
Решения вопроса 1
isqua
@isqua
Научу HTML, CSS, JS, BEM и Git
Достаточно сделать миксин с одним аргументом, тогда всё, что передано в миксин, будет считаться аргументом. А чтобы запятая не считалась разделителем, нужно заэскейпить значение с ней.

.transit(@prop: all){
    -webkit-transition: @prop;
    -moz-transition: @prop;
    transition: @prop;
}

.test1 {
    .transit(all .2s ease);
}

.test2 {
    .transit(color 10s);
}

.test3 {
    .transit(~"width 1s, height 5s");
}


Но вообще использовать миксины для браузерных префиксов — моветон. Используйте Автопрефиксер, он расставит нужные префиксы сам. А миксины оставьте для другого :)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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