Настраиваемый рендерер анимированных 3D-градиентов для React на Three.js и React Three Fiber; доступны версии для Vue, Framer и Figma.
darkroomengineering/lenis
Лёгкая библиотека для плавной прокрутки в браузере без зависимостей: анимирует нативный скролл с помощью easing.
- Звёзды
- 17,138
- Форки
- 778
- Открытые issues
- 33
- Последний коммит
- 9 дней назад
Что это?
Lenis — библиотека для плавной прокрутки веб-страниц. Она перехватывает события колеса мыши и сенсорного ввода, а затем анимирует прокрутку к заданной позиции, делая её более плавной. Библиотека оборачивает собственный скролл браузера, а не заменяет его, поэтому продолжают работать position: sticky, якорные ссылки и специальные возможности.
Один экземпляр библиотеки поддерживает вертикальную, горизонтальную и вложенную прокрутку. Также Lenis предоставляет события и метод raf для вызова в каждом кадре, чтобы синхронизировать со скроллом WebGL-сцены, GSAP ScrollTrigger и параллакс-эффекты. Есть официальные пакеты для React, Vue и Framer, а для выравнивания секций предусмотрен отдельный snap-плагин. В настройках можно задать длительность и easing или lerp, обработку reduced motion и исключения для отдельных элементов с помощью data-атрибутов или callback prevent.
Lenis можно установить через npm или подключить скриптом с CDN — без сборки. Среди известных ограничений: нет поддержки CSS scroll-snap, плавная прокрутка не работает через iframe, а в Safari частота ограничена 60 fps.
Ключевые возможности
- 01Не требует зависимостей во время выполнения и занимает мало места в сборке
- 02Плавная вертикальная, горизонтальная и вложенная прокрутка из одного экземпляра
- 03Сохраняет нативное поведение скролла, включая position: sticky и якорные ссылки
- 04Синхронизируется с WebGL-сценами, GSAP ScrollTrigger и параллакс-эффектами
- 05Официальные пакеты для React, Vue и Framer, а также snap-плагин
Сценарии использования
- Добавление плавной прокрутки на сайты компаний и портфолио
- Синхронизация сцены Three.js или WebGL с прокруткой страницы
- Создание анимаций, управляемых прокруткой, с помощью GSAP ScrollTrigger
- Создание плавно прокручиваемых областей внутри модальных окон или вложенных панелей
Быстрый старт
- 1
Установите Lenis с помощью npm
npm i lenis - 2
Импортируйте Lenis в код
import Lenis from 'lenis' - 3
Создайте экземпляр с включённым autoRaf
Что важно знать
- Вам нужно самостоятельно встроить Lenis в обработку прокрутки и цикл анимации, если вы не используете autoRaf или настройку без кода.
Темы
Частые вопросы
- Что такое lenis?
- Лёгкая библиотека для плавной прокрутки в браузере без зависимостей: анимирует нативный скролл с помощью easing. Lenis — библиотека для плавной прокрутки веб-страниц. Она перехватывает события колеса мыши и сенсорного ввода, а затем анимирует прокрутку к заданной позиции, делая её более плавной. Библиотека оборачивает собственный скролл браузера, а не заменяет его, поэтому продолжают работать position: sticky, якорные ссылки и специальные возможности.
- lenis можно использовать бесплатно? Какая у него лицензия?
- lenis распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- lenis всё ещё поддерживается?
- Активно поддерживается. Последний коммит в lenis — 29 окт. 2026 г..
- Для чего можно использовать lenis?
- Добавление плавной прокрутки на сайты компаний и портфолио Синхронизация сцены Three.js или WebGL с прокруткой страницы Создание анимаций, управляемых прокруткой, с помощью GSAP ScrollTrigger Создание плавно прокручиваемых областей внутри модальных окон или вложенных панелей
- Как установить lenis?
- Установите Lenis с помощью npm: npm i lenis Импортируйте Lenis в код: import Lenis from 'lenis' Создайте экземпляр с включённым autoRaf
- Где скачать lenis?
- Исходный код и инструкции по установке — на GitHub: https://github.com/darkroomengineering/lenis
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Библиотека анимации с открытым исходным кодом для JavaScript, React и Vue: пружины, жесты, переходы макета и эффекты, связанные с прокруткой.
Эффекты шейдеров WebGPU в виде готовых компонентов для React, Vue, Svelte, Solid и обычного JavaScript.
React-рендерер для Three.js, позволяющий декларативно собирать 3D-сцены с помощью JSX-компонентов.
Библиотека из 35 эффектов для canvas, которые можно скопировать в проект: жидкость, стекло, огонь и другие эффекты поверх живого HTML.
Шейдеры для canvas в стиле WebGL без зависимостей — для фонов и текстур сайтов; подключаются через npm к React или vanilla JS либо настраиваются визуально в Paper.