Don’t want to make from scratch? Get the template instead 🙂
Introduction – Making a Vertical Slider Carousel with Elementor and SwiperJS
In this tutorial, we will simply expand from our base slider that we made before (check blog or video) to work in vertical layout.
Layout for containers or DIV:
The main layout is having a swiper container, inside it should be swiper-wrapper and inside swiper-wrapper should be slides. The swiper navigation container is optional, you can directly add Arrow icons and swiper-pagination in swiper container directly.
Support by
using these links
(Affiliate)
Start Earning by becoming an Elementor Affiliate
Swiperjs automatically adds position absolute to pagination. For this one I have overwritten the absolute position and turned it static. If you wish to use position absolute, please remove the like position:static from the code.
Vertical Slider Code
- .dm-base-v-swiper is the CSS class for the main container that has all the slides, navigation, and pagination.
- direction allows you to choose between horizontal and vertical direction for your slider.
- loop can be set to true/false to enable or disable looping.
- To add more features, refer to the “Custom Carousel” blog post or its video to learn how to customize further. Link – https://dmmotionarts.com/custom-base-slider-with-autoplay-elementor-swiperjs-slider-tutorial/
- wrapperClass is used to use custom CSS class for our swiper-wrapper. This is important as we don’t want elementor swiper styling to be applied here.
- slideClass is used to use custom CSS class for our slides. Important for the same reason as above.
- nextEl and prevEl is the CSS class that we use for navigation buttons. It can be added to any icon, image or text.
- In pagination, el: allows us to specify which container/div is our pagination container.
- We have different pagination types available. You can read or watch video on “Custom Carousel Blog Post” page.
- To change height, check from line 76 for each responsive type.
- By default, swiperjs makes the pagination container have position absolute. it was kinda messing with the design I had planned. So in below code I have overwritten position absolute to position:static at line 144. You can delete this part if you wish to use position: absolute.

