keyframes在不同浏览器中的表现性
时间:2022-04-27
本文章向大家介绍keyframes在不同浏览器中的表现性,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
一、keyframes的使用方法
keyframes是css3实现动画的一种方式。
简单的使用规则如下:
先定义元素的动画样式,并设置动画的名称
selector{
animation: name duration timing-function delay iteration-count direction;
}
之后用keyframes实现动画
@keyframes name{
0%{ /*state...*/}
100%{/*state...*/}
}
animation的可用属性如下:
值 |
描述 |
---|---|
animation-name |
规定需要绑定到选择器的 keyframe 名称,必须 |
animation-duration |
规定完成动画所花费的时间,以秒或毫秒计,必须 |
animation-timing-function |
规定动画的速度曲线。 |
animation-delay |
规定在动画开始之前的延迟。 |
animation-iteration-count |
规定动画应该播放的次数。 |
animation-direction |
规定是否应该轮流反向播放动画。 |
二、keyframes在不同浏览器中的表现性
IE 9以下不支持
IE10支持文字和样式动画,但不支持图片帧动画
Firefox支持文字和样式动画,不支持图片帧动画
Chrome支持各种形式的动画
下面我写了一段代码来测试keyframes在不同浏览器中的表现性
index.html
<!DOCTYPE html>
<html>
<head>
<title>Animation</title>
<link rel="stylesheet" href="css/style.css">
</head>
<body>
<div id="img"></div>
<div id="common">
<div class="orbit"></div>
<div class="obj"></div>
</div>
</body>
</html>
#img{
width:211px;
height:211px;
position: fixed;
top:0px;
left:0px;
border:1px #eee dashed;
background-image: url("../img/10000.png");
-webkit-animation:fly 3s infinite linear;
-moz-animation:fly 3s infinite linear;
-ms-animation:fly 3s infinite linear;
}
@-webkit-keyframes fly{
0%{
background-image: url("../img/10000.png");
}
3%{
background-image: url("../img/10001.png");
}
6%{
background-image: url("../img/10002.png");
}
9%{
background-image: url("../img/10003.png");
}
12%{
background-image: url("../img/10004.png");
}
15%{
background-image: url("../img/10005.png");
}
18%{
background-image: url("../img/10006.png");
}
21%{
background-image: url("../img/10007.png");
}
28%{
background-image: url("../img/10008.png");
}
35%{
background-image: url("../img/10009.png");
}
42%{
background-image: url("../img/10010.png");
}
48%{
background-image: url("../img/10011.png");
}
51%{
background-image: url("../img/10012.png");
}
54%{
background-image: url("../img/10013.png");
}
57%{
background-image: url("../img/10014.png");
}
60%{
background-image: url("../img/10015.png");
}
63%{
background-image: url("../img/10016.png");
}
66%{
background-image: url("../img/10017.png");
}
69%{
background-image: url("../img/10018.png");
}
72%{
background-image: url("../img/10019.png");
}
75%{
background-image: url("../img/10020.png");
}
78%{
background-image: url("../img/10021.png");
}
82%{
background-image: url("../img/10022.png");
}
86%{
background-image: url("../img/10023.png");
}
90%{
background-image: url("../img/10024.png");
}
94%{
background-image: url("../img/10025.png");
}
97%{
background-image: url("../img/10026.png");
}
100%{
background-image: url("../img/10027.png");
}
}
@-moz-keyframes fly{
0%{
background-image: url("../img/10000.png");
}
3%{
background-image: url("../img/10001.png");
}
6%{
background-image: url("../img/10002.png");
}
9%{
background-image: url("../img/10003.png");
}
12%{
background-image: url("../img/10004.png");
}
15%{
background-image: url("../img/10005.png");
}
18%{
background-image: url("../img/10006.png");
}
21%{
background-image: url("../img/10007.png");
}
28%{
background-image: url("../img/10008.png");
}
35%{
background-image: url("../img/10009.png");
}
42%{
background-image: url("../img/10010.png");
}
48%{
background-image: url("../img/10011.png");
}
51%{
background-image: url("../img/10012.png");
}
54%{
background-image: url("../img/10013.png");
}
57%{
background-image: url("../img/10014.png");
}
60%{
background-image: url("../img/10015.png");
}
63%{
background-image: url("../img/10016.png");
}
66%{
background-image: url("../img/10017.png");
}
69%{
background-image: url("../img/10018.png");
}
72%{
background-image: url("../img/10019.png");
}
75%{
background-image: url("../img/10020.png");
}
78%{
background-image: url("../img/10021.png");
}
82%{
background-image: url("../img/10022.png");
}
86%{
background-image: url("../img/10023.png");
}
90%{
background-image: url("../img/10024.png");
}
94%{
background-image: url("../img/10025.png");
}
97%{
background-image: url("../img/10026.png");
}
100%{
background-image: url("../img/10027.png");
}
}
@-ms-keyframes fly{
0%{
background-image: url("../img/10000.png");
}
3%{
background-image: url("../img/10001.png");
}
6%{
background-image: url("../img/10002.png");
}
9%{
background-image: url("../img/10003.png");
}
12%{
background-image: url("../img/10004.png");
}
15%{
background-image: url("../img/10005.png");
}
18%{
background-image: url("../img/10006.png");
}
21%{
background-image: url("../img/10007.png");
}
28%{
background-image: url("../img/10008.png");
}
35%{
background-image: url("../img/10009.png");
}
42%{
background-image: url("../img/10010.png");
}
48%{
background-image: url("../img/10011.png");
}
51%{
background-image: url("../img/10012.png");
}
54%{
background-image: url("../img/10013.png");
}
57%{
background-image: url("../img/10014.png");
}
60%{
background-image: url("../img/10015.png");
}
63%{
background-image: url("../img/10016.png");
}
66%{
background-image: url("../img/10017.png");
}
69%{
background-image: url("../img/10018.png");
}
72%{
background-image: url("../img/10019.png");
}
75%{
background-image: url("../img/10020.png");
}
78%{
background-image: url("../img/10021.png");
}
82%{
background-image: url("../img/10022.png");
}
86%{
background-image: url("../img/10023.png");
}
90%{
background-image: url("../img/10024.png");
}
94%{
background-image: url("../img/10025.png");
}
97%{
background-image: url("../img/10026.png");
}
100%{
background-image: url("../img/10027.png");
}
}
#common{
width:600px;
height:600px;
position:relative;
margin:0 auto;
background-color: #000;
padding: 0;
transform:scale(1);
}
.orbit{
margin:0px;
padding: 0px;
height:100px;
width:100px;
position: absolute;
left:250px;
top:250px;
background-color: transparent;
border-radius: 50%;
border:1px dashed #999;
}
.obj{
width:10px;
height:10px;
position: absolute;
left:245px;
top:295px;
background-color: rgb(166,138,56);
border-radius: 50%;
transform-origin:55px 5px;
-webkit-animation:hellotest 15s linear;
-moz-animation:hellotest 15s linear;
-ms-animation:hellotest 15s linear;
}
@-webkit-keyframes hellotest{
10%{
transform:rotate(100deg);
width:200px;
}
20%{
transform:rotate(-100deg);
height:200px;
}
40%{
transform:rotate(100deg);
height:10px;
}
60%{
transform:rotate(-100deg);
width:10px;
}
80%{
transform:rotate(100deg);
background-color: rgba(256,256,256,1);
}
100%{
transform:rotate(-360deg);
background-color: rgba(256,256,256,0);
}
}
@-moz-keyframes hellotest{
10%{
transform:rotate(100deg);
width:200px;
}
20%{
transform:rotate(-100deg);
height:200px;
}
40%{
transform:rotate(100deg);
height:10px;
}
60%{
transform:rotate(-100deg);
width:10px;
}
80%{
transform:rotate(100deg);
background-color: rgba(256,256,256,1);
}
100%{
transform:rotate(-360deg);
background-color: rgba(256,256,256,0);
}
}
@-ms-keyframes hellotest{
10%{
transform:rotate(100deg);
width:200px;
}
20%{
transform:rotate(-100deg);
height:200px;
}
40%{
transform:rotate(100deg);
height:10px;
}
60%{
transform:rotate(-100deg);
width:10px;
}
80%{
transform:rotate(100deg);
background-color: rgba(256,256,256,1);
}
100%{
transform:rotate(-360deg);
background-color: rgba(256,256,256,0);
}
}
在IE9中,仙鹤和小球均无动画效果
在IE10中,仙鹤无动画效果,小球运动
在Firefox中,仙鹤无动画效果,小球运动
在Chrome中,仙鹤和小球均有运动效果,keyframes只在chrome中表现良好
- 线段树,最大值查询位子(个人模版)
- set使用实例1+lower_bound(val)(个人模版)
- Selenium2+python自动化29-js处理多窗口
- 谷歌「机弦」有何玄机?
- 01字典树贪心查询+建立+删除(个人模版)
- 优先队列(个人模版)
- Numpy教程第2部分 - 数据分析的重要功能
- 最小表示法(个人模版)
- 基于Python-ChatterBot搭建不同adapter的聊天机器人(使用NB进行场景分类)
- 并查集(个人模版)
- Markdown 语法和 MWeb 写作使用说明既然都整理了,捎带手把这个也整理了吧第一级标题<h1>
- 带权并查集(个人模版)
- 我的第一次Pascal程序
- Hive第二天学习内容总结Hive 第三天DDL特别注意一下,没事别删除数据DML
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- springboot+mybatis打印sql
- jquery插件与扩展
- CNN一定需要池化层吗?
- RabbitMQ入门Demo,基于springboot
- 收藏|Pandas缺失值处理看这一篇就够了!
- Spring Boot项目页面报错 OTS parsing error: Failed to convert WOFF 2.0
- Spring Boot开启JSP页面热部署
- Springboot thymeleaf热部署
- Java初始化List的6种方式
- Java遍历Map对象的四种方式
- 【SpringBoot源码解析】第三章:SpringBoot通过打成war包的方式是如何启动的
- 让你编码嗨到停不下来的8个VSCode插件
- 【SpringBoot源码解析】第四章:SpringBoot是如何自动装配SpringMvc的
- 【SpringBoot源码解析】第二章:SpringBoot是如何通过内置Tomcat启动的
- 技术译文 | How Can ScaleFlux Handle MySQL Workload?