In todayβs competitive eCommerce landscape, capturing customer attention is more critical than ever. A visually engaging product display can make the difference between a bounce and a sale. Enter the Circle Carousel Slider for Shopifyβa stunning, interactive, and fully customizable way to showcase your products, collections, or brand logos.
In this blog post, weβll explore:
β Why this slider is a game-changer for Shopify stores
β Key features & customization options
β SEO benefits of using an interactive carousel
β How to implement it on your store
π Why Use a Circle Carousel Slider?
1. Higher Engagement & Visual Appeal
- First, circular designs naturally draw the eye, which increases dwell time.
- Additionally, interactive hover effects encourage visitors to explore your products.
- Perfect for fashion, cosmetics, portfolios, and brand logos.
2. Mobile-Optimized & Responsive
- Auto-adjusts for perfect display on all devices (desktop, tablet, mobile).
- Different settings for mobile vs. desktop (custom sizing, arrows, and spacing).
3. Improved User Experience (UX)
- Smooth animations powered by Splide.js (lightweight and fast).
- Clean, distraction-free product presentation.
4. SEO Benefits
β
Reduced bounce rate (engaging content keeps visitors longer).
β
Increased click-through rates (CTR) on featured products.
β
Mobile-friendly design boosts Google rankings.
β¨ Key Features of the Circle Carousel Slider
1. Multiple Hover Effects
Choose from:
- 360Β° Rotate
- Shake Animation
- Zoom Effect
- Fade Transition
- Grayscale to Color
2. Fully Customizable Design
- Adjust circle size, spacing, and shadows.
- Customize overlay colors, opacity, and text styling.
- Control border width, radius, and colors.
3. Smart Content Display
- You can show or hide titles, descriptions, and buttons for each slide.
- Moreover, the CTA buttons come with hover effects to grab attention.
4. Professional Navigation
- Custom arrows (size, color, position).
- Adjustable pagination dots (active/inactive states).
π οΈ How to Add the Circle Carousel to Your Shopify Store
Step 1: Copy the Code
This slider uses Splide.js, a small and fast carousel library. You only need to copy the HTML, CSS, and JS into your Shopify theme. Itβs easy and quick to set up.
Step 2: Customize in Shopify Admin
No coding needed! Adjust settings via:
- Slide content (images, text, buttons)
- Styling (colors, animations, spacing)
- Responsive behavior (mobile vs. desktop)
Step 3: Optimize for SEO
- Add alt text to all images.
- Use descriptive slide titles (H2/H3 tags).
- Ensure fast loading (Splide.js is optimized for speed).
π Real-World Use Cases
1. Fashion & Apparel Stores
- Showcase new arrivals in a visually engaging way.
- Highlight bestsellers with shake/zoom effects.
2. Beauty & Cosmetics Brands
- Display product variants (hover to see color changes).
- Feature before/after effects with fade transitions.
3. Logo Showcases for Brands
- Rotating client logos with grayscale hover effects.
- Interactive team member displays.
π― Final Thoughts: Is This Slider Right for You?
β
Best for: Stores wanting higher engagement, better visuals, and mobile-friendly displays.
β
Great for: Product galleries, featured collections, testimonials, and portfolios.
β
SEO impact: Reduces bounce rate, improves UX, and boosts mobile rankings.
Ready to try it? Implement the Circle Carousel Slider today and watch your engagement soar!
π’ Call to Action
πΉ Want this slider for your store? Get the code here
{%- style -%}
#shopify-section-{{ section.id }} {
--circle-size: {{ section.settings.circle_size }}px;
--circle-size-mobile: {{ section.settings.circle_size_mobile }}px;
--item-spacing: {{ section.settings.item_spacing }}px;
--content-color: {{ section.settings.content_color }};
--content-bg: {{ section.settings.content_bg }};
--arrow-color: {{ section.settings.arrow_color }};
--arrow-bg: {{ section.settings.arrow_bg }};
--dot-color: {{ section.settings.dot_color }};
--dot-active-color: {{ section.settings.dot_active_color }};
--overlay-color: {{ section.settings.overlay_color }};
--overlay-opacity: {{ section.settings.overlay_opacity | divided_by: 100.0 }};
--border-radius: {{ section.settings.border_radius }}px;
--border-width: {{ section.settings.border_width }}px;
--border-color: {{ section.settings.border_color }};
--shadow-opacity: {{ section.settings.shadow_opacity | divided_by: 100.0 }};
--shadow-horizontal: {{ section.settings.shadow_horizontal }}px;
--shadow-vertical: {{ section.settings.shadow_vertical }}px;
--shadow-blur: {{ section.settings.shadow_blur }}px;
--shadow-spread: {{ section.settings.shadow_spread }}px;
--shadow-color: {{ section.settings.shadow_color }};
padding-top: {{ section.settings.padding_top }}px;
padding-bottom: {{ section.settings.padding_bottom }}px;
background-color: {{ section.settings.section_bg }};
}
.splide__slide {
display: flex;
justify-content: center;
padding: 0 var(--item-spacing);
}
.circle-slide {
position: relative;
width: var(--circle-size);
height: var(--circle-size);
border-radius: 50%;
overflow: hidden;
border: var(--border-width) solid var(--border-color);
box-shadow: var(--shadow-horizontal) var(--shadow-vertical) var(--shadow-blur) var(--shadow-spread) rgba(var(--shadow-color), var(--shadow-opacity));
transition: transform 0.3s ease;
}
.circle-slide:hover {
transform: scale(1.05);
}
.circle-slide-image {
width: 100%;
height: 100%;
object-fit: cover;
}
.circle-slide-overlay {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgba(var(--overlay-color), var(--overlay-opacity));
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
text-align: center;
color: var(--content-color);
padding: 20px;
border-radius: 50%;
}
.circle-slide-content {
background-color: var(--content-bg);
padding: 10px 15px;
border-radius: var(--border-radius);
}
/* Splide Arrows */
.splide__arrow {
width: {{ section.settings.arrow_size }}px;
height: {{ section.settings.arrow_size }}px;
background: var(--arrow-bg);
color: var(--arrow-color);
opacity: {{ section.settings.arrow_opacity | divided_by: 100.0 }};
transition: all 0.3s ease;
}
.splide__arrow:hover {
opacity: 1;
transform: scale(1.1);
}
.splide__arrow--prev {
left: {{ section.settings.arrow_offset }}px;
}
.splide__arrow--next {
right: {{ section.settings.arrow_offset }}px;
}
/* Splide Dots */
.splide__pagination {
bottom: -20px;
}
.splide__pagination__page {
width: {{ section.settings.dot_size }}px;
height: {{ section.settings.dot_size }}px;
background: var(--dot-color);
opacity: 0.5;
transition: all 0.3s ease;
}
.splide__pagination__page.is-active {
background: var(--dot-active-color);
opacity: 1;
transform: scale(1.2);
}
@media (max-width: 768px) {
.circle-slide {
width: var(--circle-size-mobile);
height: var(--circle-size-mobile);
}
.splide__arrow {
width: {{ section.settings.arrow_size_mobile }}px;
height: {{ section.settings.arrow_size_mobile }}px;
}
.splide__arrow--prev {
left: {{ section.settings.arrow_offset_mobile }}px;
}
.splide__arrow--next {
right: {{ section.settings.arrow_offset_mobile }}px;
}
}
{%- endstyle -%}
<!-- Load Splide CSS & JS from CDN -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@splidejs/splide@4.1.4/dist/css/splide.min.css">
<script src="https://cdn.jsdelivr.net/npm/@splidejs/splide@4.1.4/dist/js/splide.min.js"></script>
<div class="splide"
data-splide='{
"type": "loop",
"perPage": {{ section.settings.items_visible }},
"perMove": 1,
"gap": "{{ section.settings.item_spacing }}px",
"autoplay": {{ section.settings.autoplay }},
"interval": {{ section.settings.autoplay_speed | times: 1000 }},
"arrows": {{ section.settings.show_arrows }},
"pagination": {{ section.settings.show_dots }},
"breakpoints": {
"768": {
"perPage": {{ section.settings.items_visible_mobile }}
}
}
}'>
<div class="splide__track">
<div class="splide__list">
{% for block in section.blocks %}
<div class="splide__slide">
<div class="circle-slide">
{% if block.settings.image != blank %}
<img
class="circle-slide-image"
src="{{ block.settings.image | img_url: '800x800' }}"
alt="{{ block.settings.image.alt | escape }}"
loading="lazy">
{% else %}
{{ 'image' | placeholder_svg_tag: 'circle-slide-image' }}
{% endif %}
<div class="circle-slide-overlay">
<div class="circle-slide-content">
{% if block.settings.title != blank %}
<h3>{{ block.settings.title }}</h3>
{% endif %}
{% if block.settings.text != blank %}
<p>{{ block.settings.text }}</p>
{% endif %}
{% if block.settings.button_label != blank %}
<a href="{{ block.settings.button_link }}" class="button">{{ block.settings.button_label }}</a>
{% endif %}
</div>
</div>
</div>
</div>
{% endfor %}
</div>
</div>
</div>
<script>
document.addEventListener('DOMContentLoaded', function() {
// Initialize Splide
new Splide('.splide').mount();
// Reinitialize in theme editor
if (typeof Shopify === 'object' && Shopify.designMode) {
document.addEventListener('shopify:section:load', function(e) {
if (e.detail.sectionId === '{{ section.id }}') {
new Splide('.splide').mount();
}
});
}
});
</script>
{% schema %}
{
"name": "Circle Carousel (Splide)",
"tag": "section",
"class": "section",
"max_blocks": 12,
"settings": [
{
"type": "header",
"content": "Layout"
},
{
"type": "range",
"id": "circle_size",
"min": 100,
"max": 500,
"step": 10,
"unit": "px",
"label": "Circle Size (Desktop)",
"default": 300
},
{
"type": "range",
"id": "circle_size_mobile",
"min": 80,
"max": 300,
"step": 10,
"unit": "px",
"label": "Circle Size (Mobile)",
"default": 180
},
{
"type": "range",
"id": "items_visible",
"min": 1,
"max": 5,
"step": 0.1,
"label": "Items Visible (Desktop)",
"default": 3.5
},
{
"type": "range",
"id": "items_visible_mobile",
"min": 1,
"max": 3,
"step": 0.1,
"label": "Items Visible (Mobile)",
"default": 1.3
},
{
"type": "range",
"id": "item_spacing",
"min": 0,
"max": 50,
"step": 1,
"unit": "px",
"label": "Item Spacing",
"default": 20
},
{
"type": "header",
"content": "Carousel Settings"
},
{
"type": "checkbox",
"id": "autoplay",
"label": "Auto-rotate",
"default": true
},
{
"type": "range",
"id": "autoplay_speed",
"min": 1,
"max": 10,
"step": 1,
"unit": "s",
"label": "Autoplay Speed",
"default": 5
},
{
"type": "checkbox",
"id": "show_arrows",
"label": "Show Arrows",
"default": true
},
{
"type": "checkbox",
"id": "show_dots",
"label": "Show Dots",
"default": true
},
{
"type": "header",
"content": "Arrow Settings"
},
{
"type": "range",
"id": "arrow_size",
"min": 20,
"max": 60,
"step": 2,
"unit": "px",
"label": "Arrow Size (Desktop)",
"default": 40
},
{
"type": "range",
"id": "arrow_size_mobile",
"min": 20,
"max": 40,
"step": 2,
"unit": "px",
"label": "Arrow Size (Mobile)",
"default": 30
},
{
"type": "range",
"id": "arrow_offset",
"min": 20,
"max": 100,
"step": 5,
"unit": "px",
"label": "Arrow Offset (Desktop)",
"default": 50
},
{
"type": "range",
"id": "arrow_offset_mobile",
"min": 10,
"max": 60,
"step": 5,
"unit": "px",
"label": "Arrow Offset (Mobile)",
"default": 30
},
{
"type": "range",
"id": "arrow_opacity",
"min": 10,
"max": 100,
"step": 5,
"unit": "%",
"label": "Arrow Opacity",
"default": 80
},
{
"type": "color",
"id": "arrow_color",
"label": "Arrow Color",
"default": "#000000"
},
{
"type": "color",
"id": "arrow_bg",
"label": "Arrow Background",
"default": "#ffffff"
},
{
"type": "header",
"content": "Dot Settings"
},
{
"type": "range",
"id": "dot_size",
"min": 4,
"max": 20,
"step": 1,
"unit": "px",
"label": "Dot Size",
"default": 8
},
{
"type": "color",
"id": "dot_color",
"label": "Dot Color",
"default": "#cccccc"
},
{
"type": "color",
"id": "dot_active_color",
"label": "Active Dot Color",
"default": "#000000"
}
],
"blocks": [
{
"type": "slide",
"name": "Slide",
"settings": [
{
"type": "image_picker",
"id": "image",
"label": "Image",
"info": "Recommended: 800x800px (Square)"
},
{
"type": "text",
"id": "title",
"label": "Title",
"default": "Collection"
},
{
"type": "text",
"id": "text",
"label": "Description",
"default": "Shop now"
},
{
"type": "text",
"id": "button_label",
"label": "Button Label",
"default": "View All"
},
{
"type": "url",
"id": "button_link",
"label": "Button Link"
}
]
}
],
"presets": [
{
"name": "Circle Carousel (Splide)",
"blocks": [
{
"type": "slide",
"settings": {
"title": "New Arrivals"
}
},
{
"type": "slide",
"settings": {
"title": "Bestsellers"
}
},
{
"type": "slide",
"settings": {
"title": "On Sale"
}
}
]
}
]
}
{% endschema %}
πΉ Need help installing? Contact our Shopify experts
πΉ Have questions? Drop them in the comments!