CSS Animation初探

jopen 9年前發布 | 17K 次閱讀 CSS 前端技術

動畫在交互設計中是一個十分能加分的東西,用以平滑過度,會讓用戶體驗上幾個臺階。對于Web開發也是如此,恰當的使用動畫可以讓網頁使用起來更加的用戶友好。這里就來探討一下CSS中一些動畫的實現方式,初識前端,不足之處敬請指正。

CSS Animation初探

使用transition來實現動畫

transition是CSS3中的屬性,它的作用就是讓CSS的屬性以平滑的漸變動畫方式來展現而非突然變化,因此可以用來實現一些簡單動畫。

語法:transition: property duration timing-function delay

</tr> </tbody>

</tr>

</tr>

</tr>

</tr> </tbody> </table>

像其他的CSS寫法一樣,這四個值也可以單獨指定:

  • transition-property
  • transition-duration
  • transition-timing
  • transition-delay
  • </ul>

    transition的特點

    • 每當有transtion所指定的屬性發生變化時,動畫就會被觸發,當然也受transition-delay的控制
    • transition生效的前提是元素在DOM中,所以對于屬性display: none之類的是不會起作用的
    • </ul>

      更多關于transition的使用請參考這篇文章,相當的詳細。

      使用transform來實現動畫

      transform是CSS3中新加的屬性,用以對元素進行2D或3D的變換,這里變換的意思是幾何變換,包括旋轉,縮放,移動和傾斜旋轉等。

      • translate,translate3d, translateX, translateY, translateZ
      • rotate, rotate3d, rotateX, rotateY, rotateZ
      • scale, scale3d, scaleX, scaleY, scaleZ
      • skew, skewX, skewY
      • </ul>

        用這些來指定是進行什么變換,就像名字所指的,translate是進行2D移動,如translate(10, 11),translate3d是進行3d移動, 如translate3d(1, 0, 10),后面帶坐標軸就是在某一特定方向上移動,其他幾個類似。

        需要注意幾點:

Value Description
property 要平滑過度的CSS屬性
duration 平滑過度的時長(動畫時長)
timing-function 定義過度效果的速度曲線
delay 過度效果何時開始
  • sesese色