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,一经查实,立即删除!

相关文章

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

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

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

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

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

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

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

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

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

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

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

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

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…

LeetCode 527. 单词缩写(Trie树)

文章目录1. 题目2. 解题1. 题目 给定一个由n个不重复非空字符串组成的数组,你需要按照以下规则为每个单词生成最小的缩写。 初始缩写由起始字母省略字母的数量结尾字母组成。若存在冲突,亦即多于一个单词有同样的缩写,则使用更长的前缀代替…

LeetCode 1199. 建造街区的最短时间(优先队列贪心)

文章目录1. 题目2. 解题1. 题目 你是个城市规划工作者,手里负责管辖一系列的街区。在这个街区列表中 blocks[i] t 意味着第 i 个街区需要 t 个单位的时间来建造。 由于一个街区只能由一个工人来完成建造。 所以,一个工人要么需要再召唤一个工人&…

LeetCode 1088. 易混淆数 II(回溯/BFS)

文章目录1. 题目2. 解题2.1 回溯2.2 BFS1. 题目 本题我们会将数字旋转 180 来生成一个新的数字。 比如 0、1、6、8、9 旋转 180 以后,我们得到的新数字分别为 0、1、9、8、6。 2、3、4、5、7 旋转 180 后,是 无法 得到任何数字的。 易混淆数&#xf…

LeetCode 759. 员工空闲时间(排序)

文章目录1. 题目2. 解题1. 题目 给定员工的 schedule 列表,表示每个员工的工作时间。 每个员工都有一个非重叠的时间段 Intervals 列表,这些时间段已经排好序。 返回表示 所有 员工的 共同,正数长度的空闲时间 的有限时间段的列表&#xf…

LeetCode 656. 金币路径(DP)

文章目录1. 题目2. 解题1. 题目 给定一个数组 A(下标从 1 开始)包含 N 个整数:A1,A2,……,AN 和一个整数 B。 你可以从数组 A 中的任何一个位置(下标为 i)跳到下标 i1,i…

python中的深浅拷贝

1. 浅拷贝 copy.copy 浅拷贝是对于⼀个对象的顶层拷贝 通俗的理解是:拷贝了引⽤,并没有拷贝内容 浅拷贝只复制第一层数据,更深层的引用不管。 2. 深拷贝 copy.deepcopy 深拷贝是对于⼀个对象所有层次的拷贝(递归) 、 3. 注意点浅…

LeetCode 291. 单词规律 II(回溯)

文章目录1. 题目2. 解题1. 题目 给你一种规律 pattern 和一个字符串 str,请你判断 str 是否遵循其相同的规律。 这里我们指的是 完全遵循,例如 pattern 里的每个字母和字符串 str 中每个 非空 单词之间,存在着双向连接的对应规律。 示例1:…

LeetCode 1548. The Most Similar Path in a Graph(动态规划)

文章目录1. 题目2. 解题1. 题目 We have n cities and m bi-directional roads where roads[i] [ai, bi] connects city ai with city bi. Each city has a name consisting of exactly 3 upper-case English letters given in the string array names. Starting at any city…

UAC执行批处理,进行提示

很简单,直接在批处理文件中前面加入下面这段 echo off:: BatchGotAdmin :------------------------------------- REM --> Check for permissions >nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system…

LeetCode 358. K 距离间隔重排字符串(贪心+优先队列)

文章目录1. 题目2. 解题1. 题目 给你一个非空的字符串 s 和一个整数 k,你要将这个字符串中的字母进行重新排列,使得重排后的字符串中相同字母的位置间隔距离至少为 k。 所有输入的字符串都由小写字母组成,如果找不到距离至少为 k 的重排结果…

LeetCode 1153. 字符串转化(哈希)

文章目录1. 题目2. 解题1. 题目 给出两个长度相同的字符串,分别是 str1 和 str2。请你帮忙判断字符串 str1 能不能在 零次 或 多次 转化后变成字符串 str2。 每一次转化时,将会一次性将 str1 中出现的 所有 相同字母变成其他 任何 小写英文字母&#x…

LeetCode 727. 最小窗口子序列(滑动窗口)

文章目录1. 题目2. 解题1. 题目 给定字符串 S and T,找出 S 中最短的(连续)子串 W ,使得 T 是 W 的 子序列 。 如果 S 中没有窗口可以包含 T 中的所有字符,返回空字符串 “”。 如果有不止一个最短长度的窗口&#x…