Компоненты/Анимированные ссылки

Анимированные ссылки

29 сентября 2026

Пять ссылок с эффектами наведения: подчёркивание с разных сторон, инвертирующая заливка и выезжающая стрелка.

Установка

npm install clsx tailwind-merge
pnpm add clsx tailwind-merge
yarn add clsx tailwind-merge
bun add clsx tailwind-merge

Файлы

link-hovers.tsx
НазадШлейф картинокДалееМагнитная кнопка

Пять вариантов текстовой ссылки на чистом CSS. Первые три рисуют подчёркивание при наведении — слева, справа или от центра — и показывают маленькую стрелку, которая поднимается снизу.

Два последних заливают ссылку белой плашкой по высоте или по ширине через mix-blend-difference, поэтому текст под ней инвертируется. Все эффекты наследуют размер и цвет текста родителя.

Вручную

Скопируйте эти файлы в components/link-hovers/:

Общие помощники положите в lib/ проекта:

Проверьте алиас путей. Импорты в коде выше записаны как @/components/... и @/lib/.... Нужен алиас "@/*" на папку, где лежат components/ и lib/, в tsconfig.json — или поправьте импорты под свои пути.

Использование

import { LinkFillWidth, LinkUnderlineLeft } from "@/components/link-hovers/link-hovers";

export function Links() {
return (
  <nav className="flex flex-col gap-4 text-2xl">
    <LinkUnderlineLeft href="/contact">Написать нам</LinkUnderlineLeft>
    <LinkFillWidth href="/about">О студии</LinkFillWidth>
  </nav>
);
}

Пропсы

Пропс
Описание
href

Адрес ссылки

Тип string

children

Текст ссылки

Тип ReactNode

className?

Дополнительные классы ссылки

Тип string