JSFiddle - React, Tailwind, and code Playground
by joshmoto
HTML
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.2.1/css/bootstrap.min.css">
<link rel="stylesheet" href="//cdn.jsdelivr.net/npm/[email protected]/slick/slick.css">
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
<script src="//cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.0/umd/popper.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.2.1/js/bootstrap.min.js"></script>
<script src="//cdn.jsdelivr.net/npm/[email protected]/slick/slick.min.js"></script>
<script src="https://fonts.googleapis.com/css?family=Inconsolata"></script>
<header>
<nav class="navbar navbar-expand-md navbar-dark bg-dark">
<a class="navbar-brand mr-auto" href="#">Slick in Bootstrap 4</a>
<a class="nav-link d-none d-sm-inline" href="http://kenwheeler.github.io/slick/" target="_blank">Slick Github</a>
<span id="breakpoint-helper" class="nav-link text-muted">Breakpoint </span>
</nav>
</header>
<main class="pt-3 pb-3">
<div class="container">
<div id="slick">
<div class="slide">
<div class="card">
<div class="card-body">
<h5 class="card-title">Article title 1</h5>
<p class="card-text">Ut sed ligula vel felis vulputate lobortis id eget mauris. Nullam sollicitudin arcu ac diam ornare, eget iaculis nisl accumsan.</p>
<a href="#" class="btn btn-primary">Go somewhere</a>
</div>
</div>
</div>
<div class="slide">
<div class="card">
<div class="card-body">
<h5 class="card-title">Article title 2</h5>
<p class="card-text">Ut sed ligula vel felis vulputate lobortis id eget mauris. Nullam sollicitudin arcu ac diam ornare, eget iaculis nisl accumsan.</p>
<a...
SCSS
#slick {
.slick-list {
margin: {
left: -15px;
right: -15px;
}
}
.slick-slide {
padding-right: 15px;
padding-left: 15px;
&:focus {
outline: none;
}
}
}
// bootstrap break points for helper below
$breakpoints: (
// Small screen / phone
'sm': 576px,
// Medium screen / tablet
'md': 768px,
// Large screen / desktop
'lg': 992px,
// Extra large screen / wide desktop
'xl': 1200px
);
// helper in navbar to show breakpoint size
#breakpoint-helper {
&:after {
color: #fff;
text-transform: uppercase;
content: 'XS';
@each $size, $px in $breakpoints {
@media (min-width: $px ) {
content: $size;
}
}
}
}
JavaScript
let device = get_device();
let d = 1;
if(device === 'ipad-pro') {
d = 2;
}
let breakpoint = {
sm: 576
};
$('#slick').slick({
mobileFirst: true,
slidesToShow: 1,
slidesToScroll: 1,
responsive: [
{
breakpoint: breakpoint.sm,
settings: {
slidesToShow: 2 / d,
slidesToScroll: 2
}
}
]
});