1、概念

  animation-timing-function是规定动画的速度曲线,一般使用的是cubic-bezier() 控制动画曲线的,属性值一般有ease/ease-in/ease-out等,而steps可以控制动画被分成多少个部分进行。

2、steps( n , [start | end ] )函数

  参数一 :将动画分为n等份,动画平均地运行

  参数二 :️ start 从动画的开头开始运行;保留下一帧状态(播完当前帧就保留下一帧的状态),直到这段动画时间结束。

       ️ end(默认):从动画的结尾开始运行;保留当前帧状态,直到这段动画时间结束。

  简写: step-start:steps(1,start);

        step-end:steps(1); / steps(1,end);

  Demo:https://codepen.io/zxnoral/pen/BaKRKva

属性n

  如果n值是5,则相当于把这段距离分成了5段,如图:

  

属性start&end

  steps(5,start) :

      

   steps(5,end) :

            

3、属性作用

  作用:利用该属性函数,结合雪碧图可制作出类似GIF的动画效果。

  原理:雪碧图包含了动画图片的每一帧,然后利用steps函数确定固定时间内,动画运行的部分等于动画的帧数。

  Demo:https://codepen.io/zxnoral/pen/ZEWKVYq

4、关于动画的潜在问题

  眨眼和闪烁的动画对有认知问题的人来说是有风险的,比如注意力缺陷多动障碍,某些动画效果可以触发前庭神经紊乱、偏头痛和暗点敏感性等。

  所以,考虑提供了一种暂停或禁用动画的机制,以及使用 Reduced Motion Media Query(简约运动媒体查询),为那些表示不喜欢动画的用户创建一个良好的体验。

  ️  IE完全不兼容

️ Safari 10.1独有的新增属性访问性检测:Reduced Motion2:

    可以通过特性检测对一些配置较低或主动开启「减弱动态效果」的用户进行体验优化。降低 MacOS/iOS 系统的晕眩效果性能开销,从而达到系统更流畅的功效。

    如何开启减弱动态效果:MacOS「系统偏好设置」-「辅助功能」-「显示」,开启「减弱动态效果」

  ️ 检测关键词:prefers-reduced-motion

    使用 CSS Media Query 就可以针对开启「减弱动态效果」的用户进行页面性能优化;

    如果没有设置的话,一般显示 ”no-preference”。比如当React脚手架默认生成的样式:

    

Demo:https://codepen.io/ericwbailey/pen/PWJPrW

CSS3动画之animation-timing-function中的stepshan shu的更多相关文章

  1. CSS3动画以及animation事件

    1.CSS3动画以及animation事件的定义 animation :name duration timing-function delay iteration-count direction an ...

  2. CSS3动画属性animation的用法

    转载: 赞生博客 高端订制web开发工作组 » CSS3动画属性animation的用法 CSS3提供了一个令人心动的动画属性:animation,尽管利用animation做出来的动画没有flash ...

  3. CSS3 动画实现 animation 和 transition 比较

    在 CSS3 中有两种方式实现动画, 分别是 animation 和 transition, 他们都有以下功能 根据特定 CSS 属性进行动画 设定属性变化的 timing function 设定动画 ...

  4. 学习CSS3动画(animation)

    CSS3就是出了不少高大上的功能,3D效果.动画.多列等等.今天写篇文章记录怎么一下怎么用CSS3写一个动画. 丑话还得说前头,IE9以及以下版本不支持CSS3动画(如真要实现可以考虑用js,不过估计 ...

  5. 【HTML5&CSS3进阶04】CSS3动画应该如何在webapp中运用

    动画在webapp的现状 webapp模式的网站追求的就是一个体验,是HTML5&CSS3浪潮下的产物,抛开体验不说,webapp模式门槛比较高: 而体验优化的一个重点便是动画,可以说动画是w ...

  6. 【WEB前端系列之CSS】CSS3动画之Animation

    前言 动画使用示例https://github.com/AndyFlower/web-front/tree/master/css3/loading 学习CSS3中Animation之前先来看一个动画特 ...

  7. css3动画transition animation

    CSS动画简介  transition   animation transition过渡:css3通过transitions属性引入时间概念,通过开始.结束状态自动计算中间状态,实现状态改变的过渡效果 ...

  8. css3动画(animation)效果3-正方体合成

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  9. CSS3动画属性animation的基本用法

    CSS3新增了一个令人心动的属性:animation,尽管利用animation做出来的动画没有flash或者javascript做出的动画流畅绚丽,但是从代码量和浏览器性能上有着明显的优点. ani ...

  10. css3动画(animation)效果1-漂浮的白云

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

随机推荐

  1. PHP array_diff_assoc() 函数

    实例 比较两个数组的键名和键值,并返回差集: <?php$a1=array("a"=>"red","b"=>"g ...

  2. PHP array_rand() 函数

    实例 返回一个包含随机键名的数组: <?php $a=array("red","green","blue","yellow& ...

  3. Python time asctime()方法

    描述 Python time asctime() 函数接受时间元组并返回一个可读的形式为"Tue Dec 11 18:07:14 2008"(2008年12月11日 周二18时07 ...

  4. LOJ #10222. 「一本通 6.5 例 4」佳佳的 Fibonacci 题解

    题目传送门 如果之前推过斐波那契数列前缀和就更好做(所以题目中给出了). 斐波那契数列前缀和题目链接 先来推一下斐波那契数列前缀和: \[\sum\limits_{i=1}^nf(i) \] 其中 \ ...

  5. ArrayList源码解析,老哥,来一起复习一哈?

    前言 JDK源码解析系列文章,都是基于JDK8分析的,虽然JDK14已经出来,但是JDK8我还不会,我... 类图 实现了RandomAccess接口,可以随机访问 实现了Cloneable接口,可以 ...

  6. 【NOI2017】游戏 题解(2-SAT+缩点)

    题目链接 题目大意:有四种场地$a,b,c,x$和三种赛车$A,B,C$,$a$不能跑$A$,$b$不能跑$B$,$c$不能跑$C$,$x$都可以跑.给定$n$个场地和$m$个四元组$(i,h_i,j ...

  7. python7.4邮件发送

  8. .net+uniapp 前后端数据交互相关问题记录

    uniapp 提交form表单 @submit EventHandle 携带 form 中的数据触发 submit 事件,event.detail = {value : {'name': 'value ...

  9. Docker 快速搭建 MySQL8 开发环境

    使用 Docker 快速搭建一个 MySQL8 开发环境 步骤 获取镜像 docker pull mysql:8 启动容器,密码 123456,映射 3306 端口 docker run --name ...

  10. Vue3 为何使用 Proxy 实现数据监听

    博客地址:https://ainyi.com/93 vue3 响应式数据放弃了 Object.defineProperty,而使用Proxy来代替它 我们知道,在 vue2 中,实现数据监听是使用Ob ...