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

yizhihongxing

下面我会详细讲解如何制作一份“非常震撼的纯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中this的四种用法

    当我们使用JavaScript进行编程时,经常会使用到this关键字。this的含义在不同的情况下有不同的用法。下面将详细讲解Javascript中this的四种用法。 1. 默认绑定 默认绑定是指当我们调用一个函数时,如果该函数中使用了this,而且该函数没有使用任何上下文绑定的方法,那么this的值就是全局对象(在浏览器中就是window对象)。 以下是…

    JavaScript 2023年5月18日
    00
  • HTML5安全风险之Web Worker攻击详解

    HTML5安全风险之Web Worker攻击详解 什么是Web Worker? Web Worker是HTML5新增的一个功能,可以在后台线程中执行JavaScript脚本,而不会阻塞UI线程。Web Worker的主要应用场景是处理一些耗时的计算任务,如数据处理、图像处理等。 Web Worker的基本用法 在主线程中创建Web Worker对象: var…

    JavaScript 2023年5月28日
    00
  • JavaScript可迭代对象详细介绍

    JavaScript可迭代对象详细介绍 在JavaScript中,迭代遍历数组或对象是非常常见的操作。ES6引入了Iterator/Iterable,提供了有效的解决方案。在本文中,我们将学习JavaScript可迭代对象的详细介绍,包括Iterable/Iterator协议、遍历方法和示例。 Iterable/Iterator协议 Iterable/Ite…

    JavaScript 2023年5月27日
    00
  • JavaScript 字符串操作的几种常见方法

    当我们在进行前端网页开发时,经常需要对字符串进行操作。JavaScript提供了一些常用的方法,用来对字符串进行增删改查等操作,使得我们可以更加高效地组织和处理文本内容。 下面,我们就来介绍一下JavaScript字符串操作的几种常见的方法: 1.字符串长度 字符串的长度可以通过字符串对象的length属性获取。比如: let str = ‘Hello Wo…

    JavaScript 2023年5月18日
    00
  • 一些不错的JS 自定义函数第2/2页

    一些不错的JS 自定义函数攻略第2/2页 简介 在前一篇攻略中,我们介绍了一些有用的JS自定义函数,并且分析了他们的应用场景和使用方法。在本篇攻略中,我们将继续介绍一些实用的JS自定义函数。 目录 本文将会介绍以下JS自定义函数: debounce throttle trim debounce 函数名称:debounce 函数功能:函数防抖。在一定时间内,如…

    JavaScript 2023年5月27日
    00
  • jsonp跨域请求详解

    那么让我们来详细讲解一下“jsonp跨域请求详解”的完整攻略。 什么是jsonp? JSONP(JSON with padding)是 JSON 的一种“使用模式”,可以让网页从别的域名(网站)那获取资料,即跨域请求数据,是一种非正式传输协议。 JSONP通过动态插入script标签的方式实现跨域请求,因为从不同域名下请求js文件是被允许的。JSONP传输的…

    JavaScript 2023年6月11日
    00
  • javascript设计模式之Adapter模式【适配器模式】实现方法示例

    下面我会详细讲解“Javascript设计模式之Adapter模式【适配器模式】实现方法示例”的完整攻略,包括如何使用适配器模式以及示例的具体实现。 什么是适配器模式? 适配器模式是一种行为型设计模式,用于将一个类的接口转换成另一个客户端所期望的接口。通俗来讲,就是使得一个类能够应对多种不同的接口。 适配器模式的应用场景 在实际的编程中,适配器模式的应用场景…

    JavaScript 2023年6月10日
    00
  • 关于javascript中dataset的问题小结

    以下是关于JavaScript中dataset的问题的小结攻略: 什么是dataset dataset是一种HTML5 DOM API,在JavaScript中用于获取或设置HTML元素的自定义属性。这些自定义属性的名字都是以data-为前缀。 使用方法 获取dataset属性值 在JavaScript中,可以使用以下方式获取一个元素的dataset属性值:…

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