HTML Animation 【前端就业课 第二阶段】CSS 零基础到实战(06)

若是大一学子或者是真心想学习刚入门的小伙伴可以私聊我,若你是真心学习可以送你书籍,指导你学习,给予你目标方向的学习路线,无套路,博客为证。

一、Animation 基础

使用 Animation 可以设置帧动画,与 transition 区别于 transition 需要有状态对齐变换效果进行激活,而 Animation 则不用,并且 Animation 可以设置多个时间段的关键帧状态,但 transition 只有起始与最终的两个状态。

Animation 使用 @keyframes 定义其动画的关键帧内容,例如在其状态中的 1% 位置当前动画是什么状态,又或者 10%、30%以及100%最终状态如何,我们以下使用一个示例来说明:

<style>
@keyframes move {0%{top:0px;left: 0px;}30%{top:100px;left: 300px;}60%{top:900px;left: 10px;}100%{top:0px;left: 0px;}
}
</style>

以上示例中,@keyframes 为定义关键帧的“关键字”,而 move 为当前关键帧的名称,其花括号内为当前 move 的关键帧详情内容;其中 0%{top:0px;left: 0px;} 表示在 0%(状态最初时)关键帧的状态是距离 top 为 0px,left 左部 0px,随后这个动画运行到 30% 状态后的位置信息,接下来是 60% 以及 100%。

接着我们添加一个 div 样式示例:

<style>
.box{width: 100px;height: 100px;background: #ff000d;animation:move 10s;
}
</style>

以上示例中,主要查看 animation,我们从以上样式中可以得知,animation 需要在定位布局中进行展示;animation:move 10s; 中得知,animation 是设置这个 div 的animation 属性,animation 属性可以设置两个值(暂时),一个是 move 表示需要使用到的关键帧,而 10s 是一个秒数单位,表示这个动画移动完成需要的时间数,最终我们运行如下代码:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title> Animation 帧动画 ——1bit 的前端课程</title><style>@keyframes move {0%{top:0px;left: 0px;}30%{top:100px;left: 300px;}60%{top:900px;left: 10px;}100%{top:0px;left: 0px;}}.box{width: 100px;height: 100px;background: #ff000d;animation:move 10s;}</style>
</head>
<body><div class="box"></div>
</body>
</html>

效果如下:请添加图片描述

animation 的关键帧还有一种写法,如下示例,直接设置起始和结束并没有设置多余的关键帧位置,其中 form 表示 0% 而 to 表示 100%:

<style>
@keyframes move {from {top:0px;left: 0px;}to {top:100px;left: 300px;}
}
</style>

我们还可以更改更多的内容让其实现动画,查看以下示例:

<style>@keyframes move {0%{top:0px;left: 0px;background: #ff000d;}30%{top:100px;left: 300px;width:300px;background: #00ffaa;}60%{top:300px;left: 10px;background: #0059ff;}100%{top:0px;left: 0px;height:600px;background: #ff4800;}}.box{width: 100px;height: 100px;background: #ff000d;transition:all 2s;animation:move 10s 3;}
</style>

我们此时还需要查看 animation:move 10s 3;,其中这个数字 3 指的就是动画重复次数,若你想使其一直重复运行,将数字 3 改成 infinite 即可,效果如下:

请添加图片描述
若想使其速度是线性匀速,将 animation:move 10s 3; 改成 animation:move 10s infinite linear; 即可。

此时我们发现,该帧动画在最后一帧跳到第一帧时,动画效果太过突兀,咱们可以增加 alternate 值,这是一个交替动画,注意是交替动画,即 animation:move 10s infinite linear alternate;,效果如下:
请添加图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/286026.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

史上最全的Visual Studio Code安装C/C++环境,若不行头砍给你。

一、下载Visual Studio Code安装 下载链接地址 二、安装C/C++插件 输入c/c++, 然后点击那里install 三、下载MinGW配置环境变量 下载地址 进入网站后不要点击 "Download Lasted Version",往下滑,找到最新版的 "x86_64-posix-seh"。

C# 11 新特性:泛型 Attribute

之前使用JsonConverterAttribute&#xff0c;我们可以为任意类型自定义 Json 序列化。例如&#xff1a;[JsonConverter(typeof(UserJsonConverter))] public class User {public string Name { get; set; }public override string ToString(){return Name;} }public class User…

NA-NP-IE系列实验实验15:RIPv2 手工汇总

实验15&#xff1a;RIPv2 手工汇总1.实验目的 通过本实验可以掌握&#xff1a;&#xff08;1&#xff09;RIPv2 路由的手工汇总&#xff08;2&#xff09;RIPv2 不支持CIDR 汇总&#xff08;3&#xff09;RIPv2 可以传递CIDR 汇总2.拓扑结构 实验拓扑如图 所示。3.实验步骤 路由…

CSS3 做一个旋转的立体3D正方形 动效核心【前端就业课 第二阶段】CSS 零基础到实战(07)

若是大一学子或者是真心想学习刚入门的小伙伴可以私聊我&#xff0c;若你是真心学习可以送你书籍&#xff0c;指导你学习&#xff0c;给予你目标方向的学习路线&#xff0c;无套路&#xff0c;博客为证。 一、transform-origin transform-origin 用于更改当前元素的中心点&am…

【微服务专题之】.Net6下集成微服务网关-Ocelot

微信公众号&#xff1a;趣编程ACE关注可了解更多的.NET日常实战开发技巧&#xff0c;如需源码 请公众号后台留言 源码;[如果觉得本公众号对您有帮助&#xff0c;欢迎关注].Net6下集成微服务网关-Ocelot网关常见功能1&#xff1a;路由 routing2: 请求聚合3&#xff1a;身份验证和…

ArcGIS实验教程——实验二十七:时态数据可视化----以飓风路径为例

实验效果预览: ArcGIS实验视频教程合集:《ArcGIS实验教程从入门到精通》(附配套实验数据)》 文章目录 1. 时态数据简介2. 时态数据的存储方式3. 时态数据显示实例---飓风路径1. 时态数据简介 时态数据 代表某个时间点的状态,如 1990 年香港的土地利用状况或 2009 年 7 月…

02 控制器《ThinkPHP6 入门到电商实战》

文章目录&#xff08;更新中…&#xff09; 01 thinkphp6的前期开发准备《ThinkPHP6 入门到电商实战》 02 控制器《ThinkPHP6 入门到电商实战》 03 数据库查询、模型查询、多库查询《ThinkPHP6 入门到电商实战》 04 tp6 的查数据《ThinkPHP6 入门到电商实战》 05 tp6 的数据添…

聊聊C# CLR中那些大量的友元函数,友元类的底层玩法

一&#xff1a;理解友元 如果你看过 CLR 代码就会发现这里面有很多的 friend 修饰符, 比如: MethodTable.cpp 文件下。class MethodTable {/************************************* FRIEND FUNCTIONS************************************/// DO NOT ADD FRIENDS UNLESS ABSOL…

【详细】长按APP图标弹出快捷方式,ShortCut功能实现

Shortcuts介绍 Android7.1&#xff08;API Level 25&#xff09;及以上系统可以自定义Shortcuts&#xff0c;通过在桌面上长按App Icon弹出Shortcut列表&#xff0c;点击某个shortcut可使用户快捷得打开App里常用的或推荐的任务。国内各个厂商基本上在安卓8.0上集成了该功能。…

ArcGIS实验教程——实验二十八:统计图表(饼状图、柱状图)制作

统计图表(饼状图、柱状图)预览: ArcGIS实验视频教程合集:《ArcGIS实验教程从入门到精通》(附配套实验数据)》 文章目录 1. 制作图表2. 在地图上显示图表1. 制作图表 加载甘肃行政区划数据。 打开数据的属性表,可以看到有面积、人口、GDP、土地利用等字段。

01 thinkphp6的前期开发准备《ThinkPHP6 入门到电商实战》

本机环境&#xff1a;win10 集成环境&#xff1a;studyphp&#xff08;方便学习使用Windows下集成环境&#xff09; 数据库可视化操作软件&#xff1a;sqlyog 文章目录&#xff08;更新中…&#xff09; 01 thinkphp6的前期开发准备《ThinkPHP6 入门到电商实战》 02 控制器《…

一个Dapr的POC应用

开源了之前开发的一个Dapr的POC应用。地址在&#xff1a;https://github.com/heavenwing/daprapps-poc是以一个供应链的系统&#xff08;的一部分业务&#xff09;作为场景。POC场景很简单&#xff1a;管理部分基础数据实现简单的入库流程&#xff0c;包括申请-收货-入库整个架…

ArcGIS实验教程——实验二十九:ArcGIS制图掩膜工具案例详解

ArcGIS实验视频教程合集:《ArcGIS实验教程从入门到精通》(附配套实验数据)》 实验目录 1. ArcGIS掩膜概述2. 死胡同掩膜3. 要素轮廓线掩膜4. 交叉图层掩膜1. ArcGIS掩膜概述 掩膜是利用遮盖或隐藏要素的视觉处理技术来增强地图表现力的一种技术手段,掩膜实质是包含一些多边…

03 数据库查询、模型查询、多库查询《ThinkPHP6 入门到电商实战》

文章目录&#xff08;更新中…&#xff09; 01 thinkphp6的前期开发准备《ThinkPHP6 入门到电商实战》 02 控制器《ThinkPHP6 入门到电商实战》 03 数据库查询、模型查询、多库查询《ThinkPHP6 入门到电商实战》 04 tp6 的查数据《ThinkPHP6 入门到电商实战》 05 tp6 的数据添…

使用开源工具 k8tz 优雅设置 Kubernetes Pod 时区

容器在主机的内核上运行&#xff0c;并获得时钟&#xff0c;但时区不是来自内核&#xff0c;而是来自用户空间。在大多数情况下&#xff0c;默认使用协调世界时 (UTC)。时区的不一致&#xff0c;会带来很多困扰。即使代码与时区无关&#xff0c;但容器日志与系统日志时间相关联…

04 tp6 的查数据 find、select、findOrEmpty、findOrFail、toArray、selectOrFail、value、column《ThinkPHP6 入门到电商实战》

文章目录&#xff08;更新中…&#xff09; 01 thinkphp6的前期开发准备《ThinkPHP6 入门到电商实战》 02 控制器《ThinkPHP6 入门到电商实战》 03 数据库查询、模型查询、多库查询《ThinkPHP6 入门到电商实战》 04 tp6 的查数据《ThinkPHP6 入门到电商实战》 05 tp6 的数据添…

学生信息管理系统小结

ASP.NETAccess 一、登入部分 主界面 Fm new 主界面(); string s1 "ProviderMicrosoft.Jet.OLEDB.4.0;Data Sourcestudent.mdb"; string s2 "select*from 登录信息表 where 用户名" this.ttbName.Text " and 密码 "…

05 tp6 的数据添加 助手函数、 save、insert、strict、replace、insertGetId、insertAll《ThinkPHP6 入门到电商实战》

文章目录&#xff08;更新中…&#xff09; 01 thinkphp6的前期开发准备《ThinkPHP6 入门到电商实战》 02 控制器《ThinkPHP6 入门到电商实战》 03 数据库查询、模型查询、多库查询《ThinkPHP6 入门到电商实战》 04 tp6 的查数据《ThinkPHP6 入门到电商实战》 05 tp6 的数据添…

VS2019如何创建C++项目?没有找到空项目(C++)完全解决方案

在使用Visual Studio 2019创建C++空项目时,没有空白项目可选,如下图所示,原因是在安装VS2019时没有选择C++对应的模块。本文讲解如何使用VS2019创建C++空项目,并使用C语言输出Hello World。 运行Visual Studio Installer,点击【修改】。 勾选【使用C++的桌面开发】,点击…

CentOS7.2 忘记root密码解决

CentOS 7 root密码的重置方式和CentOS 6完全不一样&#xff0c;以进入单用户模式修改root密码为例。 1.重启开机按esc&#xff0c;在第一行按e&#xff0c;进行编辑 2.编辑修改两处&#xff1a;ro改为rw,在LANGen_US.UFT-8后面添加init/bin/sh 3.按CtrlX重启&#xff0c;并修改…