目录

前言

一、keyframes定义动画

二、元素使用动画

1.关键代码

2.使用举例

三、CSS3动画常见属性

四、速度曲线

总结


前言

CSS3可以实现HTML元素的动画效果,不使用JavaScript或者是Flash也能实现动画效果,在CSS3中新增了一个transition模块,通过一些简单的CSS 事件来触发元素的外观变化,使得显示的效果更加细腻。


一、keyframes定义动画

使用@keyframes规则,可以创建动画,指定变化时用0%到100%,或关键词“from”和“to”,0%是动画的开头,100%是动画的结尾。我们把名称定义为move,关键代码如下:

@keyframes move {
            0% {
                transform: translateX(0px);
            }
            100% {
                transform: translateX(1000px);   //沿着X轴移动1000像素。
            }
        }

二、元素使用动画

1.关键代码

调用动画:
                        animation-name: move;
        持续时间:
                        animation-duration: 2s;

2.使用举例

我们来看看这个动画是怎么完成的,首先直接建立一个盒子div,然后为其设置样式,其中有些属性什么意思不懂可以看下面第三节:CSS3动画常见属性

div {width: 100px;height: 100px;background-color: powderblue;animation-name: move;animation-duration: 2s;animation-timing-function: ease;animation-delay: 2s;animation-iteration-count: infinite;animation-fill-mode: forwards;}

三、CSS3动画常见属性

CSS3动画常见属性
属性名称 关键代码 备注
动画名称 annimation-name:动画名称 动画名称自主定义
持续时间 animation-duration:2s 单位是s或者ms
运动曲线 animation-timing-function:ease
何时开始 animation-delay: 1s; 单位是s或者ms
重复次数 animation-iteration-count: infinite; iteration 重复的 ,conut 次数,  infinite  无限 
是否反方向播放 animation-direction: alternate;   默认的是 normal  如果想要反方向 就写 alternate 
动画结束后的状态 animation-fill-mode: forwards;   默认的是 backwards  回到起始状态 我们可以让他停留在结束状态 forwards 

常用的动画属性这么多,单独使用的话非常的麻烦,我们可以使用简写来使用这些属性,

基本语法如下:

animation:动画名称 持续时间 运动曲线 何时开始 播放次数 是否反方向 动画起始或者结束状态

animation: name duration timing-function delay iteration-count direction fill-mode;  

值得注意的是,前面两个属性name,duration是必要条件,一定要写

简写注意事项:        

        1.简写属性里面不包含animation-play-state

        2.暂停动画:animation-play-state:paused;经常和鼠标经过等其他配合使用

        3.想要盒子走回来,不是跳回来:animation-direction:alternate

        4.盒子动画结束后,停在结束位置:animation-fill-mode:forwards

 四、速度曲线

属性名称 属性值 备注
匀速 linear
默认 ease 以低速开始,加快,结束前变慢
以低速开始 ease-in
以低速结束 ease-out
以低速开始和结束 ease-in-out

步长

steps() 指定了时间函数中的间隔数量

​​​​​​​下面使用步长来举一个简单的例子,效果图如下:

步长可以用于模拟电脑打字的效果,一起来看看如何实现的吧。还是建立一个div盒子,

把要输出的文字填入:

<div>模拟电脑打字输入</div>

CSS3代码部分:

首先使用overflow:hidden把没显示的部分隐藏,然后使用animation调用动画w,持续4s,forwards动画停留在结束状态,步长为10,简单来说就是在4s内显示10步以完成动画。

@keyframes w {0% {width: 0;}100% {width: 200px;}}div {overflow: hidden;font-size: 20px;white-space: nowrap;  //不换行width: 0;height: 30px;background-color: pink;animation: w 4s forwards steps(10);}

       


总结

动画更多的是配个一些2D,3D效果共同使用来达到更好的效果,CSS3的动画相较于JavaScript或者是Flash更加简洁,在编程的过程中,也会少使用软件减轻工作量。

CSS3 高级教程之动画定义和使用相关推荐

  1. css3渐变放大CSS3 教程,css3渐变gradient – CSS3高级教程

    CSS3的渐变功能允许你在不使用任何图像的情况下创建从一种颜色到另一种颜色的渐变. 使用CSS3渐变 CSS3的渐变特性提供了一个灵活的解决方案来生成两个或多个颜色之间的平滑过渡.早些时候,为了达到这 ...

  2. Flash ActionScript 3.0 动画高级教程 (高清PDF中文版下载)

    Flash ActionScript 3.0 动画高级教程 (高清PDF中文版下载) 转载于:https://www.cnblogs.com/gavinhughhu/archive/2010/09/2 ...

  3. html进度条倒计时代码,html5+css3进度条倒计时动画特效代码【推荐】_html5教程技巧...

    html5+css3进度条倒计时动画特效这个作品在今天上网找网络资源的时候无意中发现的,看到效果非常棒并且很实用,就第一时间把它整理出来与大家分享了,主要用到了html5.javascript和css ...

  4. 《HTML5与CSS3实例教程》

    <HTML5与CSS3实例教程> 基本信息 作者: (美)Brian P. Hogan 译者: 卢俊祥 丛书名: 图灵程序设计丛书 出版社:人民邮电出版社 ISBN:97871153634 ...

  5. Siki_Unity_2-9_C#高级教程(未完)

    Unity 2-9 C#高级教程 任务1:字符串和正则表达式 任务1-1&1-2:字符串类string System.String类(string为别名) 注:string创建的字符串是不可变 ...

  6. php设计 mobi,PHP程序设计高级教程

    PHP程序设计高级教程 下载 mobi epub pdf ☆☆☆☆☆ 传智播客高教产品研发部 编 下载链接在页面底部 发表于2021-04-12 类似图书 点击查看全场最低价 图书介绍 出版社: 中国 ...

  7. iText7高级教程之构建基础块——3.使用ILeafElement实现类

    作者:CuteXiaoKe 微信公众号:CuteXiaoKe   ElementPropertyContainer 类有三个子类:Style.RootElement.和AbstractElement. ...

  8. MPLS *** 高级教程(张洋讲解演示版)

    MPLS *** 高级教程(张洋讲解演示版) 课程目标: ü        LDP的实施和特性 ü        PE-CE路由协议以的实施,以及它们在MPLS ***中的特性: ü        如 ...

  9. 2款不同样式的CSS3 Loading加载动画 附源码

    原文:2款不同样式的CSS3 Loading加载动画 附源码 我们经常看到的Loading加载很多都是转圈圈的那种,今天我们来换一种有创意的CSS3 Loading加载动画,一种是声波形状的动画,另一 ...

  10. DOS批处理高级教程:第三章 FOR命令中的变量(转)

    DOS批处理高级教程:第一章 批处理基础 DOS批处理高级教程:第二章 DOS循环for命令详解 DOS批处理高级教程:第三章 for命令中的变量 DOS批处理高级教程:第四章 批处理中的变量 DOS ...

最新文章

  1. 基于FPGA的AM信号调制与解调详细步骤
  2. C++极值minmax最大值最小值算法(附完整源码)
  3. 高可用高性能分布式文件系统FastDFS实践Java程序
  4. android listview 切换,Android:在ListView适配器中切换OnCheckedChangeListener
  5. 终端编译opengl程序编译运行_ubuntu编译opengl和demo之二(glfw版本)
  6. 02ODBC基本概念
  7. 纯CSS打造的Family tree(族谱)
  8. Layer弹出层关闭后刷新父页面
  9. 关于SQL server事务
  10. iOS开发中地图与定位
  11. Android 打造编译时注解解析框架
  12. R|ggplot2(七)|自定义主题
  13. 【离散数学】图论 第七章(6) 图的结点着色和Welch Powell法、平面图着色、希伍德五色定理、四色定理
  14. python画平行四边形_利用transform skewX制作平行四边形导航菜单
  15. windows无法连接到某个wifi_Windows无法连接到网络解决方法
  16. php v9 用户头像,phpcms v9前台会员中心上传头像可getshell | CN-SEC 中文网
  17. 华为交换机批量加入 Vlan 方法
  18. 微软 MSN BEET SDET 面试经过和总结
  19. 服务器hostname命名规范汇总
  20. 图像识别——(java)opencv(处理图像各种算法测试)

热门文章

  1. 龙芯电脑编译安装mysql5.7详解
  2. hdu-6638 Snowy Smile
  3. 弹窗拦截小帮手------火绒
  4. 高度坍塌的几种解决方法
  5. Python 开发个人微信号在运维开发中的使用
  6. 深度Linux声卡驱动安装,Deepin Linux 的声卡驱动有点小问题
  7. 分离LZY的字符串(循环)
  8. Linux dd烧写系统
  9. 中国高铁砥砺前行,促进经济腾飞
  10. 数独解法/n皇后的回溯算法