移动端 CSS3动画属性
一、transform 转换属性
#1. translate位移
transform : translate(50px,100px); //把元素水平移动 50 像素,垂直移动 100 像素
transform : translateX(50px); //把元素水平移动 50 像素
transform : translateY(100px); //把元素垂直移动 100 像素
#2. scale缩放
transform : scale(2); //把元素宽高同时放大两倍
transform : scale(2,4); //把元素宽度放大2倍,高度放大4倍
transform : scaleX(0.5); //把元素宽度缩小一半
transform : scaleY(1.2); //把元素高度放大1.2倍
#3. rotate旋转
transform : rotate(45deg); //把元素旋转45deg
transform : rotateX(45deg); //把元素沿X轴旋转45deg
transform : rotateY(45deg); //把元素沿X轴旋转45deg
#4. skew倾斜
transform : skew(30deg,20deg); //把元素沿水平方向倾斜30deg,沿垂直方向倾斜20deg
transform : skewX(30deg); //把元素沿水平方向倾斜30deg
transform : skewY(20deg); //把元素沿垂直方向倾斜20deg
每个元素只能设置一个transform属性,可以同时设置多个值,如:
transform: rotate(30deg) translate(50px) scale(2);
#二、transition 过渡属性
transition-property : css的属性名称 或者all
transition-duration : 动画持续的时间
transition-timing-function : 动画的执行的速度
ease:平滑运动
linear:线性运动
ease-in:逐渐加速 速度越来越快
ease-out:逐渐减速速 速度越来越慢
ease-in-out:先加速再减速 速度先变快再变慢
transition-delay : 动画延迟时间
transitionend css过渡效果结束后执行的事件
一般不分开设置,直接写复合属性, transition: all 2s linear 2s;
2
3
#三、animation 关键帧动画
#1. 定义动画
@keyframes 动画名{
0%{ ... }
50%{ ... }
100%{ ... }
}
//开始状态和结束状态时,可以用from 和 to代替
#2. 调用动画
animation-name: 动画名称
animation-duration: 动画持续的时间
animation-timing-function: 动画的执行的速度,与transition属性相同
animation-delay: 延迟时间
animation-iteration-count: 动画执行的次数,可以是数字或者infinite(无限循环)
animation-direction: 是否循环交替反向播放动画,
normal( 正常播放 )
alternate(奇数次正向,偶数次反向)
alternate-reverse (奇数次反向,偶数次正向)
reverse( 反向播放 )
animation-fill-mode: 动画填充的模式,
forwards(动画结束后停在最后的位置)
backwards(保留动画开始的初始状态)
animation-play-state: 动画是否暂停,
running( 继续 )
paused( 暂停 )
#3. 请求动画帧 requestAnimationFrame
1. 屏幕刷新频率:屏幕每秒出现图像的次数。普通笔记本为60Hz(赫兹)
2. 动画原理:计算机每16.7ms刷新一次,由于人眼的视觉停留,所以看起来是流畅的移动。
3. 通过定时器达到的动画效果,容易卡顿抖动,原因是:
1、setTimeout异步加载,只有当主线程任务执行完后才会执行,因此实际执行时间总是比设定时间要晚
2、settimeout的固定时间间隔不一定与屏幕刷新时间相同,会引起丢帧
4. 每次刷新的间隔中会执行一次requestAnimationFrame函数,不会引起丢帧,不会卡顿
移动端 CSS3动画属性的更多相关文章
- CSS3动画属性animation的用法
转载: 赞生博客 高端订制web开发工作组 » CSS3动画属性animation的用法 CSS3提供了一个令人心动的动画属性:animation,尽管利用animation做出来的动画没有flash ...
- Css3动画属性总汇
http://css3lib.alloyteam.com/uilib/animation/demo1/#cta Css3动画属性总汇 Stay hungry. Stay foolish. Attent ...
- CSS3动画属性和flex弹性布局各个属性
[CSS3动画的使用] 1.声明一个关键帧(动画): @keynames name{ from{} to{} } 每个阶段的写法: ①可以直接使用from-to的写法 ②可以设置0%-100%的写法, ...
- WEB 移动端 CSS3动画性能 优化
很多时候,我们在开发移动端的时候要使自己的网页兼容不同的机型,很多时候会采用CSS3动画,但是很多时候在安卓机下,动画明显会出现卡顿,很难看,那么这里我介绍几个CSS 属性进行硬件加速那么就会得到明显 ...
- CSS3动画属性Transform解读
无论你是前端还是设计师,相信你在网页二维空间上的操作早已经得心应手,JS处理时间线的动画也早已经 烂熟于胸.从今天开始,我跟大家分享一些“新”的东西,网页的第三个维度,以及纯CSS实现的动画.限于篇幅 ...
- 使用CSS3动画属性实现360°无限循环旋转【代码片段】
使用CSS3的animation动画属性实现360°无限循环旋转. 代码片段: <div id="test"> <img src="/CSS3/img/ ...
- 如何制作css3的3d动画——以骰子旋转为例,详解css3动画属性
首先先来看两个用css3实现的炫酷的3d动画效果 1 2 3 4 5 6 你没看错,这个炫酷的效果都是用css3实现的. 下面是动画实现所需要用到的几个css3属性. 1.perspective: ...
- 使用CSS3动画属性实现各种旋转跳跃
Transform字面上就是变形,改变的意思.在CSS3中transform主要包括以下几种:旋转rotate.扭曲skew.缩放scale和移动translate以及矩阵变形matrix. tran ...
- CSS3动画属性之Animation
首先定义一个动画规则: @keyframes mymove { from {top:0px;} to {top:200px;} } @-moz-keyframes mymove /* Firefox ...
随机推荐
- First day,beginning!
beginning 在闲暇的时光记录当下的生活,一直是自己所期盼的: 由于种种原因(懒惰),一直未能开始,那么就从今天开始吧! 看下日期,从实习到现在一个月刚刚好: 公司很不错,师傅特别好,感觉自己是 ...
- Mybatis是如何封装Jdbc的?
JDBC六个步骤 Connection conn = null; PreparedStatement ps = null; ResultSet rs = null; try { //1. 加载驱动 C ...
- kafka对接Rancher日志
kafka对接Rancher日志 目录 kafka对接Rancher日志 概述 环境准备 正常对接kafka集群 1.helm添加bitnami库 2.下载 kafka 对应的chart压缩文件 3. ...
- Java基础教程——RunTime类
RunTime类 java.lang.RunTime类代表Java程序的运行时环境. 可以进行垃圾回收(gc()),可以进行系统资源清理(runFinalization()): 可以加载文件(load ...
- lambda表达式中无法抛出受检异常!
抛出受检异常的时候,我们的接口应该带上throw关键字,但通过lambda表达式实现的Consumer的accept方法并不带有关键字,因此在lambda表达式中不能抛出受检异常必须把它吃掉
- 【对不起】我并不是真的会用spring
19年12月4日,为了测试另外一个部门的服务在注册到这边zk后能否拿到dubbo代理,在controller草草写了一个http服务请求之,发现所有的dubbo接口都没有被注入代理,排查许久之后,发现 ...
- 【mq读书笔记】消息确认(失败消息,定时队列重新消费)
接上文的集群模式,监听器返回RECONSUME_LATER,需要将将这些消息发送给Broker延迟消息.如果发送ack消息失败,将延迟5s后提交线程池进行消费. 入口:ConsumeMessageCo ...
- 速刷git<一> 常用命令记录
git config --list 列出配置 --local 对某个仓库有效 --global 对当前用户的所有仓库有效 --system 对系统所有登录用户有效git reset --ha ...
- java并发编程实战《五》死锁
一不小心就死锁了,怎么办? 在上一篇文章中,我们用 Account.class 作为互斥锁,来解决银行业务里面的转账问题,虽然这个方案不存在并发问题,但是所有账户的转账操作都是串行的,性能太差. 向现 ...
- 第15.28节 PyQt(Python+Qt)入门学习:Model/View架构中的便利类QTableWidget详解
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 一.引言 表格部件为应用程序提供标准的表格显示工具,在表格内可以管理基于行和列的数据项,表格中的最大 ...