JSFiddle - React, Tailwind, and code Playground

by codisy

HTML

<script src="https://unpkg.com/swiper/swiper-bundle.js"></script>
<link rel="stylesheet" href="https://unpkg.com/swiper/swiper-bundle.css">
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Document</title>
</head>
<body>

<div class="container">
  <div class="sidebar">
     Контент сайдбара
  </div>
   <div class="inner">
      <div class="swiper-container js-slider-container">
        <div class="swiper-wrapper">
          <div class="swiper-slide">
            <img src="https://loremflickr.com/640/360?random=1" alt="" class="slide-img">
          </div>
          <div class="swiper-slide">
            <img src="https://loremflickr.com/640/360?random=2" alt="" class="slide-img">
          </div>
          <div class="swiper-slide">
            <img src="https://loremflickr.com/640/360?random=3" alt="" class="slide-img">
          </div>
        </div>
      </div>
    </div>
</div>
  
</body>
</html>

CSS

.container {
  display: grid;
  grid-template-columns: 4fr 9fr;
  grid-gap: 30px;
}

.sidebar {
  background: red;
}

.slide-img {
  display: block;
  width: 100%;
}

.js-slider-container.swiper-container {
  /* CSS-хаки для Swiper в Grid Layout, но они не помогают */
  width: 100%;
  max-width: 100%;
  max-height: 100vh;
  min-height: 0;
  min-width: 0;
}

.inner {
  display: grid; /* Чтобы заработали вышеуказанные хаки, нужно ближайщему родителю к слайдеру задать так же display: grid; */
  background: gray;
}

JavaScript

const swiper = new Swiper('.js-slider-container');