当前位置:首页 > 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控制动画的播放方式(如时长、延迟、循环次数等)。 示…

css3动画制作

css3动画制作

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

js实现轮播代码

js实现轮播代码

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

vue代码核心实现

vue代码核心实现

Vue 核心实现原理 Vue.js 的核心实现主要包括响应式系统、虚拟 DOM、模板编译和组件化机制。以下是关键实现要点: 响应式系统 通过 Object.defineProperty(Vue 2)…

vue实现商品列表代码

vue实现商品列表代码

以下是一个基于Vue.js的商品列表实现示例,包含基础功能如数据渲染、分页和筛选: 基础商品列表渲染 <template> <div class="product-list"&…

vue实现代码插件

vue实现代码插件

Vue 实现代码插件的方法 使用第三方库(如 Prism.js 或 Highlight.js) 安装 Prism.js 或 Highlight.js 库,这些库专门用于代码高亮显示。在 Vue 项目中…