userAlexander
@userAlexander
Верстка наше все)

Как использовать @mixin несколько раз?

Есть sass миксин на использование transition:
@mixin transition-base($property:false){
    @if(not $property){
        transition:all 250ms ease 0s;
    }
    @else{
        transition:$property 250ms ease 0s;
    }
}


Так использую:
@include transition-base(padding, color, border-color);


Итог неверно скомпилированный код:
transition:padding 0s ease 0s, color 0s ease 0s, border-color 250ms ease 0s;


Как правильно использовать миксин с указанием нескольких значений одному аргументу?
  • Вопрос задан
  • 472 просмотра
Решения вопроса 1
delphinpro
@delphinpro Куратор тега Вёрстка
frontend developer
Ну вот так как-то
https://www.sassmeister.com/gist/1791877429a5e794c...

код, если лень ссылку открывать =)
@mixin transition-base($properties...){
  // Свойство transition-property по-умолчанию равно значению all
  // т.е. запись transition: 250ms ease 0s; будет
  // эквивалентна записи transition: all 250ms ease 0s;
  transition: 250ms ease 0s;
  @if length($properties) > 0 {
    transition-property: $properties;
  }
}
@include transition-base();
@include transition-base(padding, color, border-color);
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
SnaIP
@SnaIP
Front-end разработчик
если правильно понял...
@mixin transition($args...) {
  -webkit-transition: $args;
     -moz-transition: $args;
      -ms-transition: $args;
          transition: $args;
}

a {
  color:$color;
  @include transition(color .3s ease);
  &:hover {
    color:$color;
  }
}
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы