视差效果的实际应用

视差特效的原理和实现方法 前言 本文的案例代码并非作者原创。 本文主要讲解 视差效果是如何实现的(原生三件套) ,本文并不涉及性能优化相关的知识点讲解(你就当我耍流氓吧)。 本文会从原理讲起,然后结合多个案例由浅入深去实现最终效果。 学废后帮我点个赞呗~ 本文的 『推荐』 部分也别错过喔~ 因为日常开发很少使用原生的方式去做视差效果。 🐱‍💻在线演示 🐱‍👓本文代码仓库 本文案例如图所示 原理 pc端的视差效果通常是 根据鼠标、键盘、滚动条的变化和操作 进行视觉上的差异化控制。 移动端可能还会有 重力陀螺仪 阅读详情

在实际开发中,应用一些微交互、视差效果,可以让页面更加生动。如下面的例子:

这个例子中运行了3D transform 的相关知识。具体细节如下分析。

1、切图

将psd稿上的这个区域切成如下图的3块图片,方便在页面上进行叠加、

2、布局

给三张图片设置不一样的translateZ(translateZ的值越小,元素大小越小,因为元素远去,我们眼睛看到的就会变小),这样三层图片就形成了远近的层次效果,否则都在一个平面上,就没有了视差效果,如下:

(缺少了层次效果,就没有了视差效果)

html布局代码:

   <div class="banner-row move-row" style="transform-style: preserve-3d;">

         <div class="layer right-image" style="transform: translateZ(50px);">

        <img src="images/index/br4_img1.png" />

       </div>

       <div class="layer right-image" style="transform: translateZ(100px);">

        <img src="images/index/br4_img2.png" />

       </div>

       <div class="layer right-image" style="transform: translateZ(150px);">

        <img src="images/index/br4_img3.png" />

       </div>

      </div>

    

3、JS

用JS实现跟鼠标的互动效果,图片向着鼠标移动的相反方向转动。可以想象一下,Z轴上从远到近,有三张背景透明的图(从屏幕正方看,三张图重叠,看上去就是一张图)然后,让他们在 X轴 或者 Y轴转动,就形成了视差效果。

主要js如下:

 var w = $(window).width(), h = $(window).height();

 function move(t) {

  var moveX = (t.pageX / w - .5) * (-25) || 10, moveY = -(t.pageY / h - .5) * (-20) || 10;

  var n = "rotateX(" + moveY + "deg) rotateY(" + moveX + "deg) ";

  return n;

 }

 $(".left-header").on("mousemove", function(e) {

  var n = move(e);

  $(".move-row").css("transform", n);

 });

 $(".move-row").on("mousemove", function(e) {

  var n = move(e);

  $(this).css("transform", n);

 });

 

参考:

https://codepen.io/agelber/pen/wAgzI

https://www.zhangxinxu.com/wordpress/2012/09/css3-3d-transform-perspective-animate-transition/comment-page-7/#comment-389111

UE4材质09_置换视差像素深度偏移 9.01_置换原理及应用案例 置换它本质上,也跟顶点偏移有些类似,它其实就是把顶点,基于这个高度图产生一个偏移,只不过,它还是有一些区别的,因为置换需要一个高面数,才能有比较好的效果,所以说,我们可以开启它的一个实时细分的功能 高度图也就是置换贴图,白色的地方代表的凸起,黑色的地方代表的凹陷,或者说它不会产生变化,它就是一个平等,然后它越白它越向上凸起 开启曲面细分 选择"PN_Trangles"模式 切换到线框模式,当我们距离比较远的时候,它这个面数会下降,而靠近可以看到线框会 阅读详情

相关推荐

【UnityShader】云海效果模拟与视差映射

之前在知乎上看到有大佬模拟了云海效果,正好之前项目里要用,就仔细研究一下,发现确实挺有意思的。主要原理就是视差映射ParallaxMapping,先主要介绍一下视差映射的原理。说起视差映射,首先就要说起大家都不陌生的法线贴图技术……

糕二不二的博客 3060

终极视差效果指南:Parallax.js多层深度控制与动画优化技巧

Parallax.js是一款轻量级的视差引擎,能够根据智能设备的方向或鼠标位置创建逼真的多层视差效果。本文将通过简单易懂的方式,带您掌握Parallax.js的核心功能与优化技巧,让您的网页设计瞬间提升视觉层次感与交互体验。 ## 什么是视差效果? 视差效果是一种通过多层元素以不同速度移动,创造出视觉深度感的技术。当用户移动设备或鼠标时,前景元素比背景元素移动更快,从而产生沉浸式的3D体验。

gitblog_00337的博客 506

视差滚动效果

视差滚动

Quiet-Night的博客 5065

视差原理——计算机如何构造人眼3D视觉

平时我们能够看到的二维图像,能够让自己具备三维立体效果的有:立体图片、3D电影、VR虚拟现实。也许你会说当你看到一种普通的照片时,仍然能够分辨物体之间的前后立体关系,但其实这只是利用光影效果、明暗对比来体现的,这跟我们身体所处或眼睛所看到的立体世界(上下、左右、前后)有着本质差别,因为普通图片始终是二维空间。 那如何利用二维空间来生成三维的立体效果呢,比如我们看3d电影时,图片只是在屏幕这个

张坤xfiction的专栏 1万+

Swift实现"视差效果"的视图轮播

来自Leo的原创博客,转载请著名出处我的StackOverflow我的Github https://github.com/LeoMobileDeveloper注意:本文的代码是用Swift 2.2写的。视差效果什么是视差效果?我们来看下格瓦拉的App,就知道了 格瓦拉的视差效果算是比较明显的。所谓视差效果,就是看起来在”上面”的视图滚动的速度大于”底层”的时图滚动。所以,给人的视觉体验要比”屌

Leo的专栏 4959

前端领域Sass在动画视差滚动变化效果中的技巧

本文旨在为前端开发者提供一套完整的Sass在视差滚动动画中的应用方法论。Sass核心功能在动画开发中的优势视差滚动效果的原理与实现Sass与CSS动画的协同工作方式性能优化和跨浏览器兼容性解决方案首先介绍Sass和视差滚动的基本概念然后深入探讨两者的结合方式接着通过实际案例展示具体实现最后讨论性能优化和未来发展趋势Sass:Syntactically Awesome Style Sheets的缩写,是一种CSS预处理器,扩展了CSS的功能,增加了变量、嵌套规则、混合宏等特性。

小白菜的博客 764

轻松实现视差功能,以小程序为例

视差效果现在很多应用中都会有用到。一般在商城类应用的商品详情页会用到,比如上面是图片,下面是文字。用户向上滑动时,图片能够慢点离开用户视线,从而达到较好的体验效果。 功能分析: 视差效果就是让多层背景以不同的速度去移动。 1. 至少需要两层背景。一个是缓慢移动区,另一个是正常移动区。 2. 将背景设置为相对布局。通过给缓慢区设置top值来缓冲scroll滚动。 3. 根据滑动事件监听,获取滚动距离值。 4. 通过计算,得到需要缓冲的top值。 5. 视觉差的形成条件,正常移动区域超过缓慢移动区域的时候要进行

专注前端技术,包括Web端、移动端、小程序、APP 1650

基于HTML5的炫酷3D图片视差滚动特效实战源码

keyframes是 CSS 中用于定义动画关键帧的核心规则块,它允许开发者指定某一时间段内元素样式的变化路径。其基本语法结构如下:0% {opacity: 0;上述代码定义了一个名为fly-bird的动画序列,描述了一只鸟从出现、上升并旋转、再回落消失的过程。其中0%表示动画起始状态,100%为结束状态,中间可插入任意百分比节点来细化运动曲线。逻辑逐行解读:第1行。

weixin_28931449的博客 1013

视差效果

http://www.htmleaf.com/jQuery/shijuecha/ https://www.iteye.com/topic/1141474 网易邮箱6.0http://www.17sucai.com/pins/demo-show?id=5876

czy279470138的博客 534

vue+Parallax.js | 视觉差特效

vue+Parallax.js | 视觉差特效,图片与鼠标相反移动。

AI智能体赋能Cypress:自动化前端测试的新范式

自动化测试是现代软件工程保障质量的核心实践,其原理是通过脚本模拟用户操作,对软件功能进行验证。随着大语言模型(LLM)和智能体(Agent)技术的发展,测试自动化正迈向智能化新阶段。智能体能够理解自然语言描述的测试需求,并自主规划、执行测试步骤,这为应对前端UI频繁变更、测试用例维护成本高等挑战提供了新思路。在工程实践中,将Cypress这一流行的前端测试框架封装为智能体可调用的标准化技能(Skill),是实现这一愿景的关键。通过设计清晰的交互协议和状态管理机制,智能体可以像人类测试工程师一样“感知”页面状

weixin_33726318的博客 687

视差映射:更逼真的纹理细节表现(上):为什么要使用视差映射

视差贴图技术是相对于传统的法线贴图技术所做的一项改进 视察贴图技术可以给场景里要渲染的游戏物体增加物体表面的凹凸细节,在过去为了表现物体的表面细节,通常会使用法线贴图,那么为什么又要使用视差贴图呢?它跟法线贴图有什么区别呢?下面来为大家讲解......

优梦创客的专栏 1315

ChatIE:基于ChatGPT的零样本信息抽取实战指南

信息抽取是自然语言处理中的核心任务,旨在从非结构化文本中自动识别并结构化关键信息,如实体、关系及事件。传统方法依赖大量标注数据训练专用模型,流程复杂且成本高昂。随着大语言模型的发展,通过提示工程引导模型理解任务,实现了无需训练数据的零样本抽取能力,极大降低了技术门槛与应用成本。这种范式将信息抽取重构为多轮对话问题,通过分阶段提问引导模型逐步输出结构化结果,在快速原型验证、领域适配及小规模数据探索中展现出显著技术价值。本文以ChatIE项目为例,深入解析如何利用ChatGPT API,通过精心设计的提示词与两

weixin_30540691的博客 404

iOS视差效果终极指南:MDCParallaxView项目全面解析

MDCParallaxView是一个轻量级的iOS自定义容器视图框架,能够帮助开发者轻松实现类似Path时间线顶部视图的视差滚动效果。本文将从项目基础、实现原理到实际应用,为你提供一套完整的iOS视差效果开发解决方案。 ## 什么是视差效果? 视差效果是一种通过让不同层次的元素以不同速度移动,从而创造出视觉深度感的设计技术。在移动应用中,这种效果通常应用于滚动视图,当用户滑动屏幕时,前景和背景

gitblog_00703的博客 834

【随机过程】Markov Chain的定义及发展历程与实际应用

本模块书写的初衷:由于在学习张波张景肖等学者所著的《应用随机过程》存在着不甚了解的知识点,经过个人查找资料并整理、分享,希望能够为有同样疑惑的读者贡献绵薄之力,同时如果个人编写内容有错误,恳请读者指正。本文为对《应用随机过程》第42页中Markov Chain基本概念的补充。1.Markov Chain的定义俄国数学家 Andrey Andreyevich Markov 研究并提出一个用数学方法就能解释自然变化的一般规律模型,被命名为马尔科夫链(Markov Chain)。

qq_49657150的博客 3749

智能车竞赛走马观碑组:如何高效识别目标板并优化绕行策略(附实战代码)

本文深入探讨了智能车竞赛走马观碑组中,如何构建从图像识别到路径决策的全栈优化方案。针对目标板识别与绕行策略的核心难点,文章详细解析了基于MobileNetV2的高效识别流水线、结合预瞄点与纯追踪算法的平滑路径规划,以及横向与纵向协同控制策略,并提供了实战代码与调试指南,旨在全面提升小车的比赛表现。

o5p6q的博客 884

Flutter 视差效果实战:Travel Cards 组件完整教程

想要为你的Flutter应用添加令人惊艳的3D视差效果吗?🚀 本教程将带你深入了解Flutter Vignettes项目中的Travel Cards组件,这是一个由gskinner与Google合作开发的炫酷UI效果。通过本指南,你将学会如何在列表中使用Stack组件和Transform变换,创建出具有深度感的旅行卡片视差效果。 ## 什么是视差效果?🤔 视差效果是一种通过不同速度移动背景

gitblog_00789的博客 356

SPECweb2009调优指南

 SPECweb2009 是衡量 Web 服务器性能和能效的标准化基准,可以对 Web 服务器的并发数进行性能测试,评测 Web 服务器能够支持的最大同时连接数的客户端/服务器(每秒能够响应的最大请求数)。为充分利用服务器性能,提升SPECweb2009测试结果,可通过增大系统进程数、优化服务器软件参数、绑核以及优化参数等。

developersupport的博客 2607

learnOpenGL 5.4 视差贴图

高度贴图 视差贴图要用到一副利用R通道储存片元高度的高度贴图,模拟在看到凹凸面的视差。 如图所示,如果这是一个3D的模型,我们沿黄线方向看到的应当是B点,如果是平面则会看到A点。按着这个逻辑,我们只要在贴图的A点显示B的内容,就可以假乱真,用平面贴图达到3D的效果。 所以,我们要做的工作,就是计算出B点,用它替换A点。 顺便一提,视差贴图一般与法线贴图一同使用,相辅相成。 视差计算 深度比高度更容易模拟,所以我们通常使用深度贴图取反来代替高度图。 寻找B点的过程如图所示,从T0点出发,将深度分成N份逐

qq_43533956的博客 296

【异常】Python环境中没有安装 `openpyxl` 模块提示ModuleNotFoundError: No module named ‘openpyxl‘

是一个用于读写Excel 2010 xlsx/xlsm/xltx/xltm文件的库。只是示例版本号,你可以根据需要选择不同的版本。安装完成后,再次尝试运行你的程序,应该就不会再出现。,这表明你的Python环境中缺少。运行一个Python程序时遇到了。如果由于某些原因你无法直接使用。,你可以指定版本号来安装,这里。要解决这个问题,你需要安装。

奶爸的编程之路,也就一周冷个三天 3399

Python库CloudScraper详细使用(绕过 Cloudflare 的反机器人页面的 Python 模块)

CloudScraper是一个专门用于绕过Cloudflare反机器人保护的Python库,它基于requests库构建,能够处理Cloudflare的5秒盾、WAF和人机验证等防护机制。

数据知道的博客 1万+

鸿蒙OS&UniApp 实现的滚动视差效果与动画展示#三方框架 #Uniapp

滚动视差是一种视觉效果,指的是前景和背景以不同的速度滚动,营造出空间深度感。常见于首页 Banner、头图等场景。滚动视差与动画展示是提升移动端界面体验的利器。通过 UniApp 的跨平台能力,我们可以轻松实现这些效果,并针对鸿蒙平台做出优化。希望本文的讲解和代码示例能为你的项目带来启发。如果你有更好的实现思路或遇到适配问题,欢迎留言交流!

小淼淼的博客 578

基于FPGA的车道线检测系统设计

本文设计了一种基于FPGA的车道线检测系统,采用Altera Cyclone IV EP4CE10F17C8作为主控芯片,结合OV7725摄像头和LCD显示屏实现实时车道线检测。系统通过硬件流水线处理架构,依次完成图像采集、灰度转换、中值滤波、Sobel边缘检测和Hough变换直线识别等功能模块。所有模块均采用Verilog HDL实现,充分利用FPGA的并行处理能力,显著提升了系统响应速度。测试结果表明,该系统能够有效检测道路车道线,满足实时性要求,为ADAS系统提供了一种高效的硬件解决方案。

huanghm88的专栏 123

Vue Parallax 终极指南:5步打造电影级滚动视差体验

想要为你的Vue.js网站添加令人惊艳的滚动视差效果吗?🌌 Vue Parallax组件正是你需要的解决方案!这个专为Vue 2设计的轻量级组件,能够以流畅的60fps性能创建电影级的视差滚动体验。无论你是前端新手还是资深开发者,都能轻松上手。 ## 什么是视差滚动效果? 视差滚动是一种网页设计技术,通过让背景和前景以不同速度滚动,创造出深度感和沉浸式体验。想象一下,当你滚动页面时,远处的山

gitblog_00302的博客 479

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

利用background-attachment做视差滚动效果

视差滚动(Parallax Scrolling)是指让多层背景以不同的速度移动,形成立体的运动效果,带来非常出色的视觉体验。作为今年网页设计的热点趋势,越来越多的网站应用了这项技术。 不明白的可以先看看eBay上的效果:http://www.ebay.com/new/ 其实就是固定背景不让它随着滚动轴移动,但包含背景的容器是跟着滚动的,所造成的视觉差异看起来就像跟转换场景一样。(这个解释别嫌混...

weixin_33936401的博客 204

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

视差滚动效果实现

在官网中适当的使用视差效果,可以增加视觉吸引力,提高用户的参与度,从而提升网站和品牌的形象。本文通过JavaScript、CSS多种方式并在React框架下进行了视差效果的实现,供你参考指正。

多歧为贵,皆有可能 2259

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

上一篇: Javascript组件化开发设计思想
下一篇: table布局的一些总结
小菜101
博客等级 码龄10年 16粉丝 92原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值