css基础过渡与动画与应用于vue、react

一、css属性过渡transition

1、解释:

使用该属性后变化不会在一瞬间完成,会有一个连续的变化效果。第一个参数设置哪些属性变化时需要有连续的效果。

不论用什么方式使属性的值发生变化,transition都会生效。

2、语法:

transition: property duration timing-function delay;

transition-property: none|all| property;

transition-timing-function: linear|ease|ease-in|ease-out|ease-in-out|cubic-bezier(n,n,n,n);

transition: 过渡属性 过渡时间 过渡曲线 延迟时间
(1) 过渡属性,可以设置 宽度、高度、transform等,当有多个过渡效果时,可以用逗号隔开,或者用all来代表所有效果 (必写)
(2) 过渡时间,单位是s,表示花多久的时间达到变化后的效果 (必写)
(3) 过渡曲线,默认 ease,即逐渐慢,还有以下选项可以选择linear 匀速ease-in 加速ease-out 减速ease-in-out 先加速后减速
(4) 延迟时间,表示推迟多久执行过渡效果,默认0s,即不延迟,可以自定义

3、示例:

宽度变化,颜色变化,位置变化translate,大小变化scale,   旋转角度rotate

compassionate-bird-5nhue8 - CodeSandbox

二、css属性动画animation

1、解释:

transition只表示了一个状态到一个状态的过渡过程,过渡过程是定死的。

animation可以自定义的过渡过程并且可以设置播放次数。

2、语法:

(1)animation

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

使用animation来实现动画,@keyframes来定义元素的运动规律
(1) animation-name: 动画的名称,即@keyframes定义的动画名字(必写)
(2) animation-duration: 动画的执行时间,一个动画多久执行完成(必写)
(3) animation-timing-function: 动画的速度曲线,默认ease(逐渐变慢),还有这些选项linear 匀速ease-in 加速ease-in-out 先加速后减速ease-out 减速
(4) animation-delay: 动画执行的延迟时间,默认0s
(5) animation-iteration-count: 动画的执行次数,默认为1,还可以选 infinite代表无限次
(6) animation-direction: 规定动画在下一周期是否逆向播放,默认 normal 不逆向播放,还可以选alternate 逆向播放
比如一个盒子从左走到右,如果执行次数是1,执行完成盒子就会立刻从右边弹回到最左边,如果设置了alternate逆向播放,那么盒子就会按照设定的速度曲线经过动画再回到左边
(7) animation-fill-mode: 规定动画的结束状态,默认backwards 回到起始状态,还可以选 保持状态 forwards
animation-direction设置了以后这个就不生效了
(8) animation-play-state: 设置动画的运行状态,默认 running 运行,还可以选 paused 停止

(2)animation-delay

animation-delay 属性定义动画什么时候开始。允许负值,-2s 使动画马上开始,但跳过 2 秒进入动画。

animation-delay 值单位可以是秒(s)或毫秒(ms)。

3、示例:

focused-bush-wv402l - CodeSandbox

三、transition、animation与3d动效结合

1、解释:

transition、animation与3d动效结合能做出空间炫酷的3d空间动效

2、语法:

总结一下3d位移和3d旋转的语法

// 父元素一定要定义 perspective
perspective: 500px// 如果父子元素都有3d动效,那要给父元素设置transform-style
transform-style:preserve-3d// 位移
transform: translateZ(100px)
transform: translate3d(0,0,100px)
// 也可以定义x和y轴方向的移动,那就是2d平面内的移动,没有3d近大远小的效果// 旋转
transform: rotateX(45deg)
transform: rotateY(45deg)
transform: rotateZ(45deg)
transform: rotate3d(1, 1, 0, deg) // x轴和y轴都旋转45度, 此时是找矢量, 及对角线位置

3、示例:

focused-bush-wv402l - CodeSandbox

四、常用动画库

没有必要自己写所有的css动画,animate里包含了常用的动画css效果,只要写入class就行。

Animate.css | A cross-browser library of CSS animations.

示例:

use animate - CodeSandbox

五、

参考:

https://www.jianshu.com/p/191b1c61e88e

https://www.jianshu.com/p/1f2b3649fae0

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

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

相关文章

Android项目开发填坑记-Fragment的onAttach

背景 现在Android开发多使用一个Activity管理多个Fragment进行开发,不免需要两者相互传递数据,一般是给Fragment添加回调接口,让Activity继承并实现。 回调接口一般都写在Fragment的onAttach()方法中,Fragment 3.0 的onAttach()方…

前端开发——移动端及响应式布局解决办法总结(适配)

问题分析:前端开发一个产品(网站、系统、APP等)会遇到的一个难点就是适配问题,比如开发一个网站,你在一个页面开发的时候从视觉看起来没什么异样,换个不同分别率的设备,电脑,手机等,发现样式全乱了,这个不是我们想要的结果,所以,浏览器适配,响应式布局就显得尤为重…

来点小技巧,Array.filter(Boolean)、 [].slice.call(this)等等

1、Array.filter(Boolean) 移除所有的 ”false“ 类型元素 (false, null, undefined, 0, NaN or an empty string)。 Boolean 是一个函数相当于直接传了个函数进去 Array.filter(Boolean)Array.filter(i>Boolean(i)) Array.filter(i>i) let a [1, 2, b, 0, {}, , N…

设置文字多行显示溢出显示省略号

#news_text { border: 1px solid red; width: 200px; word-break: break-all; text-overflow: ellipsis; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; /*这里可以设置文本显示的行数*/ overflow: hidden; }<div id"news_text"&g…

vue项目有几个接口content Download时间特别长的解决办法

做的可视化地图项目&#xff0c;有几个接口加载比较慢&#xff0c;大概16S左右&#xff0c;第一次加载接近一分钟&#xff0c;这谁能受得了。 对比了正式环境和测试环境&#xff0c;这个接口数据量一样&#xff0c;就是在测试服务器比较慢&#xff0c;排除滚动插件及其它的影响…

Java中集合的自定义运算符

总览 操作员重载有多种语言可用。 Java对String类型的运算符的支持对运算符的重载非常有限。 我们可以利用其他语言支持运算符的不同方式&#xff0c;但是可以在Java中实现一个使用Java已经使用的约定的实现。 获取&#xff0c;设置和放置操作 集合的运算符重载的一个常见示例…

【Java从入门到天黑|03】JavaSE入门之流程控制

大家好,我是孙叫兽,本期内容给大家分享一下JavaSE入门之流程控制。 用户交互Scanner 1、Scanner对象 之前我们学的基本语法中我们并没有实现程序和人的交互,但是Java给我们提供了这样一个工具类,我们可以获取用户的输入。java.util.Scanner 是 Java5 的新特征,我们可以通过…

Jmeter调试工具---HTTP Mirror Server

转自&#xff1a;http://www.cnblogs.com/puresoul/p/4907655.html 一、HTTP Mirror Server的作用&#xff1a; 它可以在本地临时搭建一个HTTP服务器&#xff0c;该服务器把接收到的请求原样返回&#xff0c;这样就可以看到发送出的请求的具体内容&#xff0c;以供调试。 二、…

520 单身福利|女朋友又找我要礼物

大家好&#xff0c;我是孙叫兽&#xff0c;520快到了&#xff0c;给大家分享一下单身福利&#xff01;时间过得真快&#xff0c;一转眼又到了 520&#xff0c;有对象的程序员又激动又扎心的节日&#xff0c;其实吧&#xff0c;程序员对这种节日又期待又焦灼&#xff0c;为什么呢…

pit和systick_PIT和TestNG突变测试简介

pit和systick变异测试是一种技术&#xff0c;它可以发现测试未涵盖代码的哪些部分。 它类似于代码覆盖范围 &#xff0c;但变异测试不限于在测试期间执行给定行的事实。 这个想法是修改生产代码&#xff08;引入突变&#xff09;&#xff0c;这应该改变其行为&#xff08;产生不…

使用vue-seamless-scroll自动滚动插件复制出来的数据点击事件无效的解决办法

引言&#xff1a;做可视化地图项目&#xff0c;使用vue-seamless-scroll实现表格数据自动滚动&#xff0c;有个bug就是复制出来的数据点击事件失效。这个插件底层的实现是cope的形式&#xff0c; 无限滚动原理&#xff1a;无限滚动的原理就是把之前的遍历的内容复制一份&#x…

最短路的几种算法及其优化(模板)

一.Dijkstra 算法 dijkstra算法适用于边权为正的情况&#xff0c;求单源最短路&#xff0c;适用于有向图和无向图 模板伪代码&#xff1a; 清除所有点的标号 设d[0]0&#xff0c;其余d[i]INF&#xff1b; 循环n次{ 在所有未标记的节点中&#xff0c;寻找d[i]最小的点x 给x做标记…

极客青年说,北京沙龙

大家好&#xff0c;我是孙叫兽&#xff0c;本期内容给大家分享infoq写作平台在北京站的沙龙主题。主要流程如下&#xff1a;早上起来&#xff0c;吃了点饭&#xff0c;然后就去北京望京悠乐汇的A1202,这次是个轰趴馆&#xff0c;比较适合年轻的程序员放松。去的稍微早了点&…

html css 知识回顾2

在学习代码期间&#xff0c;练习代码是必不可少的内容&#xff0c;同样的对知识点的回顾也是更加重要的&#xff0c;在练代码的同时回顾知识点效果会更好。&#xff08;知识会有重复的&#xff0c;我遵循的是不论是什么时候的知识都会从头来一遍&#xff0c;对于新掌握的我会再…

vue点击弹窗自动触发点击事件的解决办法

业务场景&#xff1a;使用vue element ui 的el-dialog&#xff0c;点击弹窗之后&#xff0c;默认加载第一个按钮的数据进行初始化。 div 指令&#xff1a; // 自动触发点击事件directives:{trigger:{inserted(el,binging){// console.log("自动触发事件")el.click()}…

谈谈yii2-gii如何自定义模板

作者&#xff1a;白狼 出处&#xff1a;http://www.manks.top/article/yii2_gii_custom_template本文版权归作者&#xff0c;欢迎转载&#xff0c;但未经作者同意必须保留此段声明&#xff0c;且在文章页面明显位置给出原文连接&#xff0c;否则保留追究法律责任的权利。 yii2中…

vue自定义指令directives实现自动点击事件及自动点击第一个按钮

业务场景:点击弹窗默认加载第一个按钮的数据。vue自定义指令directives实现这个需求 目录 自动点击所有的按钮。 自动点击第一个按钮, 自动点击所有的按钮。 <ul class="areaList"><li:class="{active: index

人员雇佣 网络流_雇用Java EE开发人员的一些面试问题

人员雇佣 网络流互联网上充斥着Java开发人员的面试问题。 这些问题的主要问题是&#xff0c;它们仅证明候选人具有良好的记忆力&#xff0c;并记住所有语法&#xff0c;结构&#xff0c;常量等。对他/她的逻辑推理没有真正的评估。 我在下面列举一些面试问题的例子&#xff0c;…

vue根据表格字段不同的状态显示不同的颜色。

业务需求:根据后台返回的数据,对表格中的严重等级和问题状态做一下颜色区分。数据很大,大概一年左右的数据,在二级弹窗中,数据滚动的形式。 大家好,我是孙叫兽 不加状态前: 我这个使用vue+div循环的实现,很便捷,使用element ui也是可以的。 然后再computed:{}中添加…

[IT业界] 网盘纷纷停止服务,下一个是谁?

今天新浪微盘发公告称即日起调整服务功能&#xff0c;停止普通用户的存储服务&#xff0c;也就是将关闭新浪微盘的搜索、分享功能。2016年以来&#xff0c;已经有115网盘、UC网盘等多家网络数据在线存储产品宣布关闭文件存储、分享功能&#xff0c;这对这些产品本身而言是致命的…