In this tutorial we’re going to learn how we can create swiper card using swiper.js javascript library
Click here to get starter files
We’ll use swiperjs in this project for that we have to include swiperjs css and js cdn inside the head and body tag
css<link rel="stylesheet" href="https://unpkg.com/swiper@7/swiper-bundle.min.css" />
js<script src="https://unpkg.com/swiper@7/swiper-bundle.min.js"></script>
html<div class="slide-card "><img class="slide-card-img-top" src="1.jfif" alt="" /><div class="slide-card-body"><h5>Ronne Galle <br /><span> Project Manager </span></h5><p class="slide-card-text">" Nam libero tempore, cum soluta nobis est eligendi optio cumque nihilimpedit quo minus id quod maxime placeat "</p></div></div><div class="slide-card "><img class="slide-card-img-top" src="2.jfif" alt="" /><div class="slide-card-body"><h5>Ronne Galle <br /><span> Project Manager </span></h5><p class="slide-card-text">" Nam libero tempore, cum soluta nobis est eligendi optio cumque nihilimpedit quo minus id quod maxime placeat "</p></div></div><div class="slide-card "><img class="slide-card-img-top" src="3.jfif" alt="" /><div class="slide-card-body"><h5>Ronne Galle <br /><span> Project Manager </span></h5><p class="slide-card-text">" Nam libero tempore, cum soluta nobis est eligendi optio cumque nihilimpedit quo minus id quod maxime placeat "</p></div></div><div class="slide-card "><img class="slide-card-img-top" src="4.jfif" alt="" /><div class="slide-card-body"><h5>Ronne Galle <br /><span> Project Manager </span></h5><p class="slide-card-text">" Nam libero tempore, cum soluta nobis est eligendi optio cumque nihilimpedit quo minus id quod maxime placeat "</p></div></div>
css* {margin: 0;padding: 0;box-sizing: border-box;}body {height: 100vh;background-color: #111;}
css.slide-card {background: linear-gradient(90deg,rgba(157, 168, 238, 1) 0%,rgba(205, 227, 241, 1) 39%,rgba(255, 255, 255, 1) 99%);box-shadow: 6px 7px 8px -7px #8a93fb;margin: 0 40px;padding: 45px 63px;border-radius: 20px;border: 0;cursor: grab;}.slide-card .slide-card-img-top {max-width: 100px;border-radius: 50%;margin: 15px auto 0;box-shadow: 0 8px 20px -4px #8a86e8;width: 100px;height: 100px;}.slide-card h5 {color: #3345c6;font-size: 21px;margin: 15px 0;}.slide-card h5 span {font-size: 18px;color: #111;}.slide-card p {font-size: 18px;color: #000;padding-bottom: 15px;}
html<!-- Slider main container (wrap all slide cards in swiper main container)--><div class="swiper"><!-- Additional required wrapper (wrap all slide cards in wrapper container) --><div class="swiper-wrapper"><!-- Slides (wrap each slide-card in swiper-slide )--><div class="swiper-slide"><div class="slide-card "><img class="slide-card-img-top" src="1.jfif" alt="" /><div class="slide-card-body"><h5>Ronne Galle <br /><span> Project Manager </span></h5><p class="slide-card-text">" Nam libero tempore, cum soluta nobis est eligendi optio cumquenihil impedit quo minus id quod maxime placeat "</p></div></div></div><!-- Slides (wrap each slide-card in swiper-slide )--><div class="swiper-slide"><div class="slide-card "><img class="slide-card-img-top" src="2.jfif" alt="" /><div class="slide-card-body"><h5>Ronne Galle <br /><span> Project Manager </span></h5><p class="slide-card-text">" Nam libero tempore, cum soluta nobis est eligendi optio cumquenihil impedit quo minus id quod maxime placeat "</p></div></div></div><!-- Slides (wrap each slide-card in swiper-slide )--><div class="swiper-slide"><div class="slide-card "><img class="slide-card-img-top" src="3.jfif" alt="" /><div class="slide-card-body"><h5>Ronne Galle <br /><span> Project Manager </span></h5><p class="slide-card-text">" Nam libero tempore, cum soluta nobis est eligendi optio cumquenihil impedit quo minus id quod maxime placeat "</p></div></div></div><!-- Slides (wrap each slide-card in swiper-slide )--><div class="swiper-slide"><div class="slide-card "><img class="slide-card-img-top" src="4.jfif" alt="" /><div class="slide-card-body"><h5>Ronne Galle <br /><span> Project Manager </span></h5><p class="slide-card-text">" Nam libero tempore, cum soluta nobis est eligendi optio cumquenihil impedit quo minus id quod maxime placeat "</p></div></div></div></div><!-- Additional required wrapper (wrap all slide cards in wrapper container) --></div><!-- Slider main container (wrap all slide cards in swiper main container)-->
css.swiper {width: 100%;height: 100%;}
css.swiper-slide {text-align: center;font-size: 18px;display: flex;align-items: center;}
jsconst swiper = new Swiper(".swiper", {// Default parametersslidesPerView: 1,spaceBetween: 10,// Responsive breakpointsbreakpoints: {// when window width is >= 320px320: {slidesPerView: 1,spaceBetween: 20,},// when window width is >= 480px480: {slidesPerView: 2,spaceBetween: 30,},// when window width is >= 640px640: {slidesPerView: 3,spaceBetween: 40,},},});
In above javascript code we just init a default slide per view and responsive breakpoints to view slides based on width size
As you can see above video it’s working as expected
Enable continuous loop mode in swipe
( we can do that just by adding loop true parameter in swiper object )
jsloop: true,
Transform active card ( we can add styling into active slide using .slideActiveClass )
css/* style.css */swiper-slide-active {transform: scale(1.2);}
Center active slide
( we can center active slide with centeredSlides parameter in swiper object )
jscenteredSlides: true,
We can add tons of feature with swipejs parameters
( just add below html code in .swiper main container )
html<div class="swiper-button-prev"></div><div class="swiper-button-next"></div>
Init navigation parameter in swiper js
jsnavigation: {nextEl: '.swiper-button-next',prevEl: '.swiper-button-prev',},
Congratulation we have successfully created swiper cards 🥳