React Tilt是一个很酷的工具,它为我们的网站元素添加了运动和动画效果。通过给元素添加浮动和倾斜效果,使页面看起来更有趣。React Tilt易于使用,为我们的应用程序带来一丝魔法的触感。
入门步骤
首先,使用Vite创建一个新的React应用,并添加Tailwind CSS。接下来,添加React Tilt:
代码语言:bash复制npm i react-tilt
React Tilt配置选项
以下是React Tilt包的配置选项:
- Reverse(反转): 确定倾斜方向是否反转。
- Max(最大值): 设置最大倾斜旋转角度。
- Perspective(透视): 调整变换透视,影响倾斜效果的强度。
- Scale(缩放): 指定元素的缩放,允许它们看起来更大或更小。
- Speed(速度): 控制进入/退出转场的速度,决定倾斜效果发生的速度。
- Transition(过渡): 启用或禁用进入/退出的平滑过渡。
- Axis(轴): 定义哪个轴(X或Y)应该在倾斜时禁用。
- Reset(重置): 确定是否在退出时重置倾斜效果或保持不变。
- Easing(缓动): 指定进入/退出转场的缓动函数,影响动画的平滑度。
Tilt选项
在card.jsx
文件中,为卡片组件定义一些选项,以便与React Tilt一起使用。在本教程中,我们将使用默认选项,但请随意查看自定义选项或根据需要创建新选项。
import { Tilt } from 'react-tilt';
const defaultOptions = {
reverse: false,
max: 35,
perspective: 1000,
scale: 1.1,
speed: 1000,
transition: true,
axis: null,
reset: true,
easing: "cubic-bezier(.03,.98,.52,.99)",
}
const customOptions = {
reverse: true,
max: 45,
perspective: 1500,
scale: 1.2,
speed: 2000,
transition: true,
axis: "X",
reset: false,
easing: "cubic-bezier(.2, .8, .3, 1)"
}
Card JSX
现在让我们看一下卡片组件本身。它将Tilt组件作为来自App组件的props的包装器,并接收image、title和description。
代码语言:jsx复制const Card = ({ image, title, description }) => {
return (
<Tilt options={defaultOptions}>
<div className="relative w-64 h-80 bg-white bg-opacity-20 backdrop-filter backdrop-blur-lg shadow-md rounded-xl overflow-hidden">
<img src={image} alt={title} className="w-full h-48 object-cover" />
<div className="absolute bottom-0 left-0 right-0 p-4 text-white">
<h2 className="text-xl font-bold mb-2">{title}</h2>
<p className="text-gray-200">{description}</p>
</div>
</div>
</Tilt>
);
}
export default Card;
App JSX
最后,让我们看一下App组件。
代码语言:jsx复制import bg from './assets/bg.png';
import Card from './components/card';
function App() {
return (
<div className="w-full h-screen flex justify-center items-center bg-gradient-to-r from-slate-950 to-slate-900">
<Card image={bg} title="hello world" description="some description" />
</div>
);
}
export default App;
通过以上步骤,我们可以在React应用中使用React Tilt为元素添加动感和动画效果,让我们的页面更有趣。 我正在参与2024腾讯技术创作特训营第五期有奖征文,快来和我瓜分大奖!