1. 程式人生 > 其它 >css3幀動畫

css3幀動畫

技術標籤:css3css3css

css3幀動畫

在這裡插入圖片描述

前段時間我得到這張圖,

我就在想 這個不是做css3幀動畫的素材嗎?

想了就開始吧,

好吧我已經做完了

想要使用 複製html css就能使用

<template>
  <div class="animation">
    <img src="@/assets/love.png" alt="">
  </div>
</template>

<script>
export default {
  name: "animation",
  components: {},
  data() {
    return {};
  },
};
</script>
<style lang='less' scoped>
.animation {
  border-radius: 50%;
  width: 100px;
  height: 100px;
  overflow: hidden;
  img {
    animation-name: myfirst;
    animation-duration: 1s;
    // 主要是這個設定的這個函式  steps(1, start)
    animation-timing-function: steps(1, start);
    // animation-timing-function: ease-in-out;
    animation-iteration-count: infinite;
    animation-direction: alternate;
  }
}

@keyframes myfirst {
  0% {
    transform: translateX(-0px);
  }
  10% {
    transform: translateX(-100px);
  }
  20% {
    transform: translateX(-200px);
  }
  30% {
    transform: translateX(-300px);
  }
  40% {
    transform: translateX(-400px);
  }
  50% {
    transform: translateX(-500px);
  }
  60% {
    transform: translateX(-600px);
  }
  70% {
    transform: translateX(-700px);
  }
  80% {
    transform: translateX(-800px);
  }
  90% {
    transform: translateX(-900px);
  }
  100% {
    transform: translateX(-900px);
  }
}
</style>

總結:

屬性描述CSS
@keyframes規定動畫。3
animation所有動畫屬性的簡寫屬性。3
animation-name規定 @keyframes 動畫的名稱。3
animation-duration規定動畫完成一個週期所花費的秒或毫秒。預設是 0。3
animation-timing-function規定動畫的速度曲線。預設是 “ease”。3
animation-fill-mode規定當動畫不播放時(當動畫完成時,或當動畫有一個延遲未開始播放時),要應用到元素的樣式。3
animation-delay規定動畫何時開始。預設是 0。3
animation-iteration-count規定動畫被播放的次數。預設是 1。3
animation-direction規定動畫是否在下一週期逆向地播放。預設是 “normal”。3
animation-play-state規定動畫是否正在執行或暫停。預設是 “running”。3

注意事項:

animation-timing-function 除了上面的幾種常用方式之外,還有個一實用的函式,steps(number_of_steps, direction),這個函式叫做階梯函式,這個函式能夠起到定格動畫的效果。

階梯函式不像其他定時函式那樣,平滑的過渡,而是以幀的方式過渡。

他有兩個引數:

  • number_of_steps :階梯數(必須是一個正整數),他將動畫的總時長按照階梯數等距劃分
  • direction :可選值為start或end,預設end,也可以不寫;start表示動畫的第一幀會被立即執行,直接從第二幀開始,然後以第一幀結束;end則表示動畫從第一幀開始到正常結束;

將動畫的總時長按照階梯數等距劃分

  • direction :可選值為start或end,預設end,也可以不寫;start表示動畫的第一幀會被立即執行,直接從第二幀開始,然後以第一幀結束;end則表示動畫從第一幀開始到正常結束;