利用CSS3制作网页动画
如何在网页中实现动画效果动态图片
flashjavascriptcss3变形是一些效果的集合如平移 旋转 缩放 倾斜效果每个效果都可以称为变形(transfrom)
它们可以分别操控元素发生平移、旋转、缩放、倾斜等变换语法transform:[transfrom-function]*;
变形函数translate():平移函数,基于X Y坐标重新定位元素位置scale():
缩放函数,可以是元素对象尺寸放生变换rotate():旋转函数,取值是一个度数skew():
倾斜函数,取值是一个度数值2D的位移translate(tx, ty)tx:X轴(横坐标)移动的向量长度ty:Y轴(纵坐标) 移动的向量长度
2D缩放scale(sx,sy)sx:X轴(横坐标)方向的缩放量sy:Y轴(纵坐标)高度方向的缩放量scale()函数可以只接受一个值,也可以接受两个值,只有一个值时,第二个默认和第一个值相等
2D倾斜语法skew{ax,ay}ax:水平方向(X轴)的倾斜角度ay:水平方向(Y轴)的倾斜角度
2D旋转语法rotate(a);参数a单位使用deg表示参数a取正值时元素相对原来中心顺时针旋转 rotate()函数只是旋转,而不会改变元素形状skew()函数是倾斜,元素不会旋转,会改变元素形状
css3过渡 语法transition:{transition-property transition-duration transition-timing-function transition-delay}
transition-property:过渡或动态模拟
css属性transition-duration完成过渡需要的时间
transition-timing-function 指定过渡函数
transition-delay过渡开始出现的延迟时间
过渡属性(transition-property)定义转换的css的属性名称IDEBT
指定css属性width height background-color 属性等all
指定所有元素支持transition-property属性样式,一般为了方便都是用all过渡所需的时间(transition-duration)定义转换动画时间长度,
即从设置就属性到换新属性所花费的时间。单位秒(s)过度动画的函数(transition-timing-function)指定浏览器的过渡速度 以及过渡期间的操作进展情况通过给过渡添加一个函数来指定动画快慢速度ease 速度由快到慢(默认值)liner:速度恒速(匀速运动)ease-in:速度越来越快(渐显效果)ease-out:速度越来越慢(渐隐效果)ease-in-out速度先加速在减速(渐显渐隐效果)延迟的时间(transition-delay)指定一个动画开始执行的时间,
当改变元素属性值后多长时间去执行过渡效果正值 元素过渡效果不会立即触发,当过了设置时间值才会被触发负值 元素过渡效果会从该时间点开始显示,之前的动作被截断0默认值,元素过渡效果立即执行过渡的触发机制伪类触发:hover:active:focus:checked
媒体查询:通过@media属性判断设备尺寸方向等JavaScript:
用JavaScript脚本触发使用transition实现过渡动画使用步骤在默认样式中声明元素的初始样式声明过渡元素最终状态样式,如悬浮状态在默认样式中通过添加过渡函数,添加一些不同样式
css动画animation实现动画主要两个部分组成通过类似flsah
动画的关键帧来声明一个动画在animation属性中调用关键帧声明的动画实现一个更为复杂的动画效果设置关键帧
@keyframes IDENT{
from{css样式写在这里}
percentage{css样式写在这里}
to{css样式在这里}
}
css3动画制作步骤设置关键帧
@keyframes IDENT{
from {/*css样式写在这*/}
percentage{/*css样式写在这里*/}
to{/*css写在着在这*/}
}
也可以将关键字from和to换成百分比
@keyframes IDENT{
0% {/*css样式写在这*/}
percentage{/*css样式写在这里*/}
0%{/*css写在着在这*/}
}
其中IDENT就是一个动画名,可以取任意定义的动画名称,当然语义化·一点重要。percentage就是一个百分比,用来定义某个时间的动画效果
例子:
@keyframes spread{
0% {{width:0;}
33%{{width:23px;}
66%{{width:46px;}
100%{width:69px;}
}
上面代码通过@keyframes声明了一个名为spread的动画,它的动画从0%开始到100%是结束,同时还经历33%和66%两个过程。简单来说,这个名叫spead的动画一共有四个关键帧
@keyframes是实现动画必不可少的一个属性,可是浏览器对@keyframes的兼容性影响到动画能在那个浏览器下运行,下面是他在各个主流浏览器下的支持情况:
| 属性名 | IE | Firefox | Chrome | Opera | Safari |
| @keyframes | 10+ | 5.0+ | 4.0+ | 4.0+ | 12.0+ |
调用关键帧:
在CSS3中animation属性可以调用@keyframes声明的动画。animation属性类似transition属性,他们都是随着时间的改变来改变元素的属性值,它们的区别:
1.transition实现动画需要触发一个事,(hover事件、active事件等)
2.animation可以在不触发任何事件的情况下也能随着时间的变化·来改变元素的CSS属性值,从而达到一种动画效果
例如:
animation:spread 2s linear;
-webkit-animation:spread 2s linear;
-moz-animation:spread 2s linear;
-o-animation:spread 2s linear;
animation的语法和其他几个常用的属性
animation;animation-name animation-duration animation-timing-functionanimat ion-delayanimation teration-count animation-direction animation-play-state animation-fill-mode;
animation:动画化名称 动画的播放时间 动画的播放方式 开始播放动画的时间 动画的播放次数 动画的播放方向 动画的播放态度 动画时间外属性
animation-name :是由@keyframes创建的动画名称
animation-teration-count :动画的播放次数,通常指为整数,默认值为1,表示动画执行一次。还有一个特殊值infinite,表示动画无限次播放
animation-direction;动画播放的方向 主要有两个值 ,normal表示动画每次循环向前播放,alternate,表示动画播放为偶数次则向前播放,奇数次则反方向播放
animation-play-state:动画的播放状态 running将暂停的动画上播放,paused将正在播放的元素动画停下来
animation-fill-mode:定义在动画开始之前和结束之后发生的操作
利用CSS3制作网页动画的更多相关文章
- 第九章 利用CSS3制作网页动画
一.CSS3变形transform 1.平移:translate(x,y) translateX(x) translateY(y) 注意:如果想只向X轴平移那么可以translateX,如果想只向X轴 ...
- css3制作网页动画
一.CSS3变形 CSS3变形是一些效果的集合 如平移.旋转.缩放.倾斜效果 每个效果都可以称为变形(transform),它们可以分别操控元素发生平移.旋转.缩放.倾斜等变化 二.CSS3位移:tr ...
- 利用CSS3制作淡入淡出动画效果
CSS3新增动画属性“@-webkit-keyframes”,从字面就可以看出其含义——关键帧,这与Flash中的含义一致. 利用CSS3制作动画效果其原理与Flash一样,我们需要定义关键帧处的状态 ...
- 8个纯CSS3制作的动画应用及源码
对于一个复杂的图形或者动画来说,之前我们的处理方式是图片叠加或者利用CSS+JavaScript的方法,然而随着CSS3标准的不断成熟,我们甚至完全可以利用CSS3来绘制一些图片和制作丰富的动画特效. ...
- 3D Grid Effect – 使用 CSS3 制作网格动画效果
今天我们想与大家分享一个小的动画概念.这个梦幻般的效果是在马库斯·埃克特的原型应用程序里发现的.实现的基本思路是对网格项目进行 3D 旋转,扩展成全屏,并呈现内容.我们试图模仿应用程序的行为,因此 ...
- css3制作旋转动画
现在的css3真是强大,之前很多动画都是用jq来实现,但是css3制作的动画要比jq实现起来简单很多,今天呢,我自己也写了一个css旋转动画和大家分享.效果如下面的图片 思路:1.制作之前呢,我们先来 ...
- 利用Javascript制作网页特效(窗口特效)
全屏显示窗口 利用fullscreen=yes可以制作全屏显示窗口. ①:在body标签内输入以下代码: <div align="center"> <input ...
- 利用Javascript制作网页特效(图像特效)
图像是文本的解释和说明,在网页中的适当位置放置一些图像,不仅可以使文本更加容易阅读,而且可以使网页更加具有吸引力. 当鼠标指针经过图像时图像振动效果 ①:在head标签内输入以下代码: <sty ...
- 利用Javascript制作网页特效(时间特效)
在网页中经常可以看到各种各样的动态时间显示,在网页中合理地使用时间可以增加网页的时效感. 显示当前时间 getHours().getMinutes().getSeconds()分别获得当前小时数.当前 ...
随机推荐
- 硬盘GPT分区与MBR分区的转换
如何将gpt分区更改成mbr分区? "因为笔记本电脑硬盘分区表是GPT而导致大家无法安装引导系统.需要转换为MBR分区还能顺利安装." 问题是,分区工具无法转换MBR,这里小编知道 ...
- freemarker报错之十五
1.错误描述 六月 04, 2014 11:04:03 下午 freemarker.log.JDK14LoggerFactory$JDK14Logger error 严重: Template proc ...
- Linux查看网络的联机状态
Linux查看网络的联机状态 youhaidong@youhaidong-ThinkPad-Edge-E545:~$ netstat -a^C unix 3 [ ] 流 已连接 14923 @/tmp ...
- 【原】storm组件(架构层面)
Strom集群遵循从主模式,主与从之间通过Zookeeper协作.架构层面上包括三个组件: 1) Nimbus Node 2)Supervisor Nodes 3)Zookeeper 其中Nimbus ...
- C# 图解教程 第四章 类的基本概念
类的基本概念 类的概述声明类 类成员字段方法 创建变量和类的实例为数据分配内存实例成员访问修饰符 私有访问和公用访问 从类的内部访问成员从类的外部访问成员综合应用 类的基本概念 类的概述 类是一种活动 ...
- 用VSCode开发一个asp.net core2.0+angular5项目(5): Angular5+asp.net core 2.0 web api文件上传
第一部分: http://www.cnblogs.com/cgzl/p/8478993.html 第二部分: http://www.cnblogs.com/cgzl/p/8481825.html 第三 ...
- js+jq实现图片预览,支持到ie9+ff+chrome
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 【CJOJ P2110】YL杯超级篮球赛
[CJOJ P2110]YL杯超级篮球赛 Description 一年一度的高一YL杯超级篮球赛开赛了.当然,所谓超级的意思是参赛人数可能多于5人.小三对这场篮球赛非常感兴趣,所以一场都没有落下.每天 ...
- [BZOJ2002] [Hnoi2010] Bounce 弹飞绵羊 (LCT)
Description 某天,Lostmonkey发明了一种超级弹力装置,为了在他的绵羊朋友面前显摆,他邀请小绵羊一起玩个游戏.游戏一开始,Lostmonkey在地上沿着一条直线摆上n个装置,每个装置 ...
- redis笔记总结之redis数据类型及常用命令
三.常用命令 3.1 字符串类型(string) 字符串类型是Redis中最基本的数据类型,一个字符串类型的键允许存储的数据的最大容量为512MB. 3.1.1 赋值与取值: SET key valu ...