css动画详解 (transition animation)

属性

transition(4个属性):

transition: width 5s ease 3s;  /*简写*/transition-property: width; /*过渡属性名*/transition-duration: 5s; /*持续时间,默认为0*/transition-timing-function: ease; /*速度*/transition-delay: 3s; /*延迟*/

animation(7+个属性)

animation: myfirst 5s linear 2s infinite alternate backwards;/*简写*/
/*参数依次是:
name/duration/timing-function/delay/iteration-count/
direction (方向,重复多次时起作用,表示是否逆向播放,alternate逆向/
play-state(动画状态,running开启)/
fill-mode (动画结束时候的停留位置,backwards开始帧停留,forward结束帧停留)*/
/*  infinite:无限次的  */

transform 又是什么

元素的一个移动属性,修改具体的参数,元素会做静态移动,也可以作为动画的变化属性;包含5个值:

  1. translate3d(x,y,z) 控制元素在页面上的三轴的位置;
  2. rotate(deg) 旋转角度;
  3. skew[x,y](deg) 倾斜度的;
  4. scale3d(x,y,z) 放大缩小,属性是比值;
  5. matrix3d,css矩阵。通过这个矩阵属性,涵盖了上面所有的属性值,数学性较强。

区别

  1. transition只能设置开始与结束2个关键帧的状态,多个关键帧可以使用 @keyframes 规则撰写动画
 transition: width 2s ease, height 2s ease;@keyframes addWidth{from{width:100px; /*一般的元素属性变化*/transform: translate3d(-500%,0,0); /*transform控制的变化*/}to{width:200px;transform: none;}}
/*或者用0%到100%*/
@keyframes addWidth{0%{width:100px;}50%{width:200px;}100%{width:100px;}}
  1. 触发条件:transition通常和hover等事件配合使用,由事件触发。animation则和gif动态图差不多,立即播放。
  2. 循环:animation可以设定循环次数
  3. 与JavaScript的交互:animation与js的交互不是很紧密。tranistion和js的结合更强大。js设定要变化的样式,transition负责动画效果。

详细分析见这篇文章:

兼容处理

/*CSS样式,animation一样*/
-webkit-transition: all .5s ease; /*--chrome,safari--*/
-moz-transition: all .5s ease; /*--firefox--*/
-ms-transition: all .5s ease; /*--IE--*/
-o-transition: all .5s ease; /*--opera--*/
transition: all .5s ease; /*--W3C--*//*写动画*/
@-webkit-keyframes demo{/*--chrome,safari--*/}
@-moz-keyframes demo{/*--firefox--*/}
@-ms-keyframes demo{/*--IE--*/}
@-o-keyframes demo{/*--opera--*/}
@keyframes demo{ /*--W3C--*/}

详细参考:
https://www.w3.org/TR/css3-animations/

转载于:https://www.cnblogs.com/flora-dn/p/7240541.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/416312.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

php ajax session死锁,session过期,ajax请求处理

session会话过期,如果是请求。可以直接定位到页面。如果是ajax请求。无法跳转到页面。可以通过如下方式实现,在Response的输出流里面,向前端写一段html代码来实现。public boolean preHandle(HttpServletRequest request, HttpServletRespons…

NYOJ题目 263 精挑细选

题目描述: 小王是公司的仓库管理员,一天,他接到了这样一个任务:从仓库中找出一根钢管。这听起来不算什么,但是这根钢管的要求可真是让他犯难了,要求如下:1、 这根钢管一定要是仓库中最长的&…

充电桩系统php源码,源码 充电桩程序设计 - 下载 - 搜珍网

压缩包 : e0f671190e843b596bf8d7dfd98914.zip 列表源码/00/源码/00/delay.crf源码/00/delay.d源码/00/delay.o源码/00/gui.crf源码/00/gui.d源码/00/gui.o源码/00/inc/源码/00/inc/delay.h源码/00/inc/io_bit.h源码/00/inc/main.h源码/00/inc/stm32f10x_conf.h源码/00/inc/stm…

mysql中max_allowed_packet参数的配置方法(避免大数据写入或者更新失败)

MySQL根据配置文件会限制Server接受的数据包大小。有时候大的插入和更新会受 max_allowed_packet 参数限制,导致写入或者更新失败。查看目前配置: show VARIABLES like %max_allowed_packet%; 显示的结果为: ----------------------------- |…

linux命令行sip电话,基于Linux和MiniGUI的SIP电话终端设计

0 引言随着VoIP的迅猛发展,越来越多的个人用户正在使用软件电话、IP电话通过VoIP系统拨打国内和国际长途,IP电话的需求量越来越大,同时,人们对IP电话的要求也越来越高,例如要求IP电话体积小、方便携带、功耗低、待机时…

Maven--反应堆(Reactor)

在一个多模块的 Maven 项目中,反应堆是指所有模块组成的一个构建结构。对于单模块的项目,反应堆就是该模块本身。但对于多模块项目来说,反应堆就包含了各模块之间继承与依赖的关系,从而能够自动计算出合理的模块构建顺序。 模块间…

工作87:element-ui el-table sortable属性 参数详解

表格组件的排序功能,点击排序表头可以进行升序和降序进行排序 上代码 <el-table:data"tableData"style"width: 100%"<!-- 数据由后台进行排序时sortable"custom",需要监听排序点击事件,会返回当前的prop和order -->sort-change"c…

linux文件基础知识,linux文件系统基础知识

利用直接指针、单级间接指针、二级间接指针、三级间接指针可保存的最大文件大小为&#xff1a;1024*121024*2561024*256*2561024*256*256*25616843020 KB&#xff0c;约 16GB若数据块大小为2048B&#xff0c;指针占4B&#xff0c;则最大文件大小为&#xff1a; 2048*122048*512…

[LeetCode] 547. Friend Circles Java

题目&#xff1a; There are N students in a class. Some of them are friends, while some are not. Their friendship is transitive in nature. For example, if A is a direct friend of B, and B is a direct friend of C, then A is an indirect friend of C. And we de…

工作88:vue实现当前页面刷新

想必大家在刨坑vue的时候也遇到过下面情形&#xff1a;比如在删除或者增加一条记录的时候希望当前页面可以重新刷新或者如下面这种&#xff1a; 如果希望点击确定的时候&#xff0c;Dialog 对话框关闭的时候&#xff0c;当前http://localhost:9530/#/supplier/supplierAll页面可…

linux文件系统叫什么,【整理】什么是根文件系统(rootfs=Root Fils System)

Linux系统中的根文件系统&#xff0c;Root FileSystem&#xff0c;简称为rootfs&#xff1b;关于rootfs&#xff0c;之前一直很迷惑&#xff0c;不知道所要表达的真正的含义&#xff1b;即便是通过buildroot自己建立了相关的rootfs之后&#xff0c;还是没能很明白的理解&#x…

工作89:vue竖直的显示表头的表格(vue版本)

今天遇到一个问题&#xff0c;实现这样一个竖直的显示表头的表格&#xff0c;如下图。默认显示两列。 vue实现代码如下&#xff1a; tableComponent.vue&#xff1a; <template> <table class"mailTable" :style"styleObject" v-if"s_show…

【python之路】数据库2

一、数据库存储引擎 1.什么是存储引擎 mysql中建立的库>文件夹 库中建立的表>文件  现实生活中我们用来存储数据的文件应该有不同的类型&#xff1a;比如存文本用txt类型&#xff0c;存表格用excel&#xff0c;存图片用png等 数据库中的表也应该有不同的类型&#xff0c…

linux服务器配置端口,Linux服务器配置-新增端口

1、我们需要知道操作的Apache配置文件在Linux服务器上面的路径&#xff1a;/etc/apache2/&#xff0c;用cd命令即可&#xff1a;cd /etc/apache2/在服务器上&#xff0c;我们通过ls命令查看配置文件&#xff1a;2、需要用到的是设置端口的文件ports.conf 以及sites-enabled目录…

3224: Tyvj 1728 普通平衡树

3224: Tyvj 1728 普通平衡树 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 14480 Solved: 6275Description 您需要写一种数据结构&#xff08;可参考题目标题&#xff09;&#xff0c;来维护一些数&#xff0c;其中需要提供以下操作&#xff1a;1. 插入x数2. 删除x数(若有…

linux编译c++ 静态库,C/C++ 条件编译静态库

》windows 下方法&#xff1a;1.方法一&#xff1a;VS工程中中直接添加1.1在VS的属性-》常规-》附加库目录&#xff0c;添上文件夹的路径:例如&#xff1a;lib/x64&#xff1b;1.2输入的附加依赖项&#xff0c;添加上库的名字&#xff0c;例如&#xff1a;dmapi.lib1.3 对用到该…