>我进入网络开发的旅程是在多年的运动图形作用之后起作用的。 尽管经历了这种经验,但Web动画最初感到艰巨。 视频图形定义了导出设置; Web动画必须动态适应各种设备。 让我们探索响应式动画技术。
在编码之前,请考虑动画的预期用途(如Zach Saucier在响应式动画上的出色文章中所建议)。
>是可重复使用的模块吗?它需要缩放吗? 了解这些因素可以指导您的方法并阻止浪费的努力。
>动画通常属于以下类别:
>>流体和有针对性的动画需要不同的策略。
>流体动画利用浏览器功能。 适当的单位是关键。 使用视口单元允许动画通过浏览器调整大小的浏览器进行流畅。
>避免动画布局属性(例如
>和),该属性可能导致倒流和生动画。 优先级left
>和top
属性。transform
opacity
超越视口单元,探索以下选项:
SVG单元:固有的响应
SVG的固有可伸缩性简化了响应动画。>viewBox
>容器单元:
桌面:
移动/平板电脑:
>动画复杂布局变化(例如,相对定位和固定定位之间的过渡)具有挑战性。 翻转技术优雅地解决了这一点:
gsap的翻转插件简化了此过程。 要更深入地了解香草JavaScript实施,请参阅Paul Lewis的博客文章。
> svg's preserveAspectRatio
属性微调缩放行为,提供meet
(contail)和slice
和一个包含元素来揭示更多较大屏幕尺寸的SVG动画。
overflow: visible
画布虽然高表现要复杂动画,但仍需要更多的手动管理来响应。 固定的长宽比和自定义单元系统可以模仿SVG的易用性。 请记住要在调整大小上汇总Redraw操作。 像乔治·弗朗西斯(George Francis)这样的图书馆可以简化此过程。
>目标动画:针对特定设备进行优化
>移动设备通常受益于简化或缺席的动画,以增强性能和用户体验。 媒体查询目标特定的视口大小:,
和媒体功能。gsap.matchMedia()
>
prefers-reduced-motion
超越屏幕尺寸:交互考虑orientation
max-resolution
不同的设备提供不同的交互方法。
杰克·怀特利(Jake Whiteley)的建议强调了在设计布局和动画时优先考虑输入设备(触摸与悬停)。
hover
scrolltrigger增强
@media (hover: hover) { /* CSS hover state */ }> gsap的scrolltrigger插件
属性标识触摸功能:
isTouch
1:仅触摸
以上是每个屏幕尺寸和设备的响应动画的详细内容。更多信息请关注PHP中文网其他相关文章!