当前位置:首页 > CSS

css属性制作动画

2026-04-01 23:59:12CSS

CSS动画基础

CSS动画通过@keyframesanimation属性实现。@keyframes定义动画序列,animation控制动画表现。

定义关键帧:

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

应用动画:

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

常用动画属性

animation是复合属性,包含以下子属性:

  • animation-name: 指定@keyframes名称
  • animation-duration: 动画持续时间(如2s)
  • animation-timing-function: 速度曲线(ease/linear/ease-in等)
  • animation-delay: 延迟开始时间
  • animation-iteration-count: 播放次数(infinite表示无限循环)
  • animation-direction: 播放方向(normal/alternate/reverse)
  • animation-fill-mode: 动画前后如何应用样式(forwards/backwards/both)

示例:

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

变换动画效果

结合transform属性实现复杂动画:

@keyframes rotateScale {
  0% { transform: rotate(0deg) scale(1); }
  50% { transform: rotate(180deg) scale(1.5); }
  100% { transform: rotate(360deg) scale(1); }
}

过渡动画

使用transition实现简单状态变化:

.button {
  transition: all 0.3s ease-out;
}
.button:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 20px rgba(0,0,0,0.1);
}

性能优化建议

优先使用transformopacity属性制作动画,这些属性不会触发重排:

  • 避免动画中使用width/height/margin等属性
  • 使用will-change提示浏览器优化:
    .animated-element {
    will-change: transform, opacity;
    }

实用动画示例

淡入淡出效果:

@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

.fade-in {
  animation: fadeIn 0.5s forwards;
}

弹跳效果:

css属性制作动画

@keyframes bounce {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-20px); }
}

标签: 属性动画
分享给朋友:

相关文章

vue实现规格属性

vue实现规格属性

Vue 实现规格属性(SKU 选择器) 在电商项目中,规格属性(如颜色、尺寸等)的选择通常通过 SKU 选择器实现。以下是基于 Vue 的实现方案: 数据结构设计 规格属性和 SKU 数据通常采用以…

vue如何实现动画

vue如何实现动画

实现 Vue 动画的常见方法 使用 Vue 内置的 <transition> 组件 Vue 提供了 <transition> 组件,用于在元素插入、更新或移除时添加动画效果。通…

vue实现拖拽属性

vue实现拖拽属性

Vue 实现拖拽功能的方法 Vue 中实现拖拽功能可以通过原生 HTML5 的拖拽 API 或第三方库如 vuedraggable 来完成。以下是两种常见的实现方式: 使用 HTML5 拖拽 API…

vue实现页面动画切换

vue实现页面动画切换

使用 Vue 过渡组件实现动画切换 Vue 提供了内置的 <transition> 和 <transition-group> 组件,可以方便地实现页面或元素的动画切换效果。通过…

vue实现轮播图动画

vue实现轮播图动画

Vue 轮播图动画实现方案 基础实现(基于CSS过渡) 使用Vue的<transition>组件结合CSS实现基础轮播动画: <template> <div cla…

vue动画实现标签页

vue动画实现标签页

vue动画实现标签页的方法 在Vue中实现带有动画效果的标签页,可以通过内置的<transition>或<transition-group>组件结合CSS过渡或JavaScri…