使用 Tailwind CSS 创建流星边框动画
在这篇博文中,我们将使用 tailwind css 创建一个迷人的“流星”边框动画。此效果为输入字段提供发光的动画边框,可以吸引用户的注意力 - 非常适合电子邮件注册或重要通知等号召性用语部分。
演示
在深入研究代码之前,您可以在此处查看效果的现场演示:在 tailwind playground 中查看。
概念
动画是使用 tailwind css 的实用程序类和伪元素实现的。我们将使用 tailwind 的 after 伪类来创建围绕输入字段旋转的圆锥渐变动画,给人一种流星追踪边界的错觉。
html 和 tailwind css 设置
下面是创建此效果所需的 html 结构和 tailwind css 类:
<div class="flex h-screen bg-black"> <div class="z-10 m-auto overflow-hidden p-0.5"> <div class="after:transparent relative h-14 w-[500px] rounded-md border border-white/50 bg-black after:absolute after:-inset-[1px] after:-z-10 after:h-full after:w-full after:animate-[spin_4s_infinite] after:bg-[conic-gradient(var(--tw-gradient-stops))] after:from-transparent after:from-40% after:via-50% after:to-blue-600 after:to-100%"> <input type="text" placeholder="join the waitlist, enter your email.." class="h-full w-full bg-transparent px-4 text-lg text-white placeholder:text-white/40 focus:outline-none"> </div> </div> </div>
分解代码
容器设置
<div class="flex h-screen bg-black"> <ul> <li>我们首先创建一个 flex 容器,以 h-screen(全高)和 bg-black(黑色背景)垂直和水平居中内容。</li> </ul> <h4> 输入字段的包装 </h4><div class="z-10 m-auto overflow-hidden p-0.5"> <ul> <li>输入字段被包裹在一个 div 中,该 div 具有 z-10 以确保其位于动画边框之上,m-auto 以将其在 flex 容器中居中,并溢出隐藏以将动画边框包含在其边界内。</li> </ul> <h4> 带有动画边框的输入字段 </h4><div class="after:transparent relative h-14 w-[500px] rounded-md border border-white/50 bg-black ..."> <ul> <li>主输入字段设置为固定宽度 500px,高度为 14 tailwind 单位。</li> <li>border-white/50 类添加半透明边框,而 rounded-md 则为其提供圆角。</li> <li> bg-black 将背景颜色设置为黑色,与容器混合。</li> </ul> <h4> 创建动画 </h4>after:absolute after:-inset-[1px] after:-z-10 after:h-full after:w-full after:animate-[spin_4s_infinite] after:bg-[conic-gradient(var(--tw-gradient-stops))] after:from-transparent after:from-40% after:via-50% after:to-blue-600 after:to-100%">
- after 伪元素用于创建围绕边框进行动画处理的圆锥渐变。
- after:-inset-[1px] 稍微将渐变扩展到输入边框之外,而 after:absolute 将其绝对定位以覆盖整个输入区域。
- after:animate-[spin_4s_infinite] 添加了一个自定义旋转动画,每 4 秒完成一次完整旋转。
- after:bg-[conic-gradient...] 创建渐变效果。我们使用 from-transparent 和 to-blue-600 类来定义色标,从而产生模仿流星的褪色效果。
输入字段样式
<input type="text" placeholder="Join the waitlist, enter your email.." class="h-full w-full bg-transparent px-4 text-lg text-white placeholder:text-white/40 focus:outline-none">
- 输入本身是透明的(背景透明)并占据其父级的整个高度和宽度。
- text-lg 类调整文本大小,而 text-white 和 placeholder:text-white/40 确保文本和占位符在深色背景下可见。
- 最后,focus:outline-none 删除默认的焦点轮廓以保持自定义样式。
结论
只需几行 tailwind css 和伪元素的强大功能,您就可以创建像流星边框动画这样引人注目的效果。这种效果不仅美观,而且易于实现并为您自己的项目进行定制。请随意调整颜色、时间和其他属性来满足您的设计需求!
编码愉快!
unsplash 上的封面照片由 juskteez vu 拍摄
以上就是使用 Tailwind CSS 创建流星边框动画的详细内容,更多请关注其它相关文章!