网页动画的6个原则,让用户相信自己沉浸在现实世界中

挤压和拉伸:当一个球在弹跳时,碰击到地面会变扁,恢复的时间会越来越短;预备动作;演出布局;连续运动和姿态对应;跟随和重叠动作;缓入缓出

网页动画的6个原则,让用户相信自己沉浸在现实世界中

作为前端的设计师和工程师,我们用 CSS 去做样式、定位并创建出好看的网站。我们经常用 CSS 去添加页面的运动过渡效果甚至动画,但我们经常做的东西不会超过这些。

动效是一个有助于访客和消费者理解我们设计的强有力工具。这里有些原则能最大限度地应用在我们的工作中。

迪士尼经过基础工作练习的长时间累积,在 1981 年出版的 the Illusion of Life: Disney Animation 一书中发表了动画的十二个原则 (12 Principles of Animation) 。这些原则描述了动画能怎样用于让观众相信自己沉浸在现实世界中。

在本文中,我会逐个介绍这十二个原则,并讨论它们怎样运用在网页中。你能在 Codepen 找到它们全部的开源 HTML 和 CSS 代码 。

挤压和拉伸 (Squash and stretch)

这是物体存在质量且运动时质量保持不变的概念。当一个球在弹跳时,碰击到地面会变扁,恢复的时间会越来越短。

创建对象的时候最有用的方法是参照实物,比如人、时钟和弹性球。

当它和网页元件一起工作时可能会忽略这个原则。dom 对象不一定和实物相关,它会按需要在屏幕上缩放。例如,一个按钮会变大并变成一个信息框,或者错误信息会出现和消失。

尽管如此,挤压和伸缩效果可以为一个对象增加实物的感觉。甚至一些形状上的小变化就可以创造出细微但抢眼的效果。

预备动作 (Anticipation)

运动不倾向于突然发生。在现实生活中,无论是一个球在掉到桌子前就开始滚动,或是一个人屈膝准备起跳,运动通常有着某种事先的累积。

我们能用它去让我们的过渡动画显得更逼真。预备动作可以是一个细微的反弹,帮人们理解什么对象将在屏幕中发生变化并留下痕迹。

例如,悬停在一个元件上时可以在它变大前稍微缩小,在初始列表中添加额外的条目来介绍其它条目的移除方法。

演出布局 (Staging)

演出布局是确保对象在场景中得以聚焦,让场景中的其它对象和视觉在主动画发生的地方让位。这意味着要么把主动画放到突出的位置,要么模糊其它元件来让用户专注于看他们需要看的东西。

在网页方面,一种方法是用 model 覆盖在某些内容上。在现有页面添加一个遮罩并把那些主要关注的内容前置展示。

另一种方法是用动作。当很多对象在运动,你很难知道哪些值得关注。如果其它所有的动作停止,只留一个在运动,即使动得很微弱,这都可以让对象更容易被察觉。

还有一种方法是做一个晃动和闪烁的按钮来简单地建议用户比如他们可能要保存文档。屏幕保持静态,所以再细微的动作也会突显出来。

连续运动和姿态对应 (Straight-Ahead Action and Pose-to-Pose)

连续运动是绘制动画的每一帧,姿态对应是通常由一个 assistant 在定义一系列关键帧后填充间隔。

大多数网页动画用的是姿态对应:关键帧之间的过渡可以通过浏览器在每个关键帧之间的插入尽可能多的帧使动画流畅。

有一个例外是定时功能step。通过这个功能,浏览器 “steps” 可以把尽可能多的无序帧串清晰。你可以用这种方式绘制一系列图片并让浏览器按顺序显示出来,这开创了一种逐帧动画的风格。

跟随和重叠动作 (Follow Through and Overlapping Action)

事情并不总在同一时间发生。当一辆车从急刹到停下,车子会向前倾、有烟从轮胎冒出来、车里的司机继续向前冲。

这些细节是跟随和重叠动作的例子。它们在网页中能被用作帮助强调什么东西被停止,并不会被遗忘。例如一个条目可能在滑动时稍滑微远了些,但它自己会纠正到正确位置。

要创造一个重叠动作的感觉,我们可以让元件以稍微不同的速度移动到每处。这是一种在 iOS 系统的视窗 (View) 过渡中被运用得很好的方法。一些按钮和元件以不同速率运动,整体效果会比全部东西以相同速率运动要更逼真,并留出时间让访客去适当理解变化。

在网页方面,这可能意味着让过渡或动画的效果以不同速度来运行。

缓入缓出 (Slow In and Slow Out)

对象很少从静止状态一下子加速到最大速度,它们往往是逐步加速并在停止前变慢。没有加速和减速,动画感觉就像机器人。

在 CSS 方面,缓入缓出很容易被理解,在一个动画过程中计时功能是一种描述变化速率的方式。

使用计时功能,动画可以由慢加速 (ease-in)、由快减速 (ease-out),或者用贝塞尔曲线做出更复杂的效果。

 

本文来自投稿,不代表【】观点,发布者:【

本文地址: ,如若转载,请注明出处!

举报投诉邮箱:253000106@qq.com

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2024年5月4日 02:39:42
下一篇 2024年5月4日 02:41:44

相关推荐

  • 网页中的内容复制到excel表格中,网页复制数据到excel

    Excel表格中怎么将网页数据导入 1、①单击数据–导入外部数据–新建Web查询。图1②勾选我可以识别此内容,允许播放,单击继续按钮。图2③在地址栏输入网站地址,转到此网站里面。图3④跳转到指定网页,点击箭头按钮,然后导入数据到Excel。 2、首先我们打开一个Excel的新工作表。 点击“数据”选项卡下的“获取数据”,选择“自其他源…

    2024年5月20日
    4900
  • 关于excel转换htm网页格式的信息

    如何将word,excel,powerpoint等转换成html或pdf 1、方法1:使用在线工具或软件使用简单的在线转换工具。最简单便捷的方法是将你的Word文档复制粘贴到TextFixer转换器中,或者将文档上传到Online-Convert.com。 2、首先,用Word打开一个文件,然后点击工具栏中的图标,会出现图2这样的对话框,使用系统的默认值就单…

    2024年5月19日
    3300
  • linux通过命令访问网页,linux命令浏览网页

    如何使用linux命令打开网页 )、sudo命令:sudo命令用来以其他身份来执行命令,预设的身份为root,简单来说就是提升权限,因为apt-get install是要安装程序,这个需要管理员权限,因此借助于sudo命令提权。 在命令符界面浏览网页可以使用lynx,links, w3m等的使用方式都很类似,以w3m为例:安装w3m浏览器:sudo apt-…

    2024年5月18日
    3700
  • java打印当前网页内容,java打印html

    java传值到网页中并在网页上打印出来的问题。 1、后台到前台,程序经过tomcat,以及框架容器,以及web.xml。如果在不需要编码的情况下,要统一这些框架,容器,配置文件的编码。好好检查检查。 2、第一种几乎不用编写程序,最简单快捷,这里会遇到几个问题,只能打印表单内容,按钮不希望打印出来;页眉页脚不想打印出来;IE的titile不想打印出来。 3、代…

    2024年5月18日
    3000
  • c语言读取网页cookies,c语言打开网页

    如何用C语言打开网站? 调用connect连接对端主机,如果失败,判断当时的errno是否为EINPROGRESS,也就是说是不是连接正在进行中,如果是,转到步骤3,如果不是,返回错误。 URLDownloadToFile(NULL, http://10.1/txt, C:\\temp\\txt, 0, NULL);下面处理C:\temp\txt就可以了。这…

    2024年5月17日
    3100
  • c语言编写程序判断对称数,c语言中对称原则

    C语言编程:从键盘输入一个四位正整数,输出其逆序数,并判断是否是对称数… c语言编程:从键盘输入20个整数存入数组b中,要求逆序输出,简单代码如下:思路:首先输入20个数;然后逆序输出。 求C语言答案 1,输出一个3位整数的逆序数,比如输入123,输出321 2,计算球的体积和表面积 您好!这是我写的程式。希望对您有用。 分析:首先,输入的是一个…

    2024年5月17日
    5200
  • 网页游戏java代码,java编程游戏网站

    求用java语言制作猜物品价格的小游戏的程序代码 (2) 驱动程序未正确安装,此类故障一般表现在显卡驱动程序之止,倘若由此引发,则打开一些游戏程序时就会产生非法操作,有时打开一此网页也会出现这种程况。(3) 内存质量不好,降低内存速度也可能会解决这个问题。 //这是个聊天程序, 在ECLIPSE 运行 Client.java 就可以了。 程序返回提示信息,提…

    2024年5月17日
    3200
  • 百度黑客学习图片app,黑客网页图片

    黑客大哥进来 抱歉,我不是黑客,也不支持非法的网络活动。如果您有任何问题或需要帮助,请在合法的范围内寻求专业的帮助。感谢您的理解。 这个,是中毒了,建议重新格式化分区,重装系统。至于杀毒,你的这个,可以说是病入膏肓。即便修复,所花的时间也远远大于重装系统。 黑客在突破一台主机后,往往以此主机作为根据地,攻击其他主机(以隐蔽其入侵路径,避免留下蛛丝马迹)。他们…

    2024年5月16日
    4000
  • 包含vc执行网页里javascript的词条

    如何得到网页中Javascript执行后的html代码?比如用VC来做. 不管用什么语言做,你可以将javascript执行后的值给一个input type=hidden隐藏变量,然后用vc或者其他语言递交网页后获取。 浏览器打开网页,右键-》查看源代码 然后Ctrl+S保存下来 打开要保存的网页,直接Ctrl+S,选择“仅HTML”以上两种方法,选择其一即…

    2024年5月15日
    4200
  • java网页抓取框架,java实现网页爬取

    如何使用Java抓取网页上指定部分的内容 1、从网页上爬取图片的流程和爬取内容的流程基本相同,但是爬取图片的步骤会多一步。 2、File input = new File(/tmp/input.html);Document doc = Jsoup.parse(input, UTF-8, IP);看看这个代码,调用 doc.text() 方法即可。 3、我想你…

    2024年5月13日
    3500

发表回复

登录后才能评论



关注微信