css3案例分析,CSS3动画/动画库以及案例分析(上)

在这html5遍天下的年代,越来越多的网页也用到了css3的动画效果,这让原本我们静态的页面有了更多的活力。最近也一直在做这方面的页面,有些小小的心得,和诸位分享下。

CSS3的动画绝对是很赞的,不仅支持PC还支持移动端,但也有限制,比如说浏览器的限制,虽然有这方面的限制,用它的人还是很多的。

8271ca12ac846ce91dea7e18715dd4b5.png

CSS3 过渡(transform)

通过 CSS3,我们可以在不使用 Flash 动画或 Javas cript 的情况下,当元素从一种样式变换为另一种样式时为元素添加效果。

transform属性能对元素对象进行变形操作,主要包括以下几种:旋转rotate、缩放scale、移动translate、倾斜skew以及矩阵变形matrix。

过渡属性

下面的表格列出了所有的转换属性:

ec541f2d59823275ba4f188c7dd91d3f.png

e9524f1f5bedf8a4a932a873a59e1bff.png

使用transtion属性只是规定了要如何去过渡,要想让动画发生,还得要有元素状态的改变。如何改变元素状态呢,当然就是在css中给这个元素定义一个类(:hover等伪类也可以),这个类描述的是过渡动画结束时元素的状态。

58012e73f3661e0f92af6b5b8c9d50e5.png

066599bb0c48f415f2a85e2716ff0503.png

关键帧动画(keyframes)

通过 CSS3,我们能够创建动画,这可以在许多网页中取代动画图片、Flash 动画以及 Javas cript。

@keyframes相当于一个命名空间,后面跟一个名词,如果在class中的animation-name定义了与之对应的name,那么就可以执行动画了。定义动画时,简单的动画可以直接使用关键字from和to,即从一种状态过渡到另一种状态:如:

@-webkit-keyframes demo{

from{left:0;}

to{left:400px;}

}

复杂动画:

@-webkit-keyframes demo{

0%{left:0;}

50%{left:200px;}

100%{left:400px;}

}

@keyframes 动画名称{

时间点 {元素状态}

时间点 {元素状态}

}

这里面的百分百有点像flash里帧的概念。表示设置某个时间段内任意时间点的样式。

CSS3 动画属性

下面的表格列出了 @keyframes 规则和所有动画属性:

49a2b97f47a1d72b95f2b58fcd8548a7.png

9c681c52d08b29e2b771a8f36d530f5d.png

b3cd3331aa59d273b7f182462efada33.png

css3动画库animate.css的使用

animate.css是一个css3动画库,可以到github上去下载,里面预设了很多种常用的动画,使用也很简单,因为它是把不同的动画绑定到了不同的类里,所以我们想要使用哪种动画的时候,只需要简单的把那个相应的类添加到元素上就行了:

0fdc826d0768074e4238d2c9dd856a6b.png

9bc00fb395dc6d13a455e58838da6e0a.png

css3动画head

0e235f775c3c09677333266e43ce04c6.png

图片有点大读取有点慢

89b919a6ce4c83d0f0134a6e6764b260.png

总结:

利用css3的动画效果能做出很多漂亮的效果,但要注意低版本的浏览器的不兼容,同时利用一些工具能让我们的代码制作起来更方便更快捷。

Ps:

很多都是拿图片放在这里给大家看的这样更清楚点,但很多代码复制不了,老规矩我也会附上附件给大家看下,有上面的案例,还有的部分 可以去我的个人博客去看下,地址在我站酷个人主页里有。

下次我会拿一个全部是css3的页面做给大家看,笔者也是一直在学习当中,希望各位大神,酷友能多多指点。

b884899abd2e7106c4748472e3cfa56c.png

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

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

相关文章

python中获取异常描述与else用法

获取异常描述 异常本身是一个对象,所携带了关于错误的比较详细描述,如何获取异常详细描述信息呢? try: f open("log.txt","r") a 10 b 0 ret a / b #捕获多个类型的异常 except IOError as ex: …

LeetCode 418. 屏幕可显示句子的数量(DP)*

文章目录1. 题目2. 解题1. 题目 给你一个 rows x cols 的屏幕和一个用 非空 的单词列表组成的句子,请你计算出给定句子可以在屏幕上完整显示的次数。 注意: 一个单词不能拆分成两行。 单词在句子中的顺序必须保持不变。 在一行中 的两个连续单词必须用…

网站服务器令牌获取,adobe - 获取Adobe Sign访问令牌以进行服务器到服务器身份验证 - 堆栈内存溢出...

_bananabread有正确的想法。 按照本网站上的步骤操作:直到您使用refresh_token获得JSON响应,这就是您所需要的。接下来,您需要制作刷新令牌请求,以便在每次需要使用它时刷新令牌,并返回一个全新的OAuth令牌。这是一个J…

try…finally与嵌套及自定义异常抛出

try...finally... try...finally...语句用来表达这样的情况:在程序中,如果一个段代码必须要执行,即无论异常是否产生都要执行,那么此时就需要使用finally。 比如文件关闭,释放锁,把数据库连接返还给连接池…

LeetCode 568. 最大休假天数(DP)

文章目录1. 题目2. 解题1. 题目 力扣想让一个最优秀的员工在 N 个城市间旅行来收集算法问题。 但只工作不玩耍,聪明的孩子也会变傻,所以您可以在某些特定的城市和星期休假。 您的工作就是安排旅行使得最大化你可以休假的天数,但是您需要遵守…

安装数据库windows 安装redmine 详解

时间紧张,先记一笔,后续优化与完善。 近来公司有须要,要找一个项目管理工具,网上看了redmine还不错,终究项目经理选择了它,让我把平台给搭建起来并熟悉其中的功能。搭建的过程中超过了我的预计还破费了点工…

模块概念与使用及注意事项

1 模块概念 模块就是包含了python代码的文本文件,通俗讲,一个py文件就是一个模块。 2 使用模块(import) 比如,我们单独编写了一个模块,命名为mymodule.py,在该模块中我们定义一些函数和类,我们如何在test.…

魔兽世界转服务器显示完成,魔兽世界怀旧服:TAQ变简单了,为什么还是出现了AFK大潮?...

魔兽世界怀旧服在开服一年多以后,即将在2020年12月3日,迎来经典60年代的收官副本-第六阶段纳克萨玛斯大墓地(NAXX)。在差不多的时间段内,魔兽世界正式服也将上线全新的9.0版本-暗影国度。囧王者估计,在即将到来的12月份里面&#…

LeetCode 317. 离建筑物最近的距离(逆向BFS)*

文章目录1. 题目2. 解题2.1 正常思维BFS2.2 逆向思考BFS1. 题目 你是个房地产开发商,想要选择一片空地 建一栋大楼。 你想把这栋大楼够造在一个距离周边设施都比较方便的地方,通过调研,你希望从它出发能在 最短的距离和 内抵达周边全部的建筑…

Ubuntu 运行Asp.net MVC3

1 先通过SVN获取最新版的Asp.net MVC3代码 2 用Monodevelop打开后,进入Web项目的引用,删除标了红色的引用 3 添加引用“System.Web.Mvc.dll”和“System.Web.WebPages.Deployment.dll” 4 重新编译,然后删除Web项目的bin下的“Microsoft.Web.Infrastruct…

LeetCode 431. 将 N 叉树编码为二叉树(递归/层序)

文章目录1. 题目2. 解题2.1 递归2.2 BFS1. 题目 设计一个算法,可以将 N 叉树编码为二叉树,并能将该二叉树解码为原 N 叉树。 一个 N 叉树是指每个节点都有不超过 N 个孩子节点的有根树。 类似地,一个二叉树是指每个节点都有不超过 2 个孩子节…

包概念与__init__注意事项

1.包的概念 为了组织好模块,将多个模块分为一个包。包是python模块文件所在的目录,且该目录下必须存在__init__.py文件。常见的包结构如下: package_a ├── __init__.py ├── module_a1.py └── module_a2.py package_b ├── _…

服务器上有涉密文件,涉密文件保密管理规定

为贯彻落实国家和省、市、区保密局对涉密文件资料管理工作的要求,进一步做好我办涉密文件资料管理,特制定本规定。一、涉密文件的拟制、印刷、传递、承办、借阅、保管、归档、移交和销毁,必须严格履行审批、清点、登记、签收等手续。二、涉密…

服务器文件同步管理

服务器文件同步管理 原文 http://www.cnblogs.com/yanxiaodi/archive/2011/03/21/2296462.html 前几天有台服务器电源坏了,还好数据没有丢。因此必须做好服务器文件内容的备份。服务器主要是用来提供网站服务,带着一个数据库,数据库可以用分发…

LeetCode 774. 最小化去加油站的最大距离(极小极大化 二分查找)

文章目录1. 题目2. 解题1. 题目 假设我们在一条水平数轴上,列表 stations 来表示各个加油站的位置,加油站分别在 stations[0], stations[1], ..., stations[N-1] 的位置上,其中 N stations.length。 现在我们希望增加 K 个新的加油站&…

修改软件服务器json返回数据格式,AngularJS处理服务器端返回的JSON数据的格式问题...

用ng的$http服务发起ajax请求,php返回的JSON数据格式要正确!一开始我的php页面是这样返回数据的:if($result){$oid mysqli_insert_id($conn);echo "{msg:succ,oid:$oid}";}else{echo "{msg:error}";}然后总是报错&#…

python编码规范与命名规范

编码规范 不要在行尾加分号, 也不要用分号将两条命令放在同一行. 每行不超过80个字符,Python会将 圆括号, 中括号和花括号中的行隐式的连接起来 , 你可以利用这个特点. 如果需要, 你可以在表达式外围增加一对额外的圆括号.例如: x (This will build a …

Linux学习笔记(4) - 文件系统

4.1 什么是文件系统 文件系统表示存储在计算机上的文件和目录的数据结构,也可以用于存储文件的分区或磁盘,操作系统通过文件系统可以方便地查询和访问其中所包含的磁盘块。在Linux系统中,每个分区都是一个文件系统,都有自己的目录…

LeetCode 644. 最大平均子段和 II(二分查找)*

文章目录1. 题目2. 解题2.1 暴力超时2.2 二分查找1. 题目 给定一个包含 n 个整数的数组,找到最大平均值的连续子序列,且长度大于等于 k。并输出这个最大平均值。 样例 1: 输入: [1,12,-5,-6,50,3], k 4 输出: 12.75 解释: 当长度为 5 的时候&#xff…

python基础学习总结

1.python历史 Guido 89年圣诞开写 91年编辑器问世 优点与缺点 优点:简单、易学、免费开源、高层语言 可移植、解释、面向对象、扩展 丰富库、规范代码 缺点:运行速度、国内市场小、中文资料少 2.模式:文本、交互、集成开发 程序原理&am…