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 ...
随机推荐
- 错误记录:MIME type may not contain reserved characters
最近遇到个问题,随手记录一下! 新做了一个项目,要通过HTTP请求发送ZIP文件到OSS平台,但上传过程中,总是出现下面错误提示: 初步判定,应该是包冲突原因!于是,分析MIME-TYPE获取源码发现 ...
- Linux 下使用 killall 命令终止进程的 8 大用法
Linux 的命令行提供很多命令来杀死进程.比如,你可以向 kill 命传递一个PID来杀死进程:pkill 命令使用一个正则表达式作为输入,所以和该模式匹配的进程都被杀死. 但是还有一个命令叫 ki ...
- win10 安装tensorflow2.0 GPU版本遇到的坑
背景:我的机器上tensorflow 1.14 & 2.0,这俩版本都有,之前都是用1.14版本,今天试一下2.0尝尝鲜, 结果就掉坑去了 把CUDA10.1 和 cudnn 安装 ...
- Docker 基础知识 - 使用 tmpfs 挂载(tmpfs mounts)管理应用程序数据
卷(volumes) 和 绑定挂载(bind mounts) 允许您在主机和容器之间共享文件,这样即使在容器停止后也可以持久存储数据. 如果在 Linux 上运行 Docker,那么还有第三种选择:t ...
- python3.6项目:银行存取款系统
card1 ="1001"#卡号pwd1="1001"#密码ban1=10000#余额card2 ="1002"pwd2="100 ...
- Github获8300星!用Python开发的一个命令行的网易云音乐
最近在逛Github发现了一个非常有趣的库musicbox,是用纯Python打造的,收获了8300颗星.Python语言简单易学,好玩有趣,身边越来越多的小伙伴都开始学习Python.她的魅力非常大 ...
- 太鸡冻了!我用 Python 偷偷查到暗恋女生的名字
1 目 标 场 景 很多人学习python,不知道从何学起.很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手.很多已经做案例的人,却不知道如何去学习更加高深的知识.那么针对这三类人 ...
- 使用webgl(three.js)创建科技版3D机房,3D机房微模块详细介绍(升级版三)—— 1
上节课已经详细描述了微模块机房的实现过程,文章地址(https://www.cnblogs.com/yeyunfei/p/10484241.html) 紧接着上节课的内容 我们这节可来详细讲解科技版机 ...
- NMS系列
NMS soft NMS softer NMS https://www.cnblogs.com/VincentLee/p/12579756.html
- 算法学习笔记:最近公共祖先(LCA问题)
当我们处理树上点与点关系的问题时(例如,最简单的,树上两点的距离),常常需要获知树上两点的最近公共祖先(Lowest Common Ancestor,LCA).如下图所示: 2号点是7号点和9号点的最 ...