Текстовая анимация
Перекидная надпись
Ссылка-заголовок, которая на наведении меняет формулировку: буквы разъезжаются встречно — чётные вверх, нечётные вниз, — уходят в размытие, и на их место приезжает вторая надпись. Ширина не меняется, соседи по строке не прыгают.
Что можно поменять
- надписи: text в покое и hoverText под курсором
- адрес ссылки href
- цвет акцента через проп accent — им красятся стрелка и фокус
Ссылка для ИИ-агента: в ней превью, код и инструкция.
Превью
Использовать с ИИ
- 1. Скопируйте ссылку.
- 2. Напишите агенту своими словами и вставьте её в предложение.
- 3. Агент откроет ссылку и поставит компонент из реестра.
добавь это на главную первым экраном:
https://vibeui.ru/c/text-001?theme=dark
Не знаете, куда вставить? Пошаговый гайд
Показать полную инструкцию
То, что лежит по ссылке в развёрнутом виде. Нужна, если агент не может открыть ссылку — тогда вставьте этот текст целиком.
Загружается…
Для разработчика
Команда установки — в блоке «Исходник компонента» ниже: подписанная ссылка действует сутки.
Технические заметки
Компонент самодостаточен: один файл, ноль зависимостей, палитра в локальных --vibeui-text-001-*. Тему берёт из окружения через light-dark() плюс строку для класса .dark. Клиентского JS нет: обе надписи лежат в одной ячейке inline-grid, поэтому ширина берётся по длинной и при подмене не прыгает, а само перекидывание — это transition по :hover и :focus-visible. Каждая буква сидит в своей коробке с overflow:hidden и уезжает на 115% от собственной высоты; направление задаёт переменная --vibeui-text-001-dir (+1 у чётных, −1 у нечётных), поэтому строка разъезжается встречными потоками. Transform идёт 300 мс по пружине, выписанной точками в linear(), а opacity и размытие — 180 мс по cubic-bezier(0.16,1,0.3,1): размытие короче хода и прячет момент подмены. Задержка каждой буквы — transition-delay: calc(stagger * индекс), 14 мс на букву. Размер кегля считается от собственной ширины блока (container-type:inline-size, clamp с cqi), а не от окна. Ссылка растянута на ширину родителя и держит надпись по центру (--vibeui-text-001-align), но курсор ловит только сама надпись: у растянутой строки pointer-events сняты, иначе она перекидывалась бы от наведения на пустое место сбоку. При prefers-reduced-motion переходы выключаются, надпись просто меняется. Под курсором надпись, подчёркивание и стрелка красятся акцентом (--vibeui-text-001-accent-text): в тёмной теме он высветлен, потому что чистый акцентный на тёмном фоне читается тускло.
Теги
- text
- animated text
- hover
- link
- swap
- letters
- stagger
- blur
- roll
Исходник компонента
Тот же файл, который поставит агент. Нужен, если вы предпочитаете скопировать код руками.
Загружается…