I need to create a slider like this:
Active slide is wider then others (not bigger! transform: scale is not suitable here). I used swiper, glidejs but didn't get a result. I want the active slide in the middle always to be wider than the rest.
Here is my bad expierence in codepen
const cardsGlide = new Glide('.my-slider', {
type: 'slider',
perView: 3,
rewind: false,
focusAt: 'center',
startAt: '1',
gap: 18,
}).mount();
.my-slider .glide__slide {
border: 1px solid black;
height: 200px;
max-width: 150px;
}
.my-slider .glide__slide.glide__slide--active {
max-width: calc(100vw - 360px);
flex-grow: 1;
}
.card-red {
background: lightPink;
height: 100%;
}
.card-blue {
background: lightBlue;
height: 100%;
}
.card-green {
background: lightGreen;
height: 100%;
}
<link href="https://cdnjs.cloudflare.com/ajax/libs/Glide.js/3.2.0/css/glide.theme.css" rel="stylesheet"/>
<link href="https://cdnjs.cloudflare.com/ajax/libs/Glide.js/3.2.0/css/glide.core.css" rel="stylesheet"/>
<script src="https://cdnjs.cloudflare.com/ajax/libs/Glide.js/3.2.0/glide.js"></script>
<div class="my-slider glide">
<div class="glide__track" data-glide-el="track">
<ul class="glide__slides">
<li class="glide__slide main">
<div class="card-red"></div>
</li>
<li class="glide__slide">
<div class="card-blue"></div>
</li>
<li class="glide__slide">
<div class="card-green"></div>
</li>
<li class="glide__slide">
<div class="card-red"></div>
</li>
<li class="glide__slide">
<div class="card-blue"></div>
</li>
</ul>
</div>
<!-- <div class="glide__arrows" data-glide-el="controls">
<button class="glide__arrow glide__arrow--prev" data-glide-dir="<">prev</button>
<button class="glide__arrow glide__arrow--next" data-glide-dir=">">next</button>
</div> -->
</div>