HTML5 动画用 animation transform transition 做的两个例子
1,左右移动,自我翻转的圆
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>移动的圆</title>
<style type="text/css">
html, body {
margin: 0;
padding: 0;
background: #ffffff;
outline: none;
letter-spacing: 0
}
.box {
margin: 120px auto 0 auto;
padding: 100px 0 0 0;
width: 680px;
height: 400px;
background: #000000;
}
/* 指定偏移过程中的 */
@keyframes myAnimation {
0% { transform: rotate3d(0, 1, 0, 0deg); margin-left: 0 }
16.67% { transform: rotate3d(0, 1, 0, 60deg); margin-left: 200px }
33.34% { transform: rotate3d(0, 1, 0, 120deg); margin-left: 400px }
50.01% { transform: rotate3d(0, 1, 0, 180deg); margin-left: 600px }
66.68% { transform: rotate3d(0, 1, 0, 240deg); margin-left: 400px }
83.35% { transform: rotate3d(0, 1, 0, 300deg); margin-left: 200px }
100% { transform: rotate3d(0, 1, 0, 360deg); margin-left: 0 }
}
.test {
width: 80px;
height: 80px;
font-size: 16px;
font-weight: bold;
line-height: 80px;
text-align: center;
background: red;
border-radius: 50%;
color: #ffffff;
animation-name: myAnimation; /* 使用的动画名称 */
animation-duration: 2s; /* 一次动画持续时间 */
animation-timing-function: linear; /* 动画变化快慢方式 */
animation-iteration-count: infinite; /* 动画循环的次数,infinite 无限循环 */
}
</style>
</head>
<body>
<div class="box">
<div class="test">文字</div>
</div>
</body>
</html>
效果如下
2,洗牌
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>洗牌</title>
<script src="https://cdn.bootcss.com/jquery/3.3.0/jquery.min.js"></script>
<script src="https://cdn.bootcss.com/vue/2.6.8/vue.min.js"></script>
</head>
<style type="text/css">
#box {
position: relative;
width: 360px;
background: #CCCCCC;
margin: 200px auto 0 auto;
}
.content {
position: absolute;
width: 40px;
height: 40px;
line-height: 40px;
text-align: center;
font-size: 16px;
border: 2px solid white;
box-sizing: border-box;
background: #CCCCCC; transition-property: top, left; /* 这里指动画会接管 top 和 left 属性,一般需要能计量的属性 */
transition-duration: 2s, 2s; /* 这里指当被接管的属性发生变化时,动画过度的完成时间 */
}
.button {
width: 360px;
height: 50px;
line-height: 50px;
text-align: center;
font-size: 19px;
color: white;
background: black;
margin: 400px 0 0 0;
}
</style>
<body>
<div id="box">
<div v-for="(num, index) in numArr"
class="content"
:style="{'top': num.top, 'left': num.left}"
>
{{num.content}}
</div>
<input type="button" value="点击" class="button" @click="shuffle()" />
</div>
</body>
<script type="text/javascript"> // 组装初始化数组
var numArr = [];
for (var i = 0; i < 9; i++) {
for(var j = 0; j < 9; j++){
var num = {};
num.top = i * 40 + 'px';
num.left = j * 40 + 'px';
num.content = (numArr.length + 1) % 9;
numArr.push(num);
}
} // 数组验重
function havaObjArr(obj, arr){
for(var i = 0; i < arr.length; i++){
if(obj.left == arr[i].left && obj.top == arr[i].top){
return true;
}
}
return false;
} // 用 VUE 绑定数据
var vm = new Vue({
data: {
numArr: numArr
},
methods: {
// 重组数组
shuffle() {
var numArr = [];
while (numArr.length < 81) {
var num = {};
num.left = parseInt(Math.random() * 9) * 40 + 'px';
num.top = parseInt(Math.random() * 9) * 40 + 'px';
if (!havaObjArr(num, numArr)) {
num.content = (numArr.length + 1) % 9;
numArr.push(num);
}
}
this.numArr = numArr;
}
}
}).$mount('#box');
</script>
</html>
效果如下
HTML5 动画用 animation transform transition 做的两个例子的更多相关文章
- CSS动画:animation、transition、transform、translate
https://blog.csdn.net/px01ih8/article/details/80780470 一.区分容易混淆的几个属性和值 先区分一下css中的几个属性:animation(动画). ...
- animation和transition做动画的区别
animation做动画,是不需要去触发的,可以定义一开始就执行 transition做动画,是需要人为触发,才能执行的
- CSS3 动画实现 animation 和 transition 比较
在 CSS3 中有两种方式实现动画, 分别是 animation 和 transition, 他们都有以下功能 根据特定 CSS 属性进行动画 设定属性变化的 timing function 设定动画 ...
- css 动画 transform transition animation
1.transform transform 是通过在浏览器里面让网页元素 移动 旋转 透明 模糊 等方法来实现改变其外观的技术 -webkit-transform : translate(3em,0 ...
- CSS3与动画有关的属性transition、animation、transform对比
最近应公司需求,需要用css3做动画,终于把以前一直傻傻分不清楚的三个属性理解了. 索性在这里进行一个简单的对比,加深自己的记忆. 浏览器兼容性 CSS3 transform 属性 Internet ...
- css010 css的transform transition和animation
css010 css的transform transition和animation 看着没有一个能想起他们是干什么的.. 1. Transform Transform(变形) r ...
- css 动画(二) transition 过渡 & animation 动画
前言:这是笔者学习之后自己的理解与整理.如果有错误或者疑问的地方,请大家指正,我会持续更新! translate:平移:是transform的一个属性: transform:变形:是一个静态属性,可以 ...
- CSS 中 transform、animation、transition、translate的区别
在前端页面的开发过程中,经常会碰到这么几个 CSS 属性容易搞混:transform.translate.animation还有transition.下面就针对这几个 CSS 属性做一个对比,辨别这几 ...
- css笔记——区分css3中的transform transition animation
出处:http://blog.csdn.net/dyllove98/article/details/8957232 CSS3中和动画有关的属性有三个 transform. transition ...
随机推荐
- java面试总躲不过的并发(一): 线程池ThreadPoolExecutor基础梳理
本文核心:线程池ThreadPoolExecutor基础梳理 一.实现多线程的方式 1.继承Thread类,重写其run方法 2.实现Runnable接口,实现run方法 3.实现Callable接口 ...
- 对thinkphp5.0框架的实例学习
不论是渗透测试还是代码审计的过程中会碰到用不同的框架搭建起来的网站,熟悉这些框架的基本原理,会帮助我们快速的理解漏洞原理,提高干活效率,所以自己本地搭了个php环境,来入门实例学习下thinkphp5 ...
- 芯灵思Sinlinx A64 linux 通过设备树写LED驱动(附参考代码,未测试)
开发平台 芯灵思Sinlinx A64 内存: 1GB 存储: 4GB 详细参数 https://m.tb.cn/h.3wMaSKm 开发板交流群 641395230 全志A64设备树结构体 #inc ...
- 后台管理系统好用的UI框架
https://www.layui.com/demo/form.html
- D# 语法
这篇文章 随意 的 记录 关于 D# 语法的想法 . template 和 interface 同时作为一等公民 D# 是程序员的语言,不需要太多包装和修饰, D# 是 简单的, 编译器 和 ID ...
- [delphi]在DLL中多线程同步Synchronize卡死问题
在dll中多线程同步调用Synchronize不可以,会出现假死卡住的现象.可通过Sendmessage实现. 转网上其他文章解释: Application.Initialize; begin ...
- 【转】搭建和配置Syncthing发现和中继服务器
搭建和配置Syncthing发现和中继服务器 折腾借口 Syncthing好是挺好的,但就是同步不给力,公共网络服务其质量参差不齐,网络也说不清.最好的解决方案还是自己搭建发现服务器Synct ...
- php7 pdo抽象类操作数据库
查询 <?php try { $dbconnect = new PDO('mysql:host=localhost;dbname=pdodatabase','root','753951'); } ...
- 由consequence忽然发现英语也挺有意思
con- 是拉丁语前缀, 有 with, together 的意思. con- 和 com- 一样的. 只是因为 在 b p m 前发 m 音更方便, 所以这些音前的 con- 变为 com- (例 ...
- python_hashlib模块
1 网站登陆 import random import string import pickle # data1 = string.ascii_letters # print("data1数 ...