html5 视觉差滚动效果怎么实现

html5 视觉差滚动效果怎么实现,第1张

html5 视觉差滚动效果

原理就是一种利用控制各个图片层之间滚动的速度,来产生一种立体空间的效果,每个层都用一个png透明图片做为背景,然后滚动的时候控制一下每个不同的速度。

不过有两个方面需要注意:

1、以大量图片为特色的网站应该考虑图像的预加载问题,以便为用户提供更好更流畅的视觉体验;

2、某些网站页面在移动设备上的效果可能较之在PC上有所不同,一些功能也可能无法正常使用。

首先要理解FLASH不只是在网页上的应用,手机游戏、桌面软件等都可以使用FLASH开发。而html5只能开发网页上的东西,所以,两个不同范围的东西,怎么说能代替呢。

虽然现在网页上大都使用html5实现动态效果,但是远没有以前FLASH的有创意,都是视差效果,看得都没有感觉了。

在 OpenGL 或 WebGL 等低级别渲染中,通过逐帧地清理和绘制场景来执行渲染。实现渲染之后,需要优化游戏,以减少渲染的量,所需成本因情况而异。因为画布是一个 DOM 元素,它使您能够对多个画布进行分层,以此作为一种优化方法。本文将探讨对画布进行分层的合理性。了解 DOM 设置,从而实现分层的画布。使用分层进行优化需要各种实践。本文还将探讨一些优化策略的概念和技术,它们扩展了分层方法。选择优化策略选择最佳优化策略可能很难。在选择分层的场景时,需要考虑场景是如何组成的。大屏幕上固定物的渲染经常需要重用若干个组件,它们是进行研究的极佳候选人。视差或动画实体等效果往往需要大量的变化的屏幕空间。在探索您的最佳优化策略时,最好注意这些情况。虽然画布的分层优化需要采用几种不同的技术,但在正确应用这些技术后,往往会大幅提升性能。设置层在使用分层的方法时,第一步是在 DOM 上设置画布。通常情况下,这很简单,只需定义画布元素,将其放入 DOM 中即可,但画布层可能需要一些额外的样式。在使用 CSS 时,成功地实现画布分层有两个要求:各画布元素必须共存于视区 (viewport) 的同一位置上。每个画布在另一个画布下面必须是可见的。图1 显示了层设置背后的通用重叠概念。 设置层的步骤如下:将画布元素添加到 DOM。添加画布元素定位样式,以便支持分层。样式化画布元素,以便生成一个透明的背景。设置画布重叠堆栈在CSS 中创建一个重叠堆栈 (overlay stack) 可能需要少量的样式。使用 HTML 和 CSS 有许多方法进行重叠。本文中的示例使用一个 标签来包含画布。 标签指定了一个惟一 ID,它将样式应用于其子 HTML5 画布元素,如 清单 1 所示。清单1. 画布定位样式 #viewport { /** * Position relative so that canvas elements * inside of it will be relative to the parent */ position: relative} #viewport canvas { /** * Position absolute provides canvases to be able * to be layered on top of each other * Be sure to remember a z-index! */ position: absolute} 容器 通过将所有子画布元素样式化为使用绝对定位来完成重叠要求。通过选择让 #viewport 使用相对定位,您可以适应未来的发展,因此,应用于子样式的绝对布局样式将会是相对于 #viewport 容器的样式。这些HTML5 画布元素的顺序也很重要。可以按元素出现在 DOM 上的顺序进行顺序管理,也可以按照画布应该显示的顺序来样式化 z-index 样式,从而管理顺序。虽然并非总是如此,但其他样式可能也会影响渲染;在引入额外的样式(比如任何一种 CSS 转换)时要小心。透明的背景通过使用重叠可见性来实现层技术的第二个样式要求。该示例使用这个选项来设置 DOM 元素背景颜色,如 清单 2 所示。清单2. 设置透明背景的样式表规则 canvas { /** * Set transparent to let any other canvases render through */ background-color: transparent} 将画布样式化为拥有一个透明背景,这可以实现第二个要求,即拥有可见的重叠画布。现在,您已经构造了标记和样式来满足分层的需要,所以您可以设置一个分层的场景。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/6137662.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-16
下一篇 2023-03-16

发表评论

登录后才能评论

评论列表(0条)

保存