当前位置:首页 > CSS

CSS动画制作代码

2026-03-12 07:58:53CSS

CSS动画基础语法

CSS动画通过@keyframes规则定义动画序列,结合animation属性实现动态效果。以下是一个基础模板:

@keyframes animation-name {
  0% { /* 初始状态 */ }
  50% { /* 中间状态 */ }
  100% { /* 结束状态 */ }
}

.element {
  animation: animation-name 2s ease-in-out infinite;
}

关键帧定义

关键帧使用百分比或from/to关键字描述动画阶段。示例实现元素淡入效果:

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

.box {
  animation: fadeIn 1.5s;
}

动画属性详解

完整动画属性可拆分为多个子属性:

CSS动画制作代码

.element {
  animation-name: slide;
  animation-duration: 3s;
  animation-timing-function: cubic-bezier(0.1, 0.7, 1.0, 0.1);
  animation-delay: 1s;
  animation-iteration-count: 2;
  animation-direction: alternate;
  animation-fill-mode: forwards;
}

实用动画示例

弹性缩放效果:

@keyframes bounce {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.2); }
}

.button {
  animation: bounce 0.5s ease infinite;
}

无限旋转动画:

CSS动画制作代码

@keyframes spin {
  to { transform: rotate(360deg); }
}

.loader {
  animation: spin 2s linear infinite;
}

多动画组合

单个元素可同时应用多个动画:

@keyframes move {
  0% { left: 0; }
  100% { left: 200px; }
}

.ball {
  animation: 
    fadeIn 1s ease-out,
    move 2s ease-in-out infinite alternate;
}

性能优化建议

优先使用transformopacity属性,避免触发重排:

@keyframes smoothMove {
  to {
    transform: translateX(100px) rotate(180deg);
    opacity: 0.5;
  }
}

响应式动画控制

通过JavaScript动态控制动画:

const element = document.querySelector('.animated');
element.style.animationPlayState = 'paused'; // 暂停动画

// 点击继续播放
element.addEventListener('click', () => {
  element.style.animationPlayState = 'running';
});

分享给朋友:

相关文章

css3 动画制作

css3 动画制作

CSS3 动画基础 CSS3 动画通过 @keyframes 规则和 animation 属性实现。@keyframes 定义动画的关键帧,animation 控制动画的播放方式(如持续时间、延迟、循…

js实现轮播代码

js实现轮播代码

基础轮播实现 使用HTML、CSS和JavaScript创建一个简单的轮播效果。HTML部分定义轮播容器和图片元素。 <div class="carousel"> <div c…

vue实现动画代码

vue实现动画代码

Vue 动画实现方法 Vue 提供了多种方式实现动画效果,包括内置过渡组件、CSS 动画库集成以及第三方动画库结合。以下是几种常见实现方法: 使用 Vue 内置过渡组件 Vue 的 <tran…

vue实现登录代码

vue实现登录代码

以下是一个基于 Vue.js 的登录功能实现示例,包含表单验证和异步请求处理: 基础组件结构 <template> <div class="login-container"&g…

vue拖拽实现低代码

vue拖拽实现低代码

Vue拖拽实现低代码方案 基于现成库的方案(推荐) 使用成熟的拖拽库可以快速实现低代码功能,例如: vuedraggable:基于Sortable.js的Vue拖拽组件 vue-draggable-…

vue 实现点击复制 代码

vue 实现点击复制 代码

vue 实现点击复制功能 使用Vue实现点击复制功能可以通过原生JavaScript的document.execCommand或现代的Clipboard API。以下是几种常见实现方式: 使用doc…