About this set
Sliders that show several cards at once. Product slider, four per view is a shop row with a small heading, a Shop all link and two round arrow buttons in the header, and eight product cards with a photo, an optional badge such as New or −20%, a name, a detail line and a price, including a crossed-out old price. Editorial cards with a peek shows three and a bit journal cards on a white panel, so the cut-off card tells people there is more, with arrows floating over the photos. Both use a CSS scroll-snap track, and the number of cards per view is one custom property that drops to 2.4 on tablets and about 1.3 on phones. The arrows page by a full view, not by one card, and switch to aria-disabled at either end, so keyboard focus stays on them. Each card is one link: the title’s link stretches over the whole card. The Bootstrap version uses .card, .badge, .btn and .stretched-link on the same scroll-snap row, because Bootstrap’s .carousel can only show one item at a time.
What’s included
- Four, three or any number of cards per view from one custom property
- Arrows page by a full view and dim at either end
- Whole card is clickable through a stretched title link
- Sale price with a crossed-out old price that screen readers read as "Was $15"
- Bootstrap version built from .card, .badge, .btn and .stretched-link
Accessibility
Each slider is a labelled region with aria-roledescription="carousel", each card a group labelled "3 of 8", and the arrows are named buttons such as "Next products". At the ends the arrows get aria-disabled rather than disabled, so a keyboard user does not lose focus. Links and arrows show a 3px outline on focus, the card outline follows the rounded corners, and the image zoom and button transitions stop under prefers-reduced-motion.
Customise it
Set --shelf-per, --shelf-gap, --shelf-accent and --shelf-tile on .shelf, and --jr-per, --jr-gap and --jr-img on .journal. In Tailwind the same values are the --per and --gap arbitrary properties on the section, with the colours in @theme.





