非常震撼的纯CSS3人物行走动画

下面我会详细讲解如何制作一份“非常震撼的纯CSS3人物行走动画”的完整攻略。

准备工作

在开始之前,你需要准备好以下内容:

  • 明确定位要制作的人物,包括人物的外形尺寸和行走的姿势;
  • 一份基础的 HTML 文件,用于展示人物行走动画;
  • 一份基础的 CSS 文件,用于定义人物的样式和动画效果。

制作过程

第一步:定义人物的基础样式

我们需要在 CSS 中定义人物的基础样式,包括人物的外形、颜色、边框等。

.person {
  width: 100px;
  height: 150px;
  background-color: #f8d6d6;
  border: 3px solid #f8d6d6;
  position: absolute;
  bottom: 0;
  left: 0;
}

在这里,我们定义了一个名为 .person 的类,它的宽度为 100 像素,高度为 150 像素,背景色和边框颜色都为 #f8d6d6,位置为绝对定位,靠在页面底部的左侧。

第二步:定义人物行走的关键帧动画

接下来,我们需要在 CSS 中定义人物行走的关键帧动画。通过关键帧动画,我们可以定义行走的姿势和步数。

@keyframes walk {
  0% {
    transform: translateX(0);
  }
  25% {
    transform: translateX(20px) rotateY(0deg);
  }
  50% {
    transform: translateX(40px) rotateY(0deg);
  }
  75% {
    transform: translateX(20px) rotateY(180deg);
  }
  100% {
    transform: translateX(0) rotateY(180deg);
  }
}

在这里,我们定义了一个名为 walk 的关键帧动画,它包含了从 0% 到 100% 的关键帧。每个关键帧中,我们都定义了人物在对应时刻的状态。

第三步:将关键帧动画应用到人物身上

接下来,我们需要将关键帧动画应用到人物身上。通过 animation 属性和上一步定义的关键帧动画,我们可以让人物行走起来。

.person {
  width: 100px;
  height: 150px;
  background-color: #f8d6d6;
  border: 3px solid #f8d6d6;
  position: absolute;
  bottom: 0;
  left: 0;
  animation: walk 1s ease-in-out infinite;
}

在这里,我们将 walk 这个关键帧动画应用到 .person 这个类上,并设置动画时长为 1 秒,时间函数为 ease-in-out,无限循环。

第四步:添加人物的细节、动作等

在上面三个步骤中,我们已经完成了一个基础的纯 CSS3 人物行走动画。但如果想要让这个动画更加生动,我们可以在上面基础上再进行添加。比如,现在我们可以向人物的头部、手、脚等部位添加一些细节、动作等。

.head {
  width: 30px;
  height: 30px;
  background-color: #f8d6d6;
  position: absolute;
  top: -35px;
  left: 35px;
  border-radius: 50%;
  animation: shake 0.5s ease-in-out infinite;
}

.hand {
  width: 3px;
  height: 30px;
  background-color: #f8d6d6;
  position: absolute;
  top: 0;
  right: 30px;
  animation: waving 0.5s ease-in-out infinite;
}

.foot {
  width: 3px;
  height: 25px;
  background-color: #f8d6d6;
  position: absolute;
  bottom: -25px;
  right: 30px;
  animation: kicking 0.5s ease-in-out infinite;
}

在这里,我们分别定义了 .head.hand.foot 三个类,分别用于定义人物的头部、手、脚等部分。并在每个类中,都定义了相应的动画效果,通过关键帧动画,让他们具有不一样的动作。

示例说明

接下来,我会举两个示例来说明这个攻略的操作过程。

示例一:添加一个“跳跃”的动作

对于这个示例,我们需要在原来的基础上,给人物添加一个“跳跃”的动作。具体操作步骤如下:

  1. 定义一个跳跃的关键帧动画。

@keyframes jump {
0% {
transform: translateY(0);
}
50% {
transform: translateY(-40px);
}
100% {
transform: translateY(0);
}
}

  1. 将这个关键帧动画应用到 .person 类上。

.person {
animation: walk 1s ease-in-out infinite, jump 0.5s ease-in-out infinite;
}

这样,我们就可以让人物在行走的基础上,添加一个“跳跃”的动作了。

示例二:添加一个“抖头”的动作

对于这个示例,我们需要在原来的基础上,给人物的头部添加一个“抖头”的动作。具体操作步骤如下:

  1. 定义一个抖头的关键帧动画。

@keyframes shake {
0% {
transform: rotate(0);
}
25% {
transform: rotate(5deg);
}
50% {
transform: rotate(-5deg);
}
75% {
transform: rotate(5deg);
}
100% {
transform: rotate(0);
}
}

  1. .head 类中,应用这个关键帧动画。

.head {
animation: shake 0.5s ease-in-out infinite;
}

这样,我们就可以让人物在行走的基础上,使头部产生一个“抖头”的动作了。

以上为完成“非常震撼的纯CSS3人物行走动画”的完整攻略,希望可以对你有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:非常震撼的纯CSS3人物行走动画 - Python技术站

(0)
上一篇 2023年6月11日
下一篇 2023年6月11日

相关文章

  • javascript实现日期格式转换

    实现日期格式转换可以使用JavaScript内置的Date对象。下面是完整攻略: 步骤一:创建Date对象 要将日期格式进行转换,需要先创建一个Date对象。可以通过以下代码创建一个当前日期的Date对象: var today = new Date(); 也可以使用参数来创建自定义的日期对象。例如,以下代码创建了一个具有指定日期的Date对象: var cu…

    JavaScript 2023年5月27日
    00
  • JavaScript变量Dom对象的所有属性

    让我来详细讲解 JavaScript 变量 DOM 对象的所有属性。 什么是 DOM 对象 DOM(Document Object Model)文档对象模型,是一种针对 HTML 和 XML 文档的编程接口。在 JavaScript 中,可以通过 DOM 对象来访问、操作网页上的所有元素和属性。 JavaScript 变量 DOM 对象的所有属性 DOM 对…

    JavaScript 2023年5月27日
    00
  • react-router JS 控制路由跳转实例

    下面我将为您详细讲解”react-router JS 控制路由跳转实例”的攻略步骤。 步骤一:安装react-router 在项目中安装react-router-dom依赖包,react-router-dom是基于React的DOM封装,提供了一些跟浏览器url地址相关的组件。 npm install react-router-dom –save 步骤二:…

    JavaScript 2023年6月11日
    00
  • JavaScript中async await更优雅的错误处理方式

    关于JavaScript中async/await更优雅的错误处理方式,以下是完整的攻略: 1. 异步函数 在使用async/await模式的时候,需要将异步操作封装到一个函数中,在函数前面声明async,使其变成一个异步函数,如下所示: async function fetchData() { const response = await fetch(‘/a…

    JavaScript 2023年5月18日
    00
  • 解析Clipboard API剪贴板操作实例

    想要讲解”解析Clipboard API剪贴板操作实例”的完整攻略,需要分为以下几个部分:介绍Clipboard API、谈论Clipboard API的浏览器兼容性、解释如何使用Clipboard API进行剪贴板操作、展示两个具体的剪贴板操作示例。 一、什么是Clipboard API? Clipboard API是HTML5标准中新增的一个API。它提…

    JavaScript 2023年6月11日
    00
  • 详解在JavaScript中如何判断变量类型

    以下是详解在JavaScript中如何判断变量类型的完整攻略: 1.使用typeof运算符 JavaScript提供了typeof运算符,可以用来判断变量的类型,它返回的结果为一个字符串,包含以下几种类型: “undefined”:未定义的变量 “boolean”:布尔类型 “number”:数字类型 “string”:字符串类型 “object”:对象类型…

    JavaScript 2023年5月19日
    00
  • JS实现求5的阶乘示例

    JS实现求5的阶乘可以使用循环和递归两种方式实现。 循环实现 循环实现是指使用for循环遍历每个数字,并利用一个变量来存储乘积的方式来计算阶乘。 function factorial(num) { var result = 1; // 初始化乘积为1 for(var i = 1; i <= num; i++) { // 循环计算乘积 result = …

    JavaScript 2023年5月28日
    00
  • python获取引用对象的个数方式

    Python 中获取引用对象的个数有多种方式,下面我将详细介绍这些方法,并提供示例方便理解。 使用sys.getrefcount方法 sys.getrefcount 是 Python 内置的一个方法,它可以用来获取一个对象的引用计数。 该方法的语法如下: import sys refCount = sys.getrefcount(object) 其中 obj…

    JavaScript 2023年6月11日
    00
合作推广
合作推广
分享本页
返回顶部