All Projects → Grsmto → scroll-snap-carousel

Grsmto / scroll-snap-carousel

Licence: MIT license
One more carousel plugin, but using CSS Scroll Snap and for every frameworks!

Programming Languages

typescript
32286 projects
javascript
184084 projects - #8 most used programming language
CSS
56736 projects
Svelte
593 projects
HTML
75241 projects

Projects that are alternatives of or similar to scroll-snap-carousel

Keen Slider
The HTML touch slider carousel with the most native feeling
Stars: ✭ 3,097 (+6632.61%)
Mutual labels:  slider, carousel
vue3-carousel
Vue 3 carousel component
Stars: ✭ 379 (+723.91%)
Mutual labels:  slider, carousel
vue-splide
The Splide component for Vue.
Stars: ✭ 257 (+458.7%)
Mutual labels:  slider, carousel
React Native Swiper Flatlist
👆 Swiper component implemented with FlatList using Hooks & Typescript + strict automation tests with Detox
Stars: ✭ 217 (+371.74%)
Mutual labels:  slider, carousel
vue-piece-slider
animated slides in a fragmented look 🐞🌳✡️📐
Stars: ✭ 95 (+106.52%)
Mutual labels:  slider, carousel
Vue Glide
A slider and carousel as vue component on top of the Glide.js
Stars: ✭ 225 (+389.13%)
Mutual labels:  slider, carousel
react-instagram-zoom-slider
🌄↔️ A slider component with pinch to zoom capabilities inspired by Instagram
Stars: ✭ 67 (+45.65%)
Mutual labels:  slider, carousel
Carousel View
CarouselView for android with showing horizontal and vertical, auto scrolling (with pause/resume), slider mode/ carousel mode options
Stars: ✭ 131 (+184.78%)
Mutual labels:  slider, carousel
SimpleSlider
Simple responsive slider created in pure javascript.
Stars: ✭ 21 (-54.35%)
Mutual labels:  slider, carousel
vue-barousel
Carousel component mimics NetEase Cloud Music
Stars: ✭ 13 (-71.74%)
Mutual labels:  slider, carousel
Slider
Touch swipe image slider/slideshow/gallery/carousel/banner mobile responsive bootstrap
Stars: ✭ 2,046 (+4347.83%)
Mutual labels:  slider, carousel
skeleton-carousel
Carousel component. Horizontal and vertical swipe navigation
Stars: ✭ 31 (-32.61%)
Mutual labels:  slider, carousel
Svelte Carousel
A super lightweight, super simple Carousel for Svelte 3
Stars: ✭ 144 (+213.04%)
Mutual labels:  slider, carousel
React Flickity Component
A React.js component for using @desandro's Flickity
Stars: ✭ 232 (+404.35%)
Mutual labels:  slider, carousel
Xam.plugin.simpleappintro
Just a nice and simple AppIntro for your Xamarin Forms project
Stars: ✭ 139 (+202.17%)
Mutual labels:  slider, carousel
MediaSliderView
Pure java based, highly customizable media slider gallery supporting both images and videos for android.
Stars: ✭ 85 (+84.78%)
Mutual labels:  slider, carousel
Widget
A set of widgets based on jQuery&&javascript. 一套基于jquery或javascript的插件库 :轮播、标签页、滚动条、下拉框、对话框、搜索提示、城市选择(城市三级联动)、日历等
Stars: ✭ 1,579 (+3332.61%)
Mutual labels:  slider, carousel
React Responsive Carousel
React.js Responsive Carousel (with Swipe)
Stars: ✭ 1,962 (+4165.22%)
Mutual labels:  slider, carousel
angular-simple-slider
An AngularJS directive providing a simple slider functionality
Stars: ✭ 15 (-67.39%)
Mutual labels:  slider, carousel
pinar
🌲☀️ Customizable, lightweight React Native carousel component with accessibility support.
Stars: ✭ 214 (+365.22%)
Mutual labels:  slider, carousel

Scroll Snap Carousel

Scroll Snap Carousel is a helper to enhance the native CSS Scroll Snap experience. If you ever wanted to use CSS Scroll Snap to create a carousel but were missing basic features like "active dots" indicator and drag scroll, this is for you!

Installation

- Via npm npm install @snap-carousel/core --save or for React npm install @snap-carousel/react --save

- Via Yarn yarn add @snap-carousel/core or for React yarn add @snap-carousel/react

Usage

<style>
  .carousel-container {
    scroll-snap-type: x mandatory;
    overflow-y: hidden;
    overflow-x: auto;
    ...
    display: flex;
    flex-direction: row;
  }
</style>

With React

import {
  useDragToScroll,
  useScroll,
  useActiveSnap,
} from '@snap-carousel/react';
import '@snap-carousel/core/dist/styles.css';

const Component = () => {
  useDragToScroll({ ref });

  return (
    <div ref={ref} className="carousel-container">
      {slides.map((slide) => (
        <div className="slide" key={slide}>
          {slide}
        </div>
      ))}
    </div>
  )
}

For more advanced usage see the example.

⚠️ This project is a WIP!

Scroll Snap Carousel is a carousel based on native CSS Scroll Snap. It is dependency free with vanilla JS at its core, but comes with support for various frameworks. It's a rework of react-snaplist-carousel in vanilla JS.

  • Smoother than ever since it uses native CSS Scroll Snap, scroll behaviour basically can't be smoother!
  • Native scroll experience trackpad scroll, touch swipe, etc. all of this comes for natively, without cost, thanks to CSS Scroll Snap.
  • Lightweight it really doesn't do much.
  • Works everywhere with plugins for React, Svelte, Vue and Angular (soon?).
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].