Baike.dev
All toolsAI codingTrendingOpen sourceNewsSubmit
Log in
< Back to tools
B

barba

> 前端框架
Open source

Create badass, fluid and smooth transitions between your website’s pages

13.0K stars0 likes0 views
WebsiteGitHub

About

Create badass, fluid and smooth transitions between your website’s pages

# barba.js – [](https://circleci.com/gh/barbajs/barba/tree/main) [](https://coveralls.io/github/barbajs/barba?branch=main) [](http://commitizen.github.io/cz-cli/) [](https://conventionalcommits.org) [](https://lerna.js.org/) [](https://github.com/barbajs/barba/blob/main/LICENSE.md) [](#contributors) [](https://join.slack.com/t/barbajs/shared_invite/enQtNTU3NTAyMjkxMzAyLTkxYWUwZmM1YWQxMmNlYmE0ZjY4NDQxMGUxYjkwYWFlMzEzOWM4OTRhMWRmYTQyYzFlMmQ3OGFmYmI3MWY0OWY) Create **badass, fluid and smooth transitions** between your website’s pages. ## Intro **Barba.js** — aka *Barba* — is a small *(7kb minified and compressed)* and easy-to-use library that helps you create fluid and smooth transitions between your website's pages. It makes your website run like a **SPA** *(Single Page Application)* and help reduce the delay between your pages, minimize browser HTTP requests and enhance your user's web experience. ## Features Barba is user friendly, smart, extensible and futureproof. The library provides a bunch of **useful features that will make your website shine** like any other website, ever! * Simplified API - *written in **TypeScript** and works with `Promises`* * Cross-browser support - *[progressive enhancement](https://barba.js.org/docs/getstarted/browser-support/) for modern browsers* * DOM flexibility - *custom [markup](https://barba.js.org/docs/getstarted/markup/#DOM-structure), [namespaces](https://barba.js.org/docs/getstarted/markup/#Namespace) and `data` attribute [schema](https://barba.js.org/docs/getstarted/markup/#Schema)* * Hook system - *regulars lifecycle [methods](https://barba.js.org/docs/advanced/hooks/) for `Transitions` and `Views`* * Transition resolution - *[rules](https://barba.js.org/docs/advanced/transitions/#Rules) that let Barba pick the right transition* * Sync mode - *indicates whether leave and enter hooks should [“play together”](https://barba.js.org/docs/advanced/transitions/#Sync-mode)* * Page related code - *[custom logic](https://barba.js.org/docs/advanced/views/) attached to a specific `View`* * Modern browser strategies - *keep your site run [as fast as possible](https://barba.js.org/docs/advanced/strategies/)* * Cook like an expert - *improve your [development workflow](https://barba.js.org/docs/advanced/recipes/)* * Built-in utilities - *brought to you with a bunch of [useful methods](https://barba.js.org/docs/advanced/utils/)* * Plugin system - *supplied with [useful plugins](https://barba.js.org/docs/plugins/intro/)* * Wide community - *more than 980+ [amazing developers](https://barba.js.org/docs/getstarted/useful-links/#Developer) can help build your website!* ## Documentation Here you will find the documentation describing **how to use** the library. 1. [Website](https://barba.js.org/) - official Barba website 2. [User guide](https://barba.js.org/docs/getstarted/intro/) - how to install and use the plugin 3. [Lessons, courses and videos](https://barba.js.org/docs/getstarted/useful-links/#Learn) - for in-depth learning 4. [Showcase](https://barba.js.org/showcase/) - selected works made with Barba 5. [Developer API](https://barba.js.org/api/) - by developers, for developers > [!NOTE] > This guide assumes intermediate knowledge of HTML, CSS, and JavaScript. It is worth mentioning that all code examples use ES6+ syntax. If you are not comfortable with this syntax, we would encourage you to grasp the basics then come back. > > In case of emergency, check the ["legacy" code example](https://barba.js.org/docs/getstarted/legacy/). ## Sponsor If you like this library and want to give some recognition, it is now possible to **become a [Github sponsor](https://www.github.com/sponsors/xavierfoucrier)** and support this project by sponsoring BarbaJS maintainer on Github. Even if it's a small contribution, you participate in the effort of making **open source projects maintained for anyone**, and developers to be rewarded for their work/time. ## Contribute If you want to report a bug or request a new feature/improvement, please **read the project [contributors guidelines](.github/CONTRIBUTING.md) before**. Thanks for taking time to contribute to Barba :tada: :+1: ## Contributors
Luigi De Rosa

⚠️
Thierry Michel

⚠️
Xavier Foucrier

⚠️
Marco Grimaldi


Petr TIchy

✅
Cody Marcoux


Phil.


Giorgio Finulli


Wouter


Mike Wagz

⚠️
Red Stapler

✅
Jérémy Levron


Nguyen Van Anh


Daniel Weber


Jean-Marie Porchet


James


Nicholas


Patrick Arminio


A (from Sicily)


Pavel Mazhuga


Daniele De Matteo


aswinkumar863


BounceIncHQ


gordonwes


Evan Fleet

GitHub Issues· 0 open

View all on GitHub

No open issues yet, or sync has not completed.

Highlights

  • •Simplified API - *written in TypeScript and works with Promises
  • •Cross-browser support - *progressive enhancement for modern browsers
  • •DOM flexibility - *custom markup, namespaces and data attribute schema
  • •Hook system - *regulars lifecycle methods for Transitions and Views
  • •Transition resolution - *rules that let Barba pick the right transition
  • •Sync mode - *indicates whether leave and enter hooks should “play together”
  • •Page related code - *custom logic attached to a specific View
  • •Modern browser strategies - *keep your site run as fast as possible
  • •Cook like an expert - *improve your development workflow
  • •Built-in utilities - *brought to you with a bunch of useful methods

> Tags

TypeScriptanimationbarbabarbajscss

No comments yet. Be the first to share.

> Details

PublishedAug 1, 2026
UpdatedSep 17, 2026
Category前端框架
PricingOpen source

> Related tools

R
React
用于构建用户界面的 JavaScript 库
V
Vue.js
渐进式 JavaScript 框架
N
Next.js
基于 React 的全栈 Web 框架