Three.jsとReact Three Fiberを基盤にした、React向けのカスタマイズ可能な3Dアニメーショングラデーションレンダラー。Vue、Framer、Figma版も用意されています。
darkroomengineering/lenis
ネイティブスクロールをイージング付きのアニメーションで包み込む、軽量で依存関係のないWeb向けスムーススクロールライブラリ。
- スター
- 17,138
- フォーク
- 778
- 未解決の Issue
- 33
- 最終コミット
- 9 日前
これは何?
Lenisは、Webページ向けのスムーススクロールライブラリです。ホイールやタッチによる入力を受け取り、スクロール位置を目標位置までアニメーションさせることで、より滑らかで心地よい操作感を実現します。ブラウザー本来のスクロールを置き換えるのではなく、その上に処理を重ねる仕組みのため、position: stickyやアンカーリンク、アクセシビリティに関する動作も引き続き機能します。
1つのインスタンスで、縦・横・入れ子のスクロールに対応します。また、イベントとフレームごとに呼び出すrafメソッドを提供しており、WebGLのシーン、GSAP ScrollTrigger、パララックス効果をスクロール位置に同期できます。React、Vue、Framer向けの公式パッケージに加え、セクションの位置合わせに使える別個のsnapプラグインも用意されています。duration、easingまたはlerp、視差効果を抑える設定、data属性またはpreventコールバックによる要素単位の除外を設定できます。
Lenisはnpmからインストールできるほか、ビルド不要で使えるCDNスクリプトとして読み込むこともできます。既知の制限として、CSS scroll-snapには対応していないこと、スムーススクロールがiframe内には伝播しないこと、Safariでは60fpsに制限されることが挙げられます。
主な機能
- 01実行時の依存関係がなく、バンドルサイズも小さい
- 021つのインスタンスで、縦・横・入れ子のスクロールを滑らかに処理
- 03position: stickyやアンカーリンクなど、ネイティブのスクロール動作を維持
- 04WebGLのシーン、GSAP ScrollTrigger、パララックス効果と同期
- 05React、Vue、Framer向けの公式パッケージとsnapプラグインを提供
ユースケース
- マーケティングサイトやポートフォリオサイトにスムーススクロールを追加する
- Three.jsやWebGLのシーンをページスクロールに同期させる
- GSAP ScrollTriggerでスクロール連動アニメーションを作成する
- モーダルや入れ子のパネル内にスムーススクロールする領域を作る
クイックスタート
- 1
npmでLenisをインストールする
npm i lenis - 2
コードにLenisをインポートする
import Lenis from 'lenis' - 3
autoRafを有効にしてインスタンスを作成する
使う前に知っておきたいこと
- autoRafまたはノーコード設定を使わない場合は、Lenisを独自のスクロール処理とアニメーションループに組み込む必要があります。
トピック
よくある質問
- lenis とは?
- ネイティブスクロールをイージング付きのアニメーションで包み込む、軽量で依存関係のないWeb向けスムーススクロールライブラリ。 Lenisは、Webページ向けのスムーススクロールライブラリです。ホイールやタッチによる入力を受け取り、スクロール位置を目標位置までアニメーションさせることで、より滑らかで心地よい操作感を実現します。ブラウザー本来のスクロールを置き換えるのではなく、その上に処理を重ねる仕組みのため、position: stickyやアンカーリンク、アクセシビリティに関する動作も引き続き機能します。
- lenis は無料で使えますか?ライセンスは?
- lenis は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- lenis は今もメンテナンスされていますか?
- 活発にメンテナンス中。lenis の最終コミットは 2026年10月29日 です。
- lenis は何に使えますか?
- マーケティングサイトやポートフォリオサイトにスムーススクロールを追加する Three.jsやWebGLのシーンをページスクロールに同期させる GSAP ScrollTriggerでスクロール連動アニメーションを作成する モーダルや入れ子のパネル内にスムーススクロールする領域を作る
- lenis のインストール方法は?
- npmでLenisをインストールする: npm i lenis コードにLenisをインポートする: import Lenis from 'lenis' autoRafを有効にしてインスタンスを作成する
- lenis はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/darkroomengineering/lenis
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
JavaScript、React、Vue向けのオープンソースアニメーションライブラリ。スプリング、ジェスチャー、レイアウト遷移、スクロール連動エフェクトを提供します。
React、Vue、Svelte、Solid、素のJavaScriptで使える、WebGPUシェーダーエフェクトのコンポーネント集。
JSXコンポーネントを使い、宣言的に3Dシーンを構築できるThree.js向けReactレンダラーです。
ライブHTMLコンテンツ上で動作する、液体・ガラス・炎など35種類のフレームワーク非依存なcanvas UIエフェクトをコピーして使えるライブラリ。
Webサイトの背景やテクスチャに使える、依存関係ゼロのWebGL風Canvasシェーダー。npm経由(Reactまたはvanilla JS)で利用するか、Paper上で視覚的にデザインできます。