JSFiddle - React, Tailwind, and code Playground

by klierik

HTML

<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.9.0/slick-theme.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.9.0/slick-theme.min.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.9.0/slick.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.9.0/slick.min.js"></script>
<div class="slider">
    <div class="slider-for">
        <div class="item"><img src="https://picsum.photos/180/100" alt=""></div>
        <div class="item"><img src="https://picsum.photos/180/100" alt=""></div>
        <div class="item"><img src="https://picsum.photos/180/100" alt=""></div>
        <div class="item"><img src="https://picsum.photos/180/100" alt=""></div>
        <div class="item"><img src="https://picsum.photos/180/100" alt=""></div>
        <div class="item"><img src="https://picsum.photos/180/100" alt=""></div>
    </div>

    <div class="slider-nav">
        <div class="item"><img src="https://picsum.photos/64/64" alt=""></div>
        <div class="item"><img src="https://picsum.photos/64/64" alt=""></div>
        <div class="item"><img src="https://picsum.photos/64/64" alt=""></div>
        <div class="item"><img src="https://picsum.photos/64/64" alt=""></div>
        <div class="item"><img src="https://picsum.photos/64/64" alt=""></div>
    </div>
</div>

SCSS

body {
    padding: 2%;
}

.slider {
    width: 600px;
    margin: auto;
    &-for {
        .item {
            img {
                display: block;
                margin: auto;
            }
        }
    }
    &-nav {
        margin-top: 10px;
        .item {
            height: 44px;
            padding: 5px;
            border: 1px solid transparent;
            border-radius: 2px;
            img {
                display: block;
                margin: auto;
                height: 100%;
            }
        }
        .slick-current {
            .item {
                height: 64px;
                border-color: #ccc;
            }
        }
    }
}

JavaScript

$('.slider-for').slick({
    slidesToShow: 1,
    slidesToScroll: 1,
    arrows: false,
    fade: true,
    asNavFor: '.slider-nav'
});
$('.slider-nav').slick({
    slidesToShow: 3,
    slidesToScroll: 1,
    asNavFor: '.slider-for',
    dots: true,
    centerMode: true,
    focusOnSelect: true
});