首先,大家需要了解动画的两个重要概念:帧率和缓动函数。帧率指的是动画每秒运行的次数,常用的帧率有 30FPS、60FPS 等。而缓动函数则是动画开始、过程和结束时速度的变化规律,常见的缓动函数有线性、ease-in、ease-out 等。
/* 以 transform 动画为例 */ div { transform: translateX(0); animation: move 1s ease-out infinite; } @keyframes move { 0% { transform: translateX(0); } 50% { transform: translateX(100px); } 100% { transform: translateX(0); } }
要制作平滑的动画,大家需要注意以下几点:
1. 设置合适的帧率:帧率过低会导致动画卡顿,帧率过高则会使页面性能下降。因此,大家需要权衡帧率和页面性能,推荐使用 60FPS 的帧率。
2. 使用合适的缓动函数:缓动函数决定了动画速度的变化规律。通常,大家可以选择一些平滑自然的缓动函数,比如 cubic-bezier。
/* 使用 cubic-bezier 缓动函数 */ div { transform: translateX(0); animation: move 1s cubic-bezier(0.77, 0, 0.175, 1) infinite; } @keyframes move { 0% { transform: translateX(0); } 50% { transform: translateX(100px); } 100% { transform: translateX(0); } }
3. 避免使用过渡属性:过渡属性虽然可以实现简单的动画效果,但其性能并不优秀。如果要实现复杂的动画效果,推荐使用动画属性。
以上就是制作平滑的 CSS3 动画的一些技巧。在实际开发中,大家需要根据具体情况对这些技巧进行调整,以获得更好的用户体验。