当前位置: 首页 > news >正文

【组件库】VanillaTilt.js使用教程和配置项说明

VanillaTilt.js

官网:Vanilla-tilt.js

效果:一个平滑的 3D 倾斜库

安装:

npm install vanilla-tilt

基本用法

使用方式有两种:

data-tilt:为元素添加属性 data-tilt 来指定该元素为目标元素并为其应用默认的倾斜配置

    <!-- 需要添加 3D 倾斜特效的元素 --><div id="card" data-tilt data-tilt-max="25"></div>

VanillaTilt.init()

vanillaTilt.init(获取元素,{产生效果;
})

PS:当使用 data-tilt-{option}VanillaTilt.init() 同时对配置选项进行设置时,将优先使用 data-tilt-{option} 提供的配置,VanillaTilt.init() 的所有配置都将失效。

配置项

配置项类型/默认值中文说明
reverseboolean / false是否反转倾斜方向(鼠标向左 → 元素向右倾斜)。
maxnumber / 35最大倾斜角度(单位:度)。数值越大,倾斜越明显。
startXnumber / 0元素在 X 轴上的初始倾斜角度(单位:度)。
startYnumber / 0元素在 Y 轴上的初始倾斜角度(单位:度)。
perspectivenumber / 1000透视深度(CSS perspective 值)。值越小,透视效果越夸张。
scalenumber / 1缩放倍数。例如 1.2 = 120% 。
speednumber / 300鼠标进入/离开时的过渡动画时长(单位:毫秒)。
transitionboolean / true是否启用进入/离开过渡动画。
axisstring? / null限制倾斜轴:"x" 仅 X 轴、"y" 仅 Y 轴、null 双向均可。
resetboolean / true鼠标离开时是否重置倾斜状态。
reset-to-startboolean / true重置时回到初始角度 [startX, startY];如为 false 则回到 [0, 0]
easingstring / "cubic-bezier(.03,.98,.52,.99)"进入/离开过渡动画的缓动函数(CSS easing)。
glareboolean / false是否启用眩光(glare)高光效果。
max-glarenumber / 1眩光最大不透明度(范围 0–1,1 = 100%)。
glare-prerenderboolean / false是否使用预渲染眩光元素;false 时由库自动创建,需手动添加 .js-tilt-glare > .js-tilt-glare-inner 结构。
mouse-event-element`string?HTMLElement?/null`指定监听鼠标事件的元素(CSS 选择器或 DOM 节点)。默认监听当前倾斜元素自身。
gyroscopeboolean / true是否启用设备陀螺仪(移动设备重力感应)控制。
gyroscopeMinAngleXnumber / -45设备绕 X 轴旋转角度的下限(对应元素左边界)。
gyroscopeMaxAngleXnumber / 45设备绕 X 轴旋转角度的上限(对应元素右边界)。
gyroscopeMinAngleYnumber / -45设备绕 Y 轴旋转角度的下限(对应元素上边界)。
gyroscopeMaxAngleYnumber / 45设备绕 Y 轴旋转角度的上限(对应元素下边界)。

效果

视差效果

给容器元素添加上3D属性:

.card{...其他样式;transform-style:preserve-3d;
}

给动态元素添加上Z轴方向的变化:

.picture{...其他样式;transform:translateZ();
}

炫光效果

开启data-tilt-max-glare属性就可以产生炫光效果

<div data-tilt data-tilt-glare data-tilt-max-glare="0.8"></div>

反向倾斜

<div data-tilt data-tilt-reverse="true"></div>

保持浮动

设置此选项不会在用户鼠标离开元素时重置倾斜元素。

<div data-tilt data-tilt-reset="false"></div>

整页聆听

设置此选项将使元素响应页面上的任何鼠标移动。

<div data-tilt data-tilt-full-page-listening></div>

悬停时缩放

设置此选项将在悬停时缩放倾斜元素。

<div data-tilt data-tilt-scale="1.1"></div>

开始位置

设置此选项将在页面加载时将元素倾斜特定角度。

<div data-tilt data-tilt-startX="20" data-tilt-startY="-20" data-tilt-reset-to-start="true"></div>

“reset-to-start” - 鼠标离开时,将位置重置为 [startX, startY]

销毁方法

调用此方法将从 tilt 元素中删除所有事件和类。

let destroyBox = document.querySelector("#destroy-box");
VanillaTilt.init(destroyBox);document.querySelector("#destroy-button").addEventListener("click", function () {destroyBox.vanillaTilt.destroy();
});document.querySelector("#enable-button").addEventListener("click", function () {VanillaTilt.init(destroyBox);
});

禁用轴

设置此选项将禁用倾斜元素上的 X 轴。

<div data-tilt data-tilt-axis="y"></div>

设置此选项将禁用倾斜元素上的 Y 轴。

<div data-tilt data-tilt-axis="x"></div>
http://www.lryc.cn/news/591180.html

相关文章:

  • C++ AVL树实现详解:平衡二叉搜索树的原理与代码实现
  • 【Python练习】046. 编写一个函数,检查一个数组是否是排序的
  • 算法学习笔记:27.堆排序(生日限定版)——从原理到实战,涵盖 LeetCode 与考研 408 例题
  • 【agent实战】基于 LangGraph 实现 Agentic RAG:原理、实战与创新全解
  • Java集合处理库——collection-complete
  • React Native 基础tabBar和自定义tabBar - bottom-tabs
  • React hooks——useMemo
  • Android离线TTS实战——集成espeak-ng实现开箱即用的中文语音播报
  • Flutter:上传图片,选择相机或相册:wechat_assets_picker
  • 玖[9],相机/镜头/光源
  • 2021-07-21 VB窗体求范围质数(Excel复制工作簿)
  • Java使用FastExcel实现模板写入导出(多级表头)
  • 在Anaconda Prompt中安装库【保姆教程】
  • 使用flock单进程启动,仍然有多个同名进程可以同时运行
  • 苹果的机器学习框架将支持英伟达的CUDA平台
  • web后端开发(javaweb第十天)
  • 【后端】Linux系统发布.NetCore项目
  • suricata新增Mysql告警规则处理
  • Zemax坐标断点
  • GitHub开源轻量级语音模型 Vui:重塑边缘智能语音交互的未来
  • 【git 如何查看本地分支与远程分支之间的差异】
  • Oracle11.2.0.4 RAC迁移升级Oracle19.3 RAC
  • 单片机(STM32-时钟系统)
  • AI 智能质检系统在汽车制造企业的应用​
  • select_shape_proto 用起来很省事
  • 错误 0x80370102排查
  • CCLink IE转ModbusTCP网关配置无纸记录器(中篇)
  • 大语言模型系列(1): 3分钟上手,在骁龙AI PC上部署DeepSeek!
  • uniapp云托管前端网页
  • CentOS在线安装docker教程