当前位置:首页 > CSS

css动画制作效果

2026-01-28 14:42:35CSS

CSS 动画基础语法

CSS 动画通过 @keyframes 规则定义动画序列,再通过 animation 属性将动画应用到元素上。

定义关键帧

@keyframes slideIn {
  from { transform: translateX(-100%); }
  to { transform: translateX(0); }
}

应用动画

css动画制作效果

.element {
  animation: slideIn 1s ease-in-out;
}

常用动画属性

  • animation-name:指定 @keyframes 名称。
  • animation-duration:动画持续时间(如 2s)。
  • animation-timing-function:速度曲线(如 easelinear)。
  • animation-delay:动画延迟启动时间。
  • animation-iteration-count:播放次数(infinite 表示无限循环)。
  • animation-direction:播放方向(如 alternate 来回播放)。

示例:

.box {
  animation: bounce 0.5s ease-in-out 0.5s infinite alternate;
}

常见动画效果示例

淡入效果

css动画制作效果

@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}
.fade-in {
  animation: fadeIn 1s;
}

缩放动画

@keyframes scale {
  0% { transform: scale(0.5); }
  50% { transform: scale(1.2); }
  100% { transform: scale(1); }
}
.scale-effect {
  animation: scale 0.8s;
}

旋转动画

@keyframes spin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}
.spinner {
  animation: spin 2s linear infinite;
}

复合动画

通过组合多个变换实现复杂效果:

@keyframes moveAndFade {
  0% { opacity: 0; transform: translateY(20px); }
  100% { opacity: 1; transform: translateY(0); }
}
.combo-animation {
  animation: moveAndFade 1.5s ease-out;
}

性能优化建议

  • 优先使用 transformopacity,这些属性不会触发重排(性能开销小)。
  • 避免过度使用高频率动画(如每秒多次触发)。
  • 使用 will-change 提示浏览器优化:
    .optimized {
      will-change: transform, opacity;
    }

通过灵活组合关键帧和动画属性,可以实现丰富的交互效果。

分享给朋友:

相关文章

vue实现框架效果

vue实现框架效果

Vue实现框架效果的方法 使用Vue实现框架效果可以通过多种方式完成,包括使用Vue Router、动态组件或第三方UI库。以下是几种常见的方法: 使用Vue Router实现布局框架 Vue Ro…

css动画制作原理

css动画制作原理

CSS动画制作原理 CSS动画通过改变元素的样式属性实现动态效果,主要依赖关键帧(@keyframes)和动画属性(如animation-name、animation-duration)的配合。核心原…

vue实现折叠效果

vue实现折叠效果

使用 v-show 或 v-if 实现基础折叠 通过 Vue 的指令 v-show 或 v-if 控制元素的显示与隐藏。v-show 通过 CSS 的 display 属性切换,v-if 直接操作 D…

vue实现滑动效果

vue实现滑动效果

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

vue实现日历效果

vue实现日历效果

Vue实现日历效果的方法 使用第三方库 Vue生态中有多个成熟的日历组件库,如v-calendar或vue2-calendar,可以快速实现日历功能。安装后直接引入组件即可使用。 npm i…

vue实现菜单效果

vue实现菜单效果

Vue实现菜单效果的方法 基础菜单实现 使用Vue的v-for指令和v-show/v-if可以快速实现基础菜单。通过数据驱动的方式渲染菜单项,结合事件处理实现交互。 <template>…