Magnetic Button
→Кнопка «прилипает» к курсору: в радиусе действия элемент плавно тянется за указателем и возвращается на место через линейную интерполяцию. Смещение живёт в CSS-переменных, анимация — один цикл requestAnimationFrame.
★★☆☆☆Easy
[THE.LAB]
Лаборатория интерактивных экспериментов: визуальные эффекты, собранные на чистом CSS и JavaScript — без единой библиотеки. Каждый эксперимент — это живое демо, его исходный код и инженерная «изнанка».
Всё, что реагирует на движение мыши: притяжение, свет, жидкие формы.
Кнопка «прилипает» к курсору: в радиусе действия элемент плавно тянется за указателем и возвращается на место через линейную интерполяцию. Смещение живёт в CSS-переменных, анимация — один цикл requestAnimationFrame.
★★☆☆☆Easy
Фонарик через clip-path: контент скрыт в темноте, круглое пятно света следует за курсором с инерцией. Координаты и радиус луча — CSS-переменные --sx / --sy / --sr, видны в Debug-режиме.
★★★☆☆Medium
Жидкий курсор: цепочка частиц с покадровой интерполяцией сливается в каплю через SVG-фильтр (feGaussianBlur + feColorMatrix). Классический gooey-эффект — без Canvas и WebGL.
★★★★★Hard
Затухающий шлейф из частиц вслед за курсором: Canvas 2D, destination-out для плавного fade и пул частиц с убывающей life.
★★★☆☆Medium
Аморфная SVG-капля: центр догоняет курсор, скорость движения растягивает якорные точки контура. Замкнутый path собирается кубическими Безье между точками.
★★★★☆Advanced
Искажение контента вокруг указателя: Canvas рисует displacement map (нейтральный 128 + радиальный сдвиг по R/G), SVG feDisplacementMap смещает пиксели сцены — эффект «линзы» без WebGL.
★★★★★Hard
Сетка ячеек на CSS Grid: расстояние до курсора задаёт «подъём» и свечение каждой ячейки, значения догоняют цель через lerp в requestAnimationFrame. Волна распространяется радиально от указателя.
★★★★☆Advanced
Эффекты, управляемые прокруткой: parallax, sticky-сцены, reveal.
Прокрутите demo-область внутри рамки: каждая карточка прилипает к одной линии сверху, а следующая накрывает предыдущую. Снизу остаются видны цветные вкладки — так формируется стопка с глубиной.
★★★☆☆Medium
Прокрутите demo-область: слои смещаются с разной скоростью, но остаются в кадре — эффект глубины без «улёта» сцены за край экрана.
★★★☆☆Medium
Прокрутите demo-область: блоки скрыты до входа в viewport. IntersectionObserver добавляет is-visible — opacity и transform анимируются один раз.
★★☆☆☆Easy
Прокрутите demo-область: вертикальная лента заполняется по scroll progress, узлы активируются у линии активации.
★★★★☆Advanced
Sticky-сцена: clip-path и оттенок фона меняются между секциями по scroll progress — плавный морф формы.
★★★★☆Advanced
Вертикальный scroll demo-области двигает горизонтальную галерею внутри sticky-viewport через translate3d.
★★★☆☆Medium
Прокрутите demo-область: метки слева прилипают к линии pin, пока длинное тело каждой секции проходит мимо viewport.
★★★☆☆Medium
Микро-взаимодействия при наведении.
Карточки наклоняются в 3D: угол rotateX / rotateY считается от позиции курсора относительно центра элемента и догоняется через lerp. Наведите на любую карточку.
★★★☆☆Medium
Карточка приподнимается и получает мягкую тень при :hover. Параметры подъёма, масштаба и длительности — CSS-переменные, настраиваемые в Debug.
★★☆☆☆Easy
При наведении рамка загорается вращающимся conic-gradient и мягким свечением. Внутренняя маска сохраняет чистый фон карточки.
★★★☆☆Medium
Ссылки с анимированным подчёркиванием: линия растёт от заданной точки (left / center / right) через scaleX и transform-origin.
★★☆☆☆Easy
Карточка с изображением: при hover картинка масштабируется, оверлей с текстом поднимается и проявляется — классический image reveal без JS-анимации кадров.
★★★☆☆Medium
Кнопки с диагональным бликом: псевдоэлемент с градиентом проходит по поверхности при :hover — эффект «shine sweep» без Canvas.
★★☆☆☆Easy
Двусторонние карточки с 3D-переворотом при :hover. Ось flip (X или Y), perspective и длительность задаются CSS-переменными.
★★★☆☆Medium
Меню, переходы между страницами и состояниями.
Плавающий blob-индикатор плавно морфится между пунктами меню: позиция и размер догоняют цель через lerp в requestAnimationFrame. Наведите или кликните пункты.
★★★★☆Advanced
Три линии гамбургера трансформируются в крестик с каскадной задержкой, вращением и масштабом — меню раскрывается синхронно. Кликните кнопку.
★★☆☆☆Easy
macOS-подобный dock: иконки масштабируются и поднимаются по близости курсора с плавной интерполяцией. Водите мышь над панелью.
★★★★☆Advanced
Пункты раскрываются по дуге от центральной кнопки с каскадной задержкой и transform — классический radial fan menu. Кликните центр.
★★★☆☆Medium
Кольцо пунктов вращается к активному элементу с плавной интерполяцией угла — центр показывает текущий раздел. Кликните пункт на кольце.
★★★★☆Advanced
Индикатор активного таба движется с пружинной физикой: позиция и скорость интегрируются каждый кадр с overshoot — эффект «резинового» переключения.
★★★★☆Advanced
Интерактивные UI-компоненты: аккордеоны, модалки, тултипы и др.
Панели аккордеона раскрываются с пружинной физикой: высота контента догоняет цель с overshoot, а активный заголовок пульсирует светящейся линией-разделителем.
★★★★☆Advanced
Модальное окно «портала»: backdrop раскрывается radial clip-path от точки клика, а карточка влетает с пружинным scale и blur — эффект телепортации.
★★★★☆Advanced
Blob-индикатор плавно морфится между табами, а контент переключается clip-path wipe с инерцией — двойной визуальный эффект переключения.
★★★★☆Advanced
Магнитный тултип: следует за курсором с пружинной инерцией внутри зоны триггера, светящийся «луч» соединяет подсказку с элементом.
★★★★☆Advanced
Каскадный dropdown: пункты «падают» с elastic bounce и каскадной задержкой, контейнер разворачивается с overshoot — эффект водопада опций.
★★★☆☆Medium
Стек тостов с пружинной физикой: новые уведомления «вталкивают» старые вверх с overshoot, dismiss — slide-out с fade. Для эффекта нажмите «Push toast» несколько раз подряд и закройте одно или несколько уведомлений через крестик ×.
★★★★☆Advanced
Контекстное меню из frosted glass: по правому клику backdrop-blur «прожигает» окно, пункты выезжают с каскадом и scale — как macOS context menu.
★★★★☆Advanced
Живые сетки, split-screen, resizable-панели и responsive-композиция.
Ровная сетка 3×3: клик разворачивает ячейку в настоящий блок 2×2 (grid-column / grid-row span), перекрытые слоты исчезают, остальные пять карточек остаются на месте. Повторный клик — сброс.
★★★★☆Advanced
Split-screen с перетаскиваемым разделителем: при отпускании divider пружинно догоняет ближайшую snap-точку (20% / 50% / 80%) с overshoot и инерцией броска.
★★★★☆Advanced
Три панели с drag-handles: потяните узкий разделитель между Explorer, Editor и Preview — ширины догоняют курсор с пружинной инерцией и лёгким overshoot. Для контраста нажмите Reset и посмотрите, как панели «резиново» возвращаются к 33 / 34 / 33%.
★★★★☆Advanced
Бесконечная лента секций внутри demo-области: при достижении края scroll мгновенно перепрыгивает без рывка — seamless loop с parallax-слоями.
★★★★☆Advanced
Container queries в действии: под карточками — ползунок Container width, или потяните вертикальный │ на правом краю оранжевого контейнера. Сетка плавно морфится между 1, 2 и 3 колонками без media query скачков.
★★★☆☆Medium
Генеративные и реагирующие фоны.
Процедурный film grain на Canvas: каждый кадр генерирует новый шум, курсор усиливает зернистость и chromatic shift в радиусе вокруг указателя.
★★★☆☆Medium
Четыре размытых blob-якоря с radial-gradient создают живой mesh-фон; позиции догоняют курсор и медленно орбитируют в покое.
★★★☆☆Medium
Поле частиц-«созвездие»: курсор отталкивает точки, близкие узлы соединяются светящимися линиями — реактивный network-фон.
★★★★☆Advanced
Органические амёбы через SVG gooey-фильтр: blob-ы «дышат», морфят border-radius и притягиваются к курсору — живой биолюминесцентный фон.
★★★★☆Advanced
Многослойные синусоидальные волны на Canvas; движение курсора создаёт ripple-возмущения, расходящиеся по полю высот.
★★★★☆Advanced
Живой gradient-фон за frosted glass-панелями; SVG feDisplacementMap искажает стекло вокруг курсора — эффект преломляющей линзы.
★★★★★Hard
Плавающие геометрические фигуры с независимыми float-циклами и mouse parallax по depth-слоям — многоуровневый depth-фон.
★★★☆☆Medium
Кинетическая типографика.
Variable font «дышит» вместе с курсором: оси wght, wdth и slnt плавно меняются через font-variation-settings и gradient-shift.
★★★☆☆Medium
Крупная типографика искажается вокруг курсора: Canvas-карта смещения питает SVG feDisplacementMap — эффект «жидкой линзы» на буквах.
★★★★★Hard
Циклическая смена заголовков: каждая буква влетает и вылетает с индивидуальным stagger, blur и accent-gradient.
★★★☆☆Medium
Строки типографики проявляются при скролле: clip-path снимает «занавес», текст поднимается с stagger. Чтобы увидеть анимацию снова — нажмите Reset.
★★★☆☆Medium
Буквы-частицы рисуются на Canvas по траектории курсора и растворяются через destination-out — типографический след.
★★★★☆Advanced
Каждая буква — пружинная частица: отталкивается от курсора и возвращается на место с damping — физика в типографике.
★★★★☆Advanced
Направления, которые появятся в лаборатории следующими.
Пружины, инерция, простые симуляции.
Полигон для странных идей.