Repolode
darkroomengineering

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. 1

    Установите Lenis с помощью npm

    npm i lenis
  2. 2

    Импортируйте Lenis в код

    import Lenis from 'lenis'
  3. 3

    Создайте экземпляр с включённым autoRaf

Что важно знать

  • Вам нужно самостоятельно встроить Lenis в обработку прокрутки и цикл анимации, если вы не используете autoRaf или настройку без кода.

Темы

#smooth-scroll#javascript#typescript#animation#scroll#react#vue#webgl#darkroom-engineering#performance

Частые вопросы

Что такое 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 обновляется ежедневно.

Похожие проекты

Настраиваемый рендерер анимированных 3D-градиентов для React на Three.js и React Three Fiber; доступны версии для Vue, Framer и Figma.

3,1 тыс.+62 за неделю180TypeScriptБез лицензииОбновлён 2 месяца назад

React-рендерер для Three.js, позволяющий декларативно собирать 3D-сцены с помощью JSX-компонентов.

33,6 тыс.+162 за неделю2,1 тыс.TypeScriptMITАктивно поддерживаетсяОбновлён 17 дней назад

Библиотека из 35 эффектов для canvas, которые можно скопировать в проект: жидкость, стекло, огонь и другие эффекты поверх живого HTML.

5,4 тыс.+175 за неделю272TypeScriptOtherАктивно поддерживаетсяОбновлён в прошлом месяце

Шейдеры для canvas в стиле WebGL без зависимостей — для фонов и текстур сайтов; подключаются через npm к React или vanilla JS либо настраиваются визуально в Paper.

3,9 тыс.+59 за неделю174TypeScriptApache-2.0Активно поддерживаетсяОбновлён 7 часов назад