当前位置:首页 > CSS

css动画制作效果

2026-03-11 21:50:15CSS

CSS动画基础语法

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

@keyframes 动画名称 {
  0% { 属性: 值; }
  50% { 属性: 值; }
  100% { 属性: 值; }
}

动画属性简写:

.element {
  animation: 名称 时长 缓动函数 延迟 次数 方向 填充模式;
}

常见动画效果实现

淡入淡出效果

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

滑动效果

@keyframes slide {
  from { transform: translateX(-100%); }
  to { transform: translateX(0); }
}
.slide-in {
  animation: slide 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

旋转效果

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

进阶动画技巧

多属性同时动画

@keyframes multi-effect {
  0% { 
    transform: scale(0.8);
    opacity: 0.5;
  }
  100% {
    transform: scale(1.2);
    opacity: 1;
  }
}

步进动画

.typing {
  width: 12ch;
  animation: typing 2s steps(12);
  white-space: nowrap;
  overflow: hidden;
}

3D变换动画

@keyframes flip {
  0% { transform: rotateY(0); }
  100% { transform: rotateY(180deg); }
}
.card {
  transform-style: preserve-3d;
  animation: flip 1s forwards;
}

性能优化建议

使用transformopacity属性制作动画,这些属性不会触发重排。避免在动画中使用widthheightmargin等会触发布局变化的属性。

启用硬件加速:

.optimized {
  transform: translateZ(0);
  will-change: transform;
}

响应式动画控制

通过媒体查询控制动画:

css动画制作效果

@media (prefers-reduced-motion: reduce) {
  * {
    animation-duration: 0.01ms !important;
  }
}

分享给朋友:

相关文章

jquery 效果

jquery 效果

jQuery 是一个快速、简洁的 JavaScript 库,简化了 HTML 文档遍历、事件处理、动画和 Ajax 交互。jQuery 提供了丰富的效果(Effects)功能,可以轻松实现元素的动态显…

css动画制作

css动画制作

CSS动画基础语法 CSS动画通过@keyframes规则定义动画序列,结合animation属性实现动态效果。以下是一个基础示例: @keyframes example { 0% {bac…

uniapp 卡片效果

uniapp 卡片效果

uniapp 实现卡片效果的方法 使用 view 和 CSS 样式 通过 view 组件结合 CSS 样式可以快速实现卡片效果。设置圆角、阴影和边距来增强视觉层次感。 <view class=…

vue实现旋转效果

vue实现旋转效果

使用CSS动画实现旋转 在Vue中可以通过CSS的@keyframes或transform属性实现旋转效果。在组件的<style>部分定义旋转动画: .rotate { animat…

vue实现抽屉效果

vue实现抽屉效果

Vue 实现抽屉效果的方法 使用 Vue 过渡动画和 CSS 在 Vue 中可以通过 v-if 或 v-show 控制抽屉的显示隐藏,结合 <transition> 组件实现平滑动画效果。…

vue实现轮播效果

vue实现轮播效果

使用Swiper插件实现轮播 安装Swiper及相关依赖: npm install swiper vue-awesome-swiper 组件代码示例: <template> <…