CSS3 傻傻分不清楚的transition, transform 和 animation
transition
transition允许css的属性值在一定的时间区间内平滑地过渡,语法如下:
transition : transition-property transition-duration transition-timing-function transition-delay [, ...]
- transition-property
用来指定执行transition效果的属性,可以为none
,all
或者特定的属性。 - transition-duration
动画执行的持续时间,单位为s(秒)
或者ms(毫秒)
。 - transition-timing-function
变换速率效果,可选值为ease|linear|ease-in|ease-out|ease-in-out|cubic-bezier(自定义时间曲线)
。 - transition-delay
用来指定动画开始执行的时间,取值同transition-duration
,但是可以为负数。
transform
transform 分为2D 和 3D,这里暂时只介绍比较常用的2D transform,其主要包含以下几种变换:旋转rotate、扭曲skew、缩放scale和移动translate以及矩阵变形matrix,语法如下:
transform: rotate | scale | skew | translate |matrix;
rotate 旋转
rotate 的单位是deg 度
,正数表示顺时针旋转,负数表示逆时针旋转。
scale 缩放
scale 的取值范围是0~n
,小于1
时表示缩小,反之表示放大。例如scale(0.5, 2)
表示水平方向缩小1倍,垂直方向放大1倍, 另外,也可以通过scaleX
或者scaleY
对一个方向进行设置。
skew 扭曲
skew 的单位跟rotate
一样都是deg 度
。例如 skew(30deg, 10deg)
表示水平方向倾斜30度,垂直方向倾斜10度。
translate 偏移
偏移同样包括水平偏移和垂直偏移。translate(x,y)
水平方向和垂直方向同时移动(也就是X轴和Y轴同时移动);translateX(x)
仅水平方向移动(X轴移动);translateY(Y)
仅垂直方向移动(Y轴移动)。
animation
CSS3 中的 animation 是通过一个叫Keyframes 关键帧
的玩意来控制的,他的命名是由"@keyframes"开头,后面紧接着是这个“动画的名称”加上一对花括号“{}”,括号中就是一些不同时间段样式规则,有点像我们css的样式写法一样。对于一个"@keyframes"中的样式规则是由多个百分比构成的,如“0%”到"100%"之间,语法如下:
@keyframes IDENT {
from {
Properties: Properties value;
}
Percentage {
Properties: Properties value;
}
to {
Properties: Properties value;
}
} 或者全部写成百分比的形式:
@keyframes IDENT {
0% {
Properties: Properties value;
}
Percentage {
Properties: Properties value;
}
100% {
Properties: Properties value;
}
}
animation和transition一样有自己相对应的属性,那么在animation主要有以下几种:animation-name;animation-duration;animation-timing-function;animation-delay;animation-iteration-count;animation-direction;animation-play-state。下面对其中的一些属性进行解释:
- animation-name 关键帧名
用来定义一个动画的名称,也就是由前面的keyframes
创建的动画名,默认值为none
,当值为none
时,将没有任何动画效果。如果我们要同时附几个animation
给一个元素,只要用逗号,
隔开即可。 - animation-iteration-count 动画循环次数
默认为1
,如果要进行无限循环,只要设为infinite
即可。 - animation-direction 动画播放的方向
其只有两个值,默认值为normal
,如果设置为normal时,动画的每次循环都是向前播放;另一个值是alternate
,他的作用是,动画播放在第偶数次向前播放,第奇数次向反方向播放。 - animation-play-state 播放状态
其主要有两个值,running和paused,其中running为默认值。可以通过paused将正在播放的动画停下了,也可以通过running将暂停的动画重新播放。这个属性不常用。
- animation-name 关键帧名
CSS3 傻傻分不清楚的transition, transform 和 animation的更多相关文章
- 19 01 04 CSS3 圆角 grba(带通明的) tansition动画 transform变换 animation动画
CSS3圆角 设置某一个角的圆角,比如设置左上角的圆角:border-top-left-radius:30px 60px; 同时分别设置四个角: border-radius:30px 60px 120 ...
- JS魔法堂:属性、特性,傻傻分不清楚
一.前言 或许你和我一样都曾经被下面的代码所困扰 var el = document.getElementById('dummy'); el.hello = "test"; con ...
- MVP MVC MVVM 傻傻分不清
最近MVC (Model-View-Controller) 和MVVM (Model-View-ViewModel) 在微软圈成为显学,ASP.NET MVC 和WPF 的Prism (MVVM Fr ...
- Java:接口和抽象类,傻傻分不清楚?
01. 来看网络上对接口的一番解释: 接口(英文:Interface),在 Java 编程语言中是一个抽象类型,是抽象方法的集合.一个类通过继承接口的方式,从而来继承接口的抽象方法. 兄弟们,你们怎么 ...
- [转帖]十分钟快速理解DPI和PPI,不再傻傻分不清!
十分钟快速理解DPI和PPI,不再傻傻分不清! https://baijiahao.baidu.com/s?id=1605834796518990333&wfr=spider&for= ...
- OCA,OCP,OCM傻傻分不清?
可能大家知道OCA.OCP.OCM的关系是一个比一个难考,一个比一个含金量高,但是你知道具体的考试科目.考试方式.就业形势区别吗?不知道的话这篇通俗易懂的文章会让你一目了然. 区别一:含金量 ■OCA ...
- 学点经济学:M0、M1、M2、M3,傻傻分不清?(转载)
来源:http://t.10jqka.com.cn/pid_97006727.shtml 学点经济学:M0.M1.M2.M3,傻傻分不清? 25,508人浏览 2018-08-03 11:06 常听人 ...
- 【华为敏捷/DevOps实践】7. 敏捷,DevOps,傻傻不分清楚【华为云技术分享】
文:姚冬(华为云DevCloud首席技术布道师,资深DevOps与精益/敏捷专家,金融解决方案技术Leader,中国DevOpsDays社区核心组织者) 前言 敏捷是什么?DevOps是什么?两者有什 ...
- 傻傻分不清之 Cookie、Session、Token、JWT
傻傻分不清之 Cookie.Session.Token.JWT 什么是认证(Authentication) 通俗地讲就是验证当前用户的身份,证明“你是你自己”(比如:你每天上下班打卡,都需要通过指纹打 ...
随机推荐
- js中级小知识5
元素的属性 div.attributes是所有标签属性构成的数据集合 div.classList是所有class名构成的数组集合 在classList的原型链上可以看到add()和remove() 1 ...
- Ubuntu 16.04 Java8 安装
添加ppa apt-get update apt install software-properties-common add-apt-repository ppa:webupd8team/java ...
- linux --nginx篇
NGINX是什么? nginx是开源的,支持高性能的,高并发的www服务和代理服务软件,就是web服务器,nginx不但是一个优秀的web服务软件,还可以做反向代理,负载均衡,以及缓存服务使用. 优点 ...
- MySQL 连接数相关参数设置
当我们的数据库服务器遇到如下的错误:ERROR: Too many connections 一种可能性就是我们的压力确实很大,需要增加服务器硬件资源或者增加数据库服务器.但是大多数情况下是我们的连接数 ...
- [dev] 啥是Virtual Private Network
先来读wiki:https://en.wikipedia.org/wiki/Virtual_private_network 摘要: VPNs can be either remote-access ( ...
- MySQL5.7 虚拟列实现表达式或函数索引
MySQL5.7 虚拟列实现表达式或函数索引 http://www.linuxidc.com/Linux/2015-11/125162.htm https://dev.mysql.com/doc/re ...
- Redis入门到高可用(十七)—— 持久化开发运维常见问题
1.fork操作 2.子进程开销和优化 3.AOF阻塞
- ubuntu常用软件命令
解压zip软件 unzip xxx.zip -d解压到指定目录 清理磁盘空间 sudo apt-get autoremove sudo apt-get clean sudo dpkg --list ...
- MyBatis基础入门《二十》动态SQL(foreach)
MyBatis基础入门<二十>动态SQL(foreach) 1. 迭代一个集合,通常用于in条件 2. 属性 > item > index > collection : ...
- Mysql模糊查询Like传递参数的语句
set @keyWord='我的': select * from tblcontent where content like CONCAT('%',@keyWord,'%')