Overlay badge
Injects a badge in the top-right corner of the slider showing the current position. No extra HTML — the plugin creates and updates it automatically.
View code
<div class="c--slider-a" id="my-slider">
<div class="c--slider-a__wrapper">
<div class="c--slider-a__slide">1</div>
<div class="c--slider-a__slide">2</div>
<div class="c--slider-a__slide">3</div>
<div class="c--slider-a__slide">4</div>
<div class="c--slider-a__slide">5</div>
</div>
</div> .c--slider-a { position: relative; width: 100%; overflow: hidden; }
.c--slider-a__wrapper { display: flex; will-change: transform; }
.c--slider-a__slide { flex-shrink: 0; width: 100%; height: 260px; }
/* Counter badge — injected by the plugin */
.c--slider-a__counter {
position: absolute;
top: 12px; right: 12px;
background: rgba(0,0,0,0.45);
color: #fff;
padding: 3px 10px;
border-radius: 99px;
font-size: 0.8rem;
font-variant-numeric: tabular-nums;
z-index: 10;
} .c--slider-a {
position: relative;
width: 100%;
overflow: hidden;
&__wrapper {
display: flex;
will-change: transform;
}
&__slide {
flex-shrink: 0;
width: 100%;
height: 260px;
}
&__counter {
position: absolute;
top: 12px;
right: 12px;
background: rgba(0,0,0,0.45);
color: #fff;
padding: 3px 10px;
border-radius: 99px;
font-size: 0.8rem;
font-variant-numeric: tabular-nums;
z-index: 10;
}
} import { Slider } from '@andresclua/sliderkit'
import { arrows, slideCounter } from '@andresclua/sliderkit-plugins'
new Slider('#my-slider', {
loop: true,
plugins: [
arrows(),
slideCounter(), // renders "2 / 5" in the top-right corner
],
}) Counter with multiple slides per page
With slidesPerPage: 2 the counter tracks pages, not individual slides — it shows '1 / 3', '2 / 3', '3 / 3'. Useful for grid carousels where the concept of 'current slide' is a page.
View code
<div class="c--slider-a" id="my-slider">
<div class="c--slider-a__wrapper">
<div class="c--slider-a__slide">1</div>
<div class="c--slider-a__slide">2</div>
<div class="c--slider-a__slide">3</div>
<div class="c--slider-a__slide">4</div>
<div class="c--slider-a__slide">5</div>
<div class="c--slider-a__slide">6</div>
</div>
</div> .c--slider-a { position: relative; width: 100%; overflow: hidden; }
.c--slider-a__wrapper { display: flex; will-change: transform; }
.c--slider-a__slide { flex-shrink: 0; height: 260px; }
.c--slider-a__counter {
position: absolute; top: 12px; right: 12px;
background: rgba(0,0,0,0.45); color: #fff;
padding: 3px 10px; border-radius: 99px;
font-size: 0.8rem; font-variant-numeric: tabular-nums; z-index: 10;
} .c--slider-a {
position: relative;
width: 100%;
overflow: hidden;
&__wrapper {
display: flex;
will-change: transform;
}
&__slide {
flex-shrink: 0;
height: 260px;
}
&__counter {
position: absolute;
top: 12px;
right: 12px;
background: rgba(0,0,0,0.45);
color: #fff;
padding: 3px 10px;
border-radius: 99px;
font-size: 0.8rem;
font-variant-numeric: tabular-nums;
z-index: 10;
}
} import { Slider } from '@andresclua/sliderkit'
import { arrows, slideCounter } from '@andresclua/sliderkit-plugins'
new Slider('#my-slider', {
slidesPerPage: 2,
gutter: 12,
loop: false,
rewind: true,
plugins: [
arrows(),
slideCounter(), // shows page index: "1 / 3"
],
}) Custom counter style
The counter element gets the class c--slider-a__counter — override it freely in CSS. Here it's repositioned to the bottom-left with a brand colour background, matching a hero banner design.
View code
<div class="c--slider-a" id="my-slider">
<div class="c--slider-a__wrapper">
<div class="c--slider-a__slide">1</div>
<div class="c--slider-a__slide">2</div>
<div class="c--slider-a__slide">3</div>
<div class="c--slider-a__slide">4</div>
<div class="c--slider-a__slide">5</div>
</div>
</div> .c--slider-a { position: relative; width: 100%; overflow: hidden; }
.c--slider-a__wrapper { display: flex; will-change: transform; }
.c--slider-a__slide { flex-shrink: 0; width: 100%; height: 260px; }
/* Reposition and restyle */
.c--slider-a__counter {
position: absolute;
bottom: 14px; left: 14px; /* bottom-left */
top: auto; right: auto;
background: #6C2BD9;
color: #fff;
padding: 4px 14px;
border-radius: 6px;
font-size: 0.95rem;
font-weight: 700;
font-variant-numeric: tabular-nums;
z-index: 10;
letter-spacing: 0.04em;
} .c--slider-a {
position: relative;
width: 100%;
overflow: hidden;
&__wrapper {
display: flex;
will-change: transform;
}
&__slide {
flex-shrink: 0;
width: 100%;
height: 260px;
}
&__counter {
position: absolute;
bottom: 14px;
left: 14px;
top: auto;
right: auto;
background: #6C2BD9;
color: #fff;
padding: 4px 14px;
border-radius: 6px;
font-size: 0.95rem;
font-weight: 700;
font-variant-numeric: tabular-nums;
z-index: 10;
letter-spacing: 0.04em;
}
} import { Slider } from '@andresclua/sliderkit'
import { arrows, slideCounter } from '@andresclua/sliderkit-plugins'
new Slider('#my-slider', {
loop: true,
plugins: [arrows(), slideCounter()],
})