Я сделал довольно приятный эффект цепочки, что я хотел бы превратиться в миксин или функцию, но я не могу обернуть вокруг себя, как его построить. Искал везде, но я не могу собрать загадку.Advanced SCSS/SASS mixin/function
Вывод должен выглядеть следующим образом
{
opacity: 0;
transform: translateY(3em);
@keyframes moveUp {
from {
opacity: 0;
transform: translateY(3em);
} to {
opacity: 1;
transform: translateY(0);
}
}
.inview ~ & {
animation: moveUp 1s forwards;
@for $i from 1 through 20 {
&:nth-child(#{$i}) {
animation-delay: (0.1 * $i) + s
}
}
}
}
Моя нынешняя попытка (не компилируется), выглядит следующим образом:
@mixin inviewChainAnimation($animationName, $from, $to, $duration, $delay, $count:20) {
$from;
@keyframes #{$animationName} {
from {
$from;
}
to {
$to
}
}
.inview ~ & {
animation: #{$animationName} #{$duration} forwards;
@for $i from 1 through #{$count} {
&:nth-child(#{$i}) {
animation-delay: (#{$delay} * $i) + s
}
}
}
}
Как я могу получить два объекта ($ от и $ to), прошедшего через функцию. Возможно ли это?
Извините, заметный ответ не решает проблему, потому что есть два свойства для перехода к mixin. Его можно решить, используя [SASS-карты] (http://sass-lang.com/documentation/file.SASS_REFERENCE.html#maps) – RWAM
Спасибо Rwam, это правильно, что вопрос и дублирующий вопрос - это не то же ... Я попробую САСС-карты. Спасибо ... :-) –
@cimmanon: Еще раз, пожалуйста, позаботьтесь о том, чтобы закрывать вопросы как дубликаты, когда на самом деле это не так. – Matt