Tailwind 下划线悬停动画

hao*_*hao 14 css tailwind-css

我花了一天时间研究如何使用 Tailwind-CSS 将鼠标悬停在链接上后制作动画。这是我想要的动画,我的链接看起来像视频。 示例来自 YouTube

我尝试过使用:after,但没有成功。这是我的链接组件=> https://codepen.io/qqharry21/pen/xxPwqjQ

我希望可以学习如何修复它,并使其像 Tailwind-CSS 的视频一样工作,谢谢!

小智 30

您可以使用组 max-w-{x} 和transition-all 在纯顺风中实现这一点,在跨度上使用组悬停,这样当您经过链接时它就会启动动画

<a href="#" class="group text-sky-600 transition duration-300">
Link
<span class="block max-w-0 group-hover:max-w-full transition-all duration-500 h-0.5 bg-sky-600"></span>
</a>
Run Code Online (Sandbox Code Playgroud)


Zan*_*son 10

如果您不想仅包含用于此功能的 CSS 文件,或者您只想在 Tailwind 中执行此操作 - 我在下面发布的代码片段纯粹基于 Tailwind CSS。

<a class="group text-pink-500 transition-all duration-300 ease-in-out" href="#">
  <span class="bg-left-bottom bg-gradient-to-r from-pink-500 to-pink-500 bg-[length:0%_2px] bg-no-repeat group-hover:bg-[length:100%_2px] transition-all duration-500 ease-out">
    This text gets 'underlined' on hover
  </span>
</a>
Run Code Online (Sandbox Code Playgroud)

干杯,编码愉快!


Max*_*ern 9

你可以为此过渡:

    .link-underline {
        border-bottom-width: 0;
        background-image: linear-gradient(transparent, transparent), linear-gradient(#fff, #fff);
        background-size: 0 3px;
        background-position: 0 100%;
        background-repeat: no-repeat;
        transition: background-size .5s ease-in-out;
    }

    .link-underline-black {
        background-image: linear-gradient(transparent, transparent), linear-gradient(#F2C, #F2C)
    }

    .link-underline:hover {
        background-size: 100% 3px;
        background-position: 0 100%
    }
Run Code Online (Sandbox Code Playgroud)
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/tailwindcss/2.2.19/tailwind.min.css" integrity="sha512-wnea99uKIC3TJF7v4eKk4Y+lMz2Mklv18+r4na2Gn1abDRPPOeef95xTzdwGD9e6zXJBteMIhZ1+68QC5byJZw==" crossorigin="anonymous" referrerpolicy="no-referrer" />

<div class="min-h-screen bg-gray-100 py-6 flex flex-col justify-center sm:py-12">
    <div class="relative py-3 sm:max-w-xl sm:mx-auto">
        <a href="#" class="font-display max-w-sm text-2xl font-bold leading-tight">
            <span class="link link-underline link-underline-black text-black"> Link Hover Effect </span>
        </a>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)