用于动画关键帧的scss函数

时间:2017-07-27 12:33:18

标签: css3 function sass css-animations

我想做一个可重复使用的sass函数,这样我就可以轻松编写@keyframes css动画,而无需编写太多代码,但我不确定如何去做,尤其是数学部分。

我有一个div,其中包含一个带有此css的背景图片

height: 100vh;
width: 8000px;

此背景图像由25帧组成。所以每帧的宽度为320px。

动画应该translateX() div为每4%320px的倍数,所以像这样:

@keyframes animation {
    0% {
        transform:translateX(0);
    }
    4% {
        transform:translateX(-320px);
    }
    8% {
        transform:translateX(-640px);
    }

    ...
}

我想做一个函数,但我是scss函数的新手,我真的不知道从哪里开始。如果有人能给我一个很棒的提示!

感谢

1 个答案:

答案 0 :(得分:1)

可能更好(模块化)但这里适合你;

@mixin deneme($i){
  @for $i from 0 through 100/$i {
    #{$i * 4}% {
      transform:translateX(#{-320 * $i});
    } 
  }
}

<强>更新

我觉得这个好一点。

@mixin deneme($increase, $angle){
  @for $x from 0 through 100/$increase {
    #{$x * $increase }% {
      transform:translateX($angle * $x);
    } 
  }
}