JSFiddle - React, Tailwind, and code Playground
HTML
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.8.1/slick.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.8.1/slick.min.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.8.1/slick-theme.min.css">
<div class="slick-carousel"></div>
SCSS
body {
margin: 0;
}
.slick-slide {
height: 200px;
}
.slick-dots {
position: absolute;
list-style: none;
display: block;
text-align: center;
padding: 0px;
width: 100%;
li {
position: relative;
display: inline-block;
margin: 0px 5px;
padding: 0px;
cursor: pointer;
button {
border-radius: 10px;
border: 5px solid red;
display: inline-flex;
color: red;
justify-content: center;
align-items: center;
width: 30px;
height: 30px;
font-size: 16px;
&::before {
content: none;
}
}
&.slick-active button {
background: red;
color: white;
font-weight: bold;
}
}
}
JavaScript
$('.slick-carousel')
.html([ 'red', 'blue', 'yellow', 'green', 'silver', 'magenta', 'aqua' ]
.map(n => `<div style="background: ${n}"></div>`)
.join(''))
.slick({
dots: true,
slidesToShow: 3,
arrows: false,
infinite: true,
});