CSS动画复习
一、css动画相关的几个属性
| 属性 | 含义 | 理解 |
|---|---|---|
| transform | 一种CSS属性。用于修改CSS视觉格式模型的坐标空间。使用它,元素可以被移动(translate)、旋转(rotate)、缩放(scale)、倾斜(skew)。 | 变形 |
| translate() | CSS属性transform的一种可能值。用于移动元素。 | 平移的变形 |
| transition | 一种CSS属性。用于设置过渡样式。为一个元素在不同状态之间切换的时候定义过渡效果。比如在一个元素的不同的伪类之间切换,像是 :hover ,:active 或者通过JavaScript实现的状态变化。 | 过渡 |
| animation | 一种CSS属性。用于设置动画。是一个简写的属性,包含6个属性。 | 动画 |
二、transform
1. 语法
transform: matrix(1,2,3,4,5,6);transform: translate(120px, 50%);transform;scale(2, 0.5);transform: rotate(0.5);transform: skew(30deg, 20deg);transform: scale(0.5) translate(-100%, -100%)
浏览器兼容前缀:
| Chrome/Safari | Firefox | IE | Opera |
|---|---|---|---|
| -webkit | -moz | -ms | -o |
2. 示例
<style>p{width:200px;border: thin solid red;-webkit-transform: translate(200px, 200px);-moz-transform: translate(200px, 200px)transform: translate(200px, 200px);rotate(30deg);}</style><p>啦啦啦</p>
三、translate()
1.语法
translate(tx) /* Equal to translateX(tx) */translate(tx, ty)translateX(tx)translateY(ty)
param:
- tx,ty:水平、垂直方向的移动距离。可以为 绝对距离,也可以为百分数
注意:它必须写在transform属性里面!!
2. 示例
见一、
四、transition
1.语法
它是一个简写属性。等于:
<transition-property> <transition-duration> <transition-timing-function> <transition-delay>
必不可少的是:
<transition-property> <transition-duration>
transition: margin-right 2s;transition: margin-right 2s .5s;transition: margin-right 2s ease-in-out;transition: margin-right 2s ease-in-out .5s;transition: margin-right 2s, color 1s;
Transitions可以为一个元素在不同状态之间切换的时候定义不同的过渡效果。比如在不同的伪元素之间切换,像是 :hover ,:active 或者通过JavaScript实现的状态变化。
注意:transform属性只对block级元素生效!
2.示例
<style>p{width:200px;border: thin solid red;font-size: 16px;}p:hover{border: thick solid green;font-size: 32px;}</style><p>啦啦啦</p>
五、animation
1. 语法
它是一个简写属性,等于:
<animation-name> <animation-duration> <animation-timing-function> <animation-delay> <animation-iteration-count> <animation-derection> <animation-fill-mode>
各属性详细解释如下表:
| 属性 | 作用 |
|---|---|
| name | 用来调用@keyframes定义好的动画,与@keyframes定义的动画名称一致 |
| duration | 指定元素播放动画所持续的时间 |
| timing-function | 规定速度效果的速度曲线,是针对每一个小动画所在时间范围的变换速率 |
| delay | 定义在浏览器开始执行动画之前等待的时间,是整个animation执行之前等待的时间 |
| iteration-count | 定义动画的播放次数,可选具体次数或者无限(infinite) |
| direction | 设置动画播放方向:normal(按时间轴顺序),reverse(时间轴反方向运行),alternate(轮流,即来回往复进行),alternate-reverse(动画先反运行再正方向运行,并持续交替运行) |
| fill-mode | 控制动画结束后,元素的样式,有四个值:none(回到动画没开始时的状态),forwards(动画结束后动画停留在结束状态),backwords(动画回到第一帧的状态),both(根据animation-direction轮流应用forwards和backwards规则),注意与iteration-count不要冲突(动画执行无限次) |
animation: 3s ease-in 1s 2 reverse both paused slidein;/* duration | timing-function | delay | iteration-count | direction | fill-mode | play-state | name */animation: 3s linear 1s slidein;/* duration | timing-function | delay | name */animation: 3s slidein;/* @ duration | name */
2.示例
<style>.lala {width:200px;border: thin solid red;margin-left: 10px;font-size: 16px;animation: mymove 4s linear 0s infinite;-webkit-animation: mymove 4s linear 0s infinite;-moz-animation: mymove 4s linear 0s infinite;-o-animation: mymove 4s linear 0s infinite;}@-webkit-keyframes mymove {from {margin-left: 0;background:yellow;}to {margin-left:100%;background: green;}}@-moz-keyframes mymove {from {margin-left: 0;background:yellow;}to {margin-left:100%;background: green;}}@-o-keyframes mymove {from {margin-left: 0;background:yellow;}to {margin-left:100%;background: green;}}@keyframes mymove {from {margin-left: 0;background:yellow;}to {margin-left:100%;background: green;}}</style><p class="lala">啦啦啦</p>
参考资料
https://developer.mozilla.org/zh-CN/docs/Web/CSS/transform
https://developer.mozilla.org/en-US/docs/Web/CSS/transform-function/translate
https://developer.mozilla.org/zh-CN/docs/Web/CSS/transition
https://developer.mozilla.org/zh-CN/docs/Web/CSS/CSS_Transitions/Using_CSS_transitions
https://developer.mozilla.org/zh-CN/docs/Web/CSS/animation
CSS动画复习的更多相关文章
- CSS动画原理及硬件加速
一.图层 图层即层叠上下文,具体概念和应用大家可以看我之前转自张鑫旭大神博客的<CSS层叠上下文和层叠顺序>,这里我们简单复习一下产生层叠上下文的原因. 1.根层叠上下文 指的是页面根元素 ...
- 梅须逊雪三分白,雪却输梅一段香——CSS动画与JavaScript动画
CSS动画并不是绝对比JavaScript动画性能更优越,开源动画库Velocity.js等就展现了强劲的性能. 一.两者的主要区别 先开门见山的说说两者之间的区别. 1)CSS动画: 基于CSS的动 ...
- Css 动画的回调
在做项目中经常会遇到使用动画的情况.以前的情况是用js写动画,利用setTimeout函数或者window.requestAnimationFrame()实现目标元素的动画效果.虽然后者解决了刷新频率 ...
- HTML和CSS的复习总结
HTML(Hypertext Markup Language)超文本标记语言:其核心就是各种标记!<html> HTML页面中的所有内容,都在该标签之内:它主要含<head>和 ...
- 【译】css动画里的steps()用法详解
原文地址:http://designmodo.com/steps-c... 原文作者:Joni Trythall 我想你在css 动画里使用steps()会和我一样有很多困惑.一开始我不清楚怎样使用它 ...
- css动画属性性能
性能主要表现:流量.功耗与流畅度 在现有的前端动画体系中,通常有两种模式:JS动画与CSS3动画. JS动画是通过JS动态改写样式实现动画能力的一种方案,在PC端兼容低端浏览器中不失为一种推荐方案. ...
- Css动画形式弹出遮罩层,内容区上下左右居中于不定宽高的容器中
<!DOCTYPE html> <html> <head> </head> <body id="body"> <! ...
- css动画与js动画的区别
CSS动画 优点: (1)浏览器可以对动画进行优化. 1. 浏览器使用与 requestAnimationFrame 类似的机制,requestAnimationFrame比起setTimeout ...
- CSS动画与GPU
写在前面 满世界的动画性能优化技巧,例如: 只允许改变transform.opacity,其它属性不要动,避免重新计算布局(reflow) 对动画元素应用transform: translate3d( ...
随机推荐
- HttpUtils工具类
HttpUtils工具类 package net.hs.itn.teng.common.util; import java.io.IOException; import java.io.Unsuppo ...
- vm+ubuntu联网
在vm下刚装了ubuntu,就是上不了网,确认以下配置后方可以 1.我的电脑开机自动把VM的相关服务都关闭了,需要手动打开 在控制面板中搜索服务,手动启动vm服务 2.在适配器里启用vm网卡 3.使用 ...
- 对正交频分复用OFDM系统的理解
OFDM系统 正交频分复用OFDM(Orthogonal Frenquency Division Multiplexing)是一种多载波调制技术. 基本思想:在发送端,它将高速串行数据经过串并变换形成 ...
- java入门了解04
1.异常的体系:---------|Throwable --------------| Error (错误) 错误一般是由于jvm或者是硬件引发的问题,所以我们一般都不会通过代码去处理.------- ...
- 让外界可以访问电脑上的网站的几种方式——花生壳,域名,IIS(待)
前话: 每次“养大“一个网站,都有种骄傲地想秀给朋友们看的冲动. 之前可能是困于电脑,实在不方便. 现在,不用克制了! 该秀就秀,能装逼就装逼. 养大孩子就该拉出来秀秀,见见世面. 正题:这次实习,我 ...
- Java -- 数据库 多表操作,1对多,多对多,1对1。 基于dbutils框架
1. 1对多,部门--员工 为例, 多的一方建外键. domain,建立bean对象 public class Department { private String id; private Stri ...
- BZOJ3672/UOJ7 [Noi2014]购票
本文版权归ljh2000和博客园共有,欢迎转载,但须保留此声明,并给出原文链接,谢谢合作. 本文作者:ljh2000 作者博客:http://www.cnblogs.com/ljh2000-jump/ ...
- Spring boot学习整理
目录: Springboot结合hbase Springboot结合elasticsearch Springboot结合RestTemplate处理Http请求 Springboot的maven相关 ...
- tensorflow1.0中的改善
TensorFlow 1.0 重大功能及改善 XLA(实验版):初始版本的XLA,针对TensorFlow图(graph)的专用编译器,面向CPU和GPU. TensorFlow Debugger(t ...
- review34
Thread类与线程的创建 让线程启动时使用我们自己创建run()的两种方式:一种是继承Thread类,实现其中的run()方法,然后用继承的类用无参构造方法创建对象就可以了.第二种是实现Runnab ...