【CSS3】transition与animation的区别

2023-10-26

animation :可以用 name 设置动画的名称,用 duration 设置动画完成的周期,用 timing-function 设置动画的速度曲线,delay 设置动画什么时候开始,iteration-count 设置动画播放的次数,direction 规定下一个周期是否逆向的播放,play-state 动画是否正在进行或者暂停,fill-mode 设置动画停了之后位置什么状态

transition: 用 property 去设置过渡效果的属性名称,duration 设置过渡效果的周期,timing-function 规定速度效果的速度曲线,delay 设定过渡效果什么时候开始;

  

  区别:    

1、transition 是过渡,是样式值的变化的过程,只有开始和结束;animation 其实也叫关键帧,通过和 keyframe 结合可以设置中间帧的一个状态;

2、animation 配合 @keyframe 可以不触发时间就触发这个过程,而 transition 需要通过 hover 或者 js 事件来配合触发;

3、animation 可以设置很多的属性,比如循环次数,动画结束的状态等等,transition 只能触发一次;

4、animation 可以结合 keyframe 设置每一帧,但是 transition 只有两帧;

5、在性能方面:浏览器有一个主线程和排版线程;主线程一般是对 js 运行的、页面布局、生成位图等等,然后把生成好的位图传递给排版线程,而排版线程会通过 GPU 将位图绘制到页面上,也会向主线程请求位图等等;我们在用使用 aniamtion 的时候这样就可以改变很多属性,像我们改变了 width、height、postion 等等这些改变文档流的属性的时候就会引起,页面的回流和重绘,对性能影响就比较大,但是我们用 transition 的时候一般会结合 tansfrom 来进行旋转和缩放等不会生成新的位图,当然也就不会引起页面的重排了;

 例子:

transition:

    .demo{
        overflow: hidden;
        width: 100px;
        height: 100px;
        position: relative;
    }
    .aaa{ 
        width: 100%; 
        height: 50px;
        position: absolute; 
        bottom: -50px; 
        opacity: 0;
        -webkit-transition: all 0.85s ease; 
        -moz-transition: all 0.85s ease; 
        -o-transition: all 0.85s ease; 
        -ms-transition: all 0.85s ease; 
        transition: all 0.85s ease; 
    }
    .demo:hover .aaa{
        opacity: 1;
        bottom: 0;
    }

animation:

    .animation:before, 
    .animation:after{
        content:'';
        width: 50%;
        height: 100%; 
        animation: mymove 3s ease-in-out alternate infinite; 
        -moz-animation: mymove 3s ease-in-out alternate infinite; 
        -webkit-animation: mymove 3s ease-in-out alternate infinite; 
        -o-animation: mymove 3s ease-in-out alternate infinite;
    } 
    @keyframes mymove {
        from { 
            width: 50%; 
        }
        to { 
            width: 0%; 
        }
    }

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【CSS3】transition与animation的区别 的相关文章

  • iPhone 就像在 Silverlight ListBox 上滚动一样

    我需要一个具有类似 iPhone 功能的 Silverlight 列表框 也就是动画滚动 点击拖动滚动 在鼠标释放事件之后 滚动将根据拖动的 速度 继续进行一段时间 我搜索过 没有找到提供此功能的控件供应商 那么问题是我应该如何构建它 我需
  • 自定义 android AccelerateDecelerateInterpolator

    我正在尝试使用 AccelerateDecelerateInterpolator 并自定义它 我可以看到像 DecelerateInterpolator 这样的插值器有一个 因子 字段 因此您可以更改其行为 但 AccelerateDece
  • 如何在 Xamarin.Forms 中设置不透明度动画

    我想知道如何对屏幕上可见元素的不透明度进行动画处理 例如 对于 Entry 我得到了这个 this Animate d gt Debug WriteLine anim d Username Opacity AnimationTime d A
  • 从 Java / C# 角度理解 C++ 编译器

    我是一名经验丰富的 Java C 程序员 最近开始学习 C 问题是 我无法理解如何构建各种头文件和代码文件 这似乎主要是由于我对编译器如何将所有内容链接在一起缺乏了解 我尝试阅读一些教科书 但我的先入之见受到我的 Java 和 C 知识的影
  • 为 AlertDialog 的进入和退出设置动画

    我必须滑入AlertDialog当它进入时 当它消失时 将其滑出 但它不是动画 那么如何让动画发挥作用呢 这是我所拥有的 public class SlideDialogFragment extends DialogFragment Ove
  • 有没有办法为 GridPane 中的元素添加动画效果

    我正在尝试为元素添加动画GridPane 我有课Unit这代表了我想要移动的东西 public class Unit private Text text private Rectangle rectangle private StackPa
  • Jquery 代码可以在 Chrome 中运行,但不能在 Firefox 中运行

    我有这段代码 当单击它时会显示几个 div 然后单击另一个链接后它们就会隐藏 我正在尝试让它在 Firefox 中显示 这在 js 中可能不是问题 但非常感谢所有帮助
  • jQuery 动画分几步?

    我正在编写自己的动画函数是为了好玩 但我无法真正获得流畅的动画 jQuery 每个动画的步骤比例非常好 使其非常流畅 我想知道他们用来计算要采取多少步骤的通用公式是什么 这取决于动画的持续时间 jQuery 使用其默认设置存储在jQuery
  • 如何在两个图像之间淡出和淡出?

    好的 这里有一点帮助 所以我的启动屏幕中加载了两个图像 第一个图像打开 启动启动画面 然后第二个图像打开 一旦第二个图像关闭 主活动就会开始 现在我的问题是如何使我的第一张图像淡出 然后淡入第二张图像 哦 是的 而且没有交叉淡入淡出 只是完
  • RealityKit:更改 ModelEntity 的比例而不改变其位置

    我有一个从 A 点移动到 B 点的 ModelEntity 动画 需要一段时间才能完成 当用户点击 ModelEntity 时 我也想向 ModelEntity 添加收缩动画 我尝试将缩放动画直接添加到 ModelEntity 视图 mov
  • 在不滚动的情况下对 UITableViewCell 的高度变化进行动画处理

    我知道如何使用此处所示的方法对 UITableViewCell 的高度变化进行动画处理 当 UITableViewCell 被选中时 你能用动画来改变高度吗 https stackoverflow com questions 460014
  • 即使设置为 false,clipChildren 也不起作用?

    在我的应用程序中 我尝试使用动画移动图像 当我尝试制作动画时 即使我使用了图像 图像也会被剪切clipChildren每个 xml 块中均为 false
  • Silverlight - 动画贝塞尔曲线画线?

    我正在构建一个小型 Silverlight 应用程序 在我的应用程序中 我需要绘制线条 类似于附图中所示的内容 我知道绘制拱形连接线 绿色 的最佳方法是使用贝塞尔曲线 我的问题是 如何对线条的绘制进行动画处理 让它们从起始 X Y 坐标开始
  • .NET WPF 窗口淡入和淡出动画

    下面是窗口淡入和淡出动画的代码片段 Create the fade in storyboard fadeInStoryboard new Storyboard fadeInStoryboard Completed new EventHand
  • 如何同时执行多个 jquery 效果?

    我正在页面上制作一些错误 验证元素的动画 我希望它们能够弹跳并突出显示 但如果可能的话 同时进行 这是我目前正在做的事情 var els errorMsg els effect bounce times 5 100 els effect h
  • 更改同一页面上的页面过渡

    我有一个带有两个内部页面 data role page 的html 其中一页显示日期以及与该日期相关的数据 当我向左或向右滑动时 日期应该会改变 我这里需要的是让页面过渡显示 看来我不能使用 mobile changePage 对于同一页面
  • 从 Android 中的过渡动画中排除 BottomNavigation

    我一直在四处寻找 但找不到有助于解决这个特定问题的答案 我的应用程序有一个自定义滑入 滑出效果 如下所示 Intent intent new Intent getApplicationContext MyActivity class sta
  • 如何重新启动/重置 Jquery 动画

    如何在 jquery 中重置动画 例如 CSS block position absolute top 0 left 0 JS block animate left 50 top 50 如果我做 block stop 动画将停止 但我怎样才
  • 如何消除批处理文件动画中的闪烁? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 因此 我一直在批量制作一个假 GUI 以作为我正在做的 YouTube 评论的结尾 它基本上是一堆方框
  • 如何使用 jQuery 在第二次单击时反转 CSS 动画

    我制作了以下菜单图标 CSS 动画 当我点击它时会触发它 当我使用 jQuery 第二次单击它时 我想使其反向动画 path1 stroke dasharray 33px stroke dashoffset 33px animation l

随机推荐

  • 编译Android 2.3源码错误总结

    虽然版本2 3很老了 但是这是在完全新的Ubuntu上面编译的 可以使我们更加熟练 1 host C acp lt build tools acp acp c
  • BP神经网络在数据预测上的应用

    用BP神经网络做数据预测有两种形式 1 根据自身已有的数据预测未来的数据 比如 根据2000 2012年已知GDP的值预测2013年GDP的值 求解 用2000 2001 2002的值作为输入 2003作为输出 然后以此类推 2001 20
  • DEDE后台添加新变量出现:Request var not allow!的解决办法

    论坛上很多人都反馈说在后台添加新变量的时候会出现 Request var not allow 的BUG错误 本文主要就是介绍如何去解决这个问题 下面看具体操纵 在DEDE根目录打开 include common inc php 文件 查找到
  • pycharm 2019.2 安装包失败

    简介 最近使用学生账号注册了pycharm 貌似全家桶都可以免费用了 就升级了pycharm到最新版 但是在使用包管理 安装包的时候出错了 提示没有匹配的版本 下面还提示一个 trusted host pypi douban com 右下角
  • es搜索 核心指标_ElasticSearch核心知识总结(一)es的六种搜索方式和数据分析

    es的六种搜索方式 query string search GET ecommerce product search 查询所有数据 took 4 耗费几毫秒 timed out false 是否超时 shards 数据拆分成5个分片 对所有
  • Qt编写软件注册功能

    一 软件目的 应项目需求 需要为编写的软件添加一层保护 防止滥用 二 软件环境 Qt5 9 Windows 主要加密算法 MD5 MD5简单介绍 MD5是一种不可逆的加密算法 类似计算hash值 不同的数据字符无论长短 经过MD5计算后都会
  • Pip快速离线安装pytorch-gpu

    Pip快速离线安装pytorch gpu 1小节讲解涉及的基本概念 读者也可直接从2小节开始 1 安装pythorch涉及的基本组件概念 1 1 显卡驱动Driver 常识概念 此处略过 1 2 CUDA CUDA Compute Unif
  • 二维邮局选址问题-带权中位数

    算法设计练习作业 邮局选址问题 将自己写的分享 有问题请指正 希望共同学习 关于邮局选址问题的理论知识就不赘述了 网上有讲解的 include
  • Python 入门基础

    第一个Python程序之打印 Hello World print Hello World 字符串定义的三种方式 type 用了检测数据类型 单引号定义法 使用单引号进行包围 name 测试 print type name 双引号定义法 na
  • Mysql审核查询平台Archery部署

    目录 1 Archery产品介绍 2 基于docker搭建Archery 2 1 系统环境 2 2 安装 Docker 2 2 1 安装 Docker Compose 2 2 2 下载Archery 2 2 3 安装并启动 2 2 4 表结
  • jdk8

    文章目录 1 场景再现 2 Supplier
  • 【计蒜客】2n皇后问题

    思路 此题与n皇后问题十分类似 也是利用递归回溯求解 这题放2n个皇后 我采取的做法是 先放n个黑皇后 再放n个白皇后 具体实现见代码 一些细节方面我都标注出来了 并且做了详细解释 代码 include
  • [Python] Python中的模块、包和内置函数

    1 模块 python 模块简单来说就是一个 py文件 程序的目的是运行 而模块的目的是供其他程序导入并且使用 模块也有对象 每个模块对象都有一个特殊属性 dict 这是一个包含模块符号表的字典 导入模块 import importable
  • springboot 配置双mysql数据库

    项目中用到 学习了一下 记录下来 先回用 再搞懂原理 架构 springboot mybatis mysql连接池 springboot默认的HikariCP 配置点 1 就目录里的DataSourceConfigBackup和DataSo
  • seaborn可视化01,涵盖几乎所有用法

    seaborn可视化 一 Matplotlib试着让简单的事情更加简单 困难的事情变得可能 而Seaborn就是让困难的东西更加简单 seaborn是针对统计绘图的 一般来说 seaborn能满足数据分析90 的绘图需求 Seaborn其实
  • 应用程序图标丢失快捷方式没有图标怎么办

    应用程序图标丢失快捷方式没有图标怎么办 有的时候由于各种不小心 把应用程序的快捷方式删除或者是拉到了另一个盘符等各种原因 在将其恢复发现没有应用程序的图标了 找到应用程序的安装目录 添加其快捷方式仍然没有图标 发现很难看 特别是有强迫症的人
  • 机器学习------结构因果机制(SCM)、因果关系、因果推断

    因果 1 什么是因果 为什么研究因果 1 1 什么是 1 2 为什么研究 1 3 机器学习中用到的因果推论 1 4 因果性和相关性的区别 Two main questions Two main frameworks 2 因果研究发展 2 1
  • 英飞凌 AURIX TC3XX 系列单片机的 CAN 外设介绍(一)

    1 前言 本文讲述的是英飞凌 AURIX TC3XX 系列多核单片机的 MCMCAN 外设介绍 MCMCAN 遵循 ISO 11898 1 和 ISO 11898 4 做数据收发 能提供 ISO 11898 4 中规定的时间触发通信的所有功
  • 最适合程序员转行的10大职业

    三十而立 源自 论语 为政 说的是人到了30岁就应该去面对生活中的一切困难 而对于软件开发领域的从业者来说 30岁 却是一道槛 30岁以后 适合程序员的工作到底是什么 专家和大家一起分解 No 1 程序员 适合程序员30岁以后的工作 排名第
  • 【CSS3】transition与animation的区别

    animation 可以用 name 设置动画的名称 用 duration 设置动画完成的周期 用 timing function 设置动画的速度曲线 delay 设置动画什么时候开始 iteration count 设置动画播放的次数 d