当前位置:首页 > CSS

制作css动画效果

2026-03-12 10:50:10CSS

CSS动画基础语法

CSS动画通过@keyframes规则定义动画序列,结合animation属性实现。关键帧语法示例:

@keyframes slide-in {
  0% { transform: translateX(-100%); }
  100% { transform: translateX(0); }
}
.element {
  animation: slide-in 1s ease-out forwards;
}

常用动画属性

  • animation-name: 指定@keyframes名称
  • animation-duration: 动画持续时间(如2s)
  • animation-timing-function: 速度曲线(ease/linear/ease-in-out)
  • animation-delay: 延迟启动时间
  • animation-iteration-count: 重复次数(infinite表示无限循环)
  • animation-direction: 播放方向(alternate表示往返播放)
  • animation-fill-mode: 动画结束后的样式状态

实用动画效果示例

淡入效果:

@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}
.fade-in {
  animation: fadeIn 0.8s cubic-bezier(0.39, 0.58, 0.57, 1);
}

弹跳按钮:

@keyframes bounce {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-20px); }
}
.btn-bounce {
  animation: bounce 0.5s infinite alternate;
}

性能优化技巧

  • 优先使用transformopacity属性,这些属性不会触发重排
  • 避免动画影响width/height/margin等会触发布局变化的属性
  • 使用will-change: transform;提前告知浏览器元素将发生变化
  • 对移动端设备使用@media (prefers-reduced-motion)减少动画效果

复杂动画组合

通过多个动画叠加实现复杂效果:

制作css动画效果

@keyframes spin {
  to { transform: rotate(360deg); }
}
@keyframes pulse {
  0% { transform: scale(1); }
  50% { transform: scale(1.2); }
  100% { transform: scale(1); }
}
.spin-pulse {
  animation: 
    spin 2s linear infinite,
    pulse 1.5s ease-in-out infinite;
}

标签: 效果动画
分享给朋友:

相关文章

h5页面滑动效果实现

h5页面滑动效果实现

实现H5页面滑动效果的方法 H5页面滑动效果可以通过多种方式实现,包括原生JavaScript、CSS动画或第三方库。以下是几种常见的方法: 使用CSS Scroll Snap CSS Scroll…

vue实现开关效果

vue实现开关效果

使用Vue实现开关效果 使用v-model绑定数据 通过v-model绑定一个布尔值来控制开关状态。当用户点击开关时,布尔值会自动更新。 <template> <div cla…

vue实现滑动效果

vue实现滑动效果

Vue 实现滑动效果的方法 在 Vue 中实现滑动效果可以通过多种方式,包括使用 CSS 过渡、第三方动画库或直接操作 DOM。以下是几种常见的方法: 使用 CSS 过渡和 Vue 的 <tr…

vue实现加载动画

vue实现加载动画

Vue 实现加载动画的方法 在 Vue 中实现加载动画可以通过多种方式完成,以下是一些常见的方法: 使用 CSS 动画 通过 CSS 定义动画效果,结合 Vue 的动态类绑定实现加载动画。以下是一个…

vue 实现滑动效果

vue 实现滑动效果

Vue 实现滑动效果的方法 使用 CSS Transition 通过 Vue 的 v-if 或 v-show 结合 CSS Transition 实现滑动效果。定义一个 CSS 类,利用 transf…

vue中动画实现

vue中动画实现

Vue 中动画的实现方法 Vue 提供了多种方式实现动画效果,主要依赖于内置的 <transition> 和 <transition-group> 组件,以及结合 CSS 或…