从零开始学习前端开发 — 15、CSS3过渡、动画
一、css3过渡
语法: transition: 过渡属性 过渡时间 延迟时间 过渡方式;
1.过渡属性(transition-property)
取值:all 所有发生变化的css属性都添加过渡
eg: transition: all 1s;
ident 指定要过渡的css属性列表
eg: transition:border-radius 1s,background 2s;
none 没有属性发生过渡
注:我们可以省略滑过状态或其他状态的过渡属性,但是不能省略初始状态的transition属性
2.过渡时间(transition-duration)
取值:0 不过渡
time 设置一个正数,单位为s
eg: transition: all 1s;
3.延迟时间(transition-delay)
取值:
0 不延迟,过渡动画正常执行
正数 按照设置的时间延迟执行过渡动画
负数 设置时间前的动画将会被截断
4.过渡方式(transition-function)
取值:
ease 缓解效果,默认值
linear 匀速运动
ease-in 加速运动
ease-out 减速运动
ease-in-out 慢-快-慢
二、css3动画
语法: animation:动画名称 动画执行时间 动画延迟执行时间 动画播放次数 动画播放后的状态;
动画是由一帧一帧的关键帧组成的,在设置animation之前要先定义动画关键帧:
语法:
@keyframes 动画名称{
0%{
属性:属性值;
}
50%{
属性:属性值;
}
...
100%{
属性:属性值;
}
}
@keyframes 动画名称{
from{
属性:属性值;
}
...
to{
属性:属性值;
}
}
1.动画名称(animation-name)
eg: animation:ball 1s;
注:动画名称要与@keyframes中的动画名称一致
2.动画执行一次所需的时间(animation-duration)
取值:
time: 正数,单位为秒(s)或者毫秒(ms),默认为0,不执行动画
3.动画延迟执行的时间(animation-delay)
取值:
0: 默认值,不延迟
正数: 按照设置的时间延迟执行动画
负数: 设置时间前的动画将会被截断
4.设置动画的播放次数(animation-iteration-count)
取值:
number 可以设置为正整数
infinite 无限循环播放
5.设置对象动画的状态(animation-play-state)
取值:
running 默认值,运动
paused 动画暂停
6.设置动画的播放方式(animation-timing-function)
取值:
ease
linear 匀速运动
ease-in
ease-out
ease-in-out
step-start 马上转跳到动画的结束状态或马上转跳到下一帧,中间没有过渡
step-end 保持动画开始时的状态,直到动画执行结束,转跳到动画结束状态
steps(n,start|end)
n代表动画分几步完成
7.设置对象动画的运动方向(animation-direction)
取值:
normal 默认值,正常方向运动
reverse 与normal方向相反运动
alternate 奇数次正方向,偶数次反方向
alternate-reverse 奇数次反方向,偶数次正方向
8.设置对象动画时间之外的状态(animation-fill-mode)
取值:
none 默认值,不设置对象动画之外的状态
forwards 保持动画结束时的状态
backwards 保持动画开始时的状态
both 遵循forwards和backwards两个规则
三、CSS3 transition和animation的区别
1.transition动画执行需要出发条件,animation动画出发在页面加载完成后可以自动执行
2.transition触发一次执行一次,多次执行需要执行多次触发条件,animation可以无限循环播放,也可限制次数
3.transition只能设置开始和结束状态 不能设置中间的动态
扩展:隐藏变形元素的背面 backface-visibility:hidden;
从零开始学习前端开发 — 15、CSS3过渡、动画的更多相关文章
- 从零开始学习前端开发 — 17、CSS3背景与渐变
一.css3背景切割: background-clip:border-box|padding-box|content-box; 作用: 用来设置背景的可见区域 a) border-box 默认值,背景 ...
- 从零开始学习前端开发 — 11、CSS3选择器
一.基本选择器 1.* 通配符(通用选择器) 2.id选择器 3.class选择器(类选择器) 4.标签选择器(元素选择符) 5.群组选择器 (选择符1,选择符2{...}) 二.层次选择器(关系选择 ...
- 从零开始学习前端开发 — 16、CSS3圆角与阴影
一.css3圆角: border-radius:数值+单位; 1.设置一个值:border-radius:20px; 四个方向圆角都为20px(水平半径和垂直半径相等) 2.设置两个值 border- ...
- 从零开始学习前端开发 — 14、CSS3变形基础
一.css3变形: transform:rotate(旋转)|scale(缩放)|skew(倾斜)|translate(位移); 注:当多种变形方式综合在一起时,用空格隔开 1.旋转 a) rotat ...
- 从零开始学习前端开发 — 12、CSS3弹性布局
一.分栏布局 1.设置栏数column-count:数值; 2.设置每栏的宽度column-width:数值+单位; 注:当设置了column-width,column-count会失效,二者设置其一 ...
- 从零开始学习前端开发 — 2、CSS基础
一.CSS简介 1.CSS是什么 CSS是Cascading Style Sheets的简称,中文称为层叠样式表.特点:实现了表现与结构相分离 2.css基础语法 css是由选择符和声明两大部分组成 ...
- 从零开始学习前端开发 — 18、BFC
一. BFC的概念 BFC--block formating context的缩写,中文译为"块级格式化上下文" 二.如何触发BFC 1.设置float除none以外的值(left ...
- 从零开始学习前端开发 — 10、HTML5新标签及表单控件属性和属性值
一.html5新增标签 1.结构性标签 header 定义网页的头部 nav 定义网页的导航 footer 定义网页的底部 section 定义网页的某个区域 article 定义网页中的一篇文章 a ...
- 从零开始学习前端开发 — 9、标签嵌套规则及CSS常用样式覆盖
1. 块级元素可以包含内联元素或某些块级元素,但内联元素却不能包含块级元素,它只能包含其它的内联元素: <div><h1></h1><p></p& ...
随机推荐
- 3、树莓派的配置:改静态IP、连接ssh、安装中文字体、安装谷歌输入法、增加USB电流、修改触摸屏分辨率、扩展sd卡空间、修复vi和vim乱码问题、安装配置远程桌面vnc
本博文仅作本人操作过程的记录,留作备忘.自强不息 QQ1222698 1.连接上HDMI线,插上触摸屏,插上键盘,鼠标,网线,启动.系统正常启动,但是一直闪烁,不停的黑屏,是由于触摸屏的usb口供电不 ...
- find 命令的误差估值与单位调整
一.命令简介 find 命令的 -size 参数 单位b(不是byte而是block).c.w.k.M.G.默认是单位b ,也就是1block = 512byte = 0.5kb (文件系统ext4) ...
- Android模拟器
一.Genymotion 1.下载安装:https://www.genymotion.com/download/ (注:安装前需要先注册) 因为Genymotion运行需要VirtualBox,如果 ...
- flask 分页
在我们学习的过程中会遇到这么样的问题,就是在我们学习的过程中会发现需要分页处理,这里呢,给大家介绍书上说的分页. @app.route('/',methods=['GET']) @app.route( ...
- detach() 与remove()
detach() 与remove()区别,在于remove()掉后,就没有啦,添加的事件也没有啦,后者还有啊,可以保留的哦,虽然 $("div").click(function() ...
- Head First设计模式之状态模式
一.定义 定义:允许对象在内部状态改变时改变它的行为, 对象看起来好像修改了它的类. 主要解决:对象的行为依赖于它的状态(属性),并且可以根据它的状态改变而改变它的相关行为. 何时使用:代码中包含大量 ...
- 执行查询“BACKUP LOG [XXX] TO DISK = N'F:\\BackData\\事务日至备份\\...”失败,错误如下:“无法执行 BACKUP LOG,因为当前没有数据库备份。 BACKUP LOG 正在异常终止。
执行查询"BACKUP LOG [XXX] TO DISK = N'F:\\BackData\\事务日至备份\\..."失败,错误如下:"无法执行 BACKUP LOG ...
- vmware一步步安装centos
软件环境:vmware10.0破解版 centos版本:6.4 1.启动vmware,新建虚拟机,选择自定义安装 2,出现如下界面,保持默认,点击下一步 3.这个步骤要特别注意,选择“稍后安装”,我们 ...
- Wechat 微信端调用“微信支付接口”的正确方式
微信端的项目中,比如微信商城之类的,肯定会涉及到微信支付这一块: 下面直接上详细的代码: var data = {--}; // 调用微信支付需要的数据 function onBridgeReady( ...
- 【软件】关于Notepad++(32位)
1.Notepad++安装包 简介:NotePad++是一个轻量级的代码编辑器,占用内存少,运行速度快. 官网网址:https://notepad-plus-plus.org/ 百度网盘:https: ...