Swiper Responsive

by kerrydp

HTML

<link rel="stylesheet" href="https://unpkg.com/swiper/swiper-bundle.min.css">
<script src="https://unpkg.com/swiper/swiper-bundle.min.js"></script>
<div class="page-container"> <!-- Container -->

  <!-- Column 1 (Swiper) -->
  <div class="box1">
    <div class="swiper-container">
    <!-- Additional required wrapper -->
    <div class="swiper-wrapper">
        <!-- Slides -->
        <div class="swiper-slide">Slide 1</div>
        <div class="swiper-slide">Slide 2</div>
        <div class="swiper-slide">Slide 3</div>
        ...
    </div>
    <!-- If we need pagination -->
    <div class="swiper-pagination"></div>
</div>
</div>
  
  <!-- Column 2 (Details) -->
  <div class="box2"> Column that remains in right-hand box</div>

 
  <!-- Content that spans two rows -->
  <div class="box3">
  Content that spans two rows
  </div>
  
</div>

CSS

.page-container {
  display: grid;
  grid-template-columns: auto auto 200px;
  grid-column-gap: 10px;
  grid-row-gap: 10px;
}


.box1 {
 background-color: red;
 grid-column: 1 / span 2;
 }

.box2 {
  background-color: yellow;
  min-width: 200px;
  }

.box3 {
  background-color: blue;
   grid-row: 2;
   grid-column: 1 / span 3;
   min-height: 200px;
  }


.swiper-container {
    width: 600px;
    height: 300px;
}

JavaScript

var mySwiper = new Swiper('.swiper-container', {
  // Optional parameters
  direction: 'horizontal',
  loop: true,

  // If we need pagination
  pagination: {
    el: '.swiper-pagination',
  },

  // Navigation arrows
  navigation: {
    nextEl: '.swiper-button-next',
    prevEl: '.swiper-button-prev',
  },

  // And if we need scrollbar
  scrollbar: {
    el: '.swiper-scrollbar',
  },
})