插件窝 干货文章 使用 Tailwind CSS 创建流星边框动画

使用 Tailwind CSS 创建流星边框动画

after class gt 边框 443    来源:    2024-10-21

在这篇博文中,我们将使用 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>



<pre class="brush:php;toolbar:false">  <div class="z-10 m-auto overflow-hidden p-0.5">




<ul>
<li>输入字段被包裹在一个 div 中,该 div 具有 z-10 以确保其位于动画边框之上,m-auto 以将其在 flex 容器中居中,并溢出隐藏以将动画边框包含在其边界内。</li>
</ul>
<h4>
  
  
  带有动画边框的输入字段
</h4>



<pre class="brush:php;toolbar:false">  <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>



<pre class="brush:php;toolbar:false">  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%"&gt;
  • 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 和伪元素的强大功能,您就可以创建像流星边框动画这样引人注目的效果。这种效果不仅美观,而且易于实现并为您自己的项目进行定制。请随意调整颜色、时间和其他属性来满足您的设计需求!

立即学习“前端免费学习笔记(深入)”;

编码愉快!