CSS3动画之animation-timing-function中的stepshan shu
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的更多相关文章
- CSS3动画以及animation事件
1.CSS3动画以及animation事件的定义 animation :name duration timing-function delay iteration-count direction an ...
- CSS3动画属性animation的用法
转载: 赞生博客 高端订制web开发工作组 » CSS3动画属性animation的用法 CSS3提供了一个令人心动的动画属性:animation,尽管利用animation做出来的动画没有flash ...
- CSS3 动画实现 animation 和 transition 比较
在 CSS3 中有两种方式实现动画, 分别是 animation 和 transition, 他们都有以下功能 根据特定 CSS 属性进行动画 设定属性变化的 timing function 设定动画 ...
- 学习CSS3动画(animation)
CSS3就是出了不少高大上的功能,3D效果.动画.多列等等.今天写篇文章记录怎么一下怎么用CSS3写一个动画. 丑话还得说前头,IE9以及以下版本不支持CSS3动画(如真要实现可以考虑用js,不过估计 ...
- 【HTML5&CSS3进阶04】CSS3动画应该如何在webapp中运用
动画在webapp的现状 webapp模式的网站追求的就是一个体验,是HTML5&CSS3浪潮下的产物,抛开体验不说,webapp模式门槛比较高: 而体验优化的一个重点便是动画,可以说动画是w ...
- 【WEB前端系列之CSS】CSS3动画之Animation
前言 动画使用示例https://github.com/AndyFlower/web-front/tree/master/css3/loading 学习CSS3中Animation之前先来看一个动画特 ...
- css3动画transition animation
CSS动画简介 transition animation transition过渡:css3通过transitions属性引入时间概念,通过开始.结束状态自动计算中间状态,实现状态改变的过渡效果 ...
- css3动画(animation)效果3-正方体合成
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- CSS3动画属性animation的基本用法
CSS3新增了一个令人心动的属性:animation,尽管利用animation做出来的动画没有flash或者javascript做出的动画流畅绚丽,但是从代码量和浏览器性能上有着明显的优点. ani ...
- css3动画(animation)效果1-漂浮的白云
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
随机推荐
- PHP array_diff_assoc() 函数
实例 比较两个数组的键名和键值,并返回差集: <?php$a1=array("a"=>"red","b"=>"g ...
- PHP array_rand() 函数
实例 返回一个包含随机键名的数组: <?php $a=array("red","green","blue","yellow& ...
- Python time asctime()方法
描述 Python time asctime() 函数接受时间元组并返回一个可读的形式为"Tue Dec 11 18:07:14 2008"(2008年12月11日 周二18时07 ...
- LOJ #10222. 「一本通 6.5 例 4」佳佳的 Fibonacci 题解
题目传送门 如果之前推过斐波那契数列前缀和就更好做(所以题目中给出了). 斐波那契数列前缀和题目链接 先来推一下斐波那契数列前缀和: \[\sum\limits_{i=1}^nf(i) \] 其中 \ ...
- ArrayList源码解析,老哥,来一起复习一哈?
前言 JDK源码解析系列文章,都是基于JDK8分析的,虽然JDK14已经出来,但是JDK8我还不会,我... 类图 实现了RandomAccess接口,可以随机访问 实现了Cloneable接口,可以 ...
- 【NOI2017】游戏 题解(2-SAT+缩点)
题目链接 题目大意:有四种场地$a,b,c,x$和三种赛车$A,B,C$,$a$不能跑$A$,$b$不能跑$B$,$c$不能跑$C$,$x$都可以跑.给定$n$个场地和$m$个四元组$(i,h_i,j ...
- python7.4邮件发送
- .net+uniapp 前后端数据交互相关问题记录
uniapp 提交form表单 @submit EventHandle 携带 form 中的数据触发 submit 事件,event.detail = {value : {'name': 'value ...
- Docker 快速搭建 MySQL8 开发环境
使用 Docker 快速搭建一个 MySQL8 开发环境 步骤 获取镜像 docker pull mysql:8 启动容器,密码 123456,映射 3306 端口 docker run --name ...
- Vue3 为何使用 Proxy 实现数据监听
博客地址:https://ainyi.com/93 vue3 响应式数据放弃了 Object.defineProperty,而使用Proxy来代替它 我们知道,在 vue2 中,实现数据监听是使用Ob ...