Components general

Carousel

A professional carousel/slider component that automatically rotates slides, provides navigation controls, and supports customizable transition effects. It can display images, text overlays, and call‑to‑action buttons, making it suitable for any site type.

Updated Feb 19, 2026

Carousel

A professional carousel/slider component that automatically rotates slides, provides navigation controls, and supports customizable transition effects. It can display images, text overlays, and call‑to‑action buttons, making it suitable for any site type.

Use Cases

  • Hero banners (rotating messages, multiple value propositions)
  • Featured products (e-commerce highlights, new arrivals, bestsellers)
  • Testimonials (customer quotes, reviews, success stories)
  • Image showcases (portfolio highlights, before/after, property tours)
  • Promotional content (sales announcements, special offers, events)
  • Case studies (project highlights, client work, success stories)
  • Team spotlights (employee features, department highlights)
  • News/announcements (updates, blog highlights, press mentions)
  • Service features (multi‑step explanations, benefit highlights)
  • Event galleries (conference photos, wedding moments, celebrations)

Properties

slides

Array of slide objects. Each slide contains an image, optional title, description, and CTA button. Type: array. Required.

Tip: Count – 3‑5 slides optimal; more than 7 reduces effectiveness. Images – use landscape‑oriented images (16:9 or 3:2) at 1200px+ width. Text – ensure contrast; component adds a dark overlay. Consistency – keep slide structure consistent (all with buttons, or none with buttons).

autoplay

Whether slides automatically rotate. Pauses on user interaction. Type: boolean. Default: true.

Visual impact: true – Slides advance automatically every autoplayDelay milliseconds. Professional and engaging. false – Slides remain static until user clicks navigation. More user‑controlled.

Tip: hero‑carousels – use true for dynamic, attention‑grabbing hero sections. testimonials – use true for rotating customer quotes. detail‑heavy – use false when slides contain important info users should read at their own pace.

autoplayDelay

Time in milliseconds between automatic slide changes (when autoplay is enabled). Type: number. Default: 5000.

Visual impact: 3000‑4000 – Fast rotation, dynamic feel; suitable for simple images/short text. 5000‑6000 – Balanced timing (recommended default); comfortable reading time. 7000‑8000 – Slow rotation, contemplative feel; suitable for detailed content.

Tip: default – 5000ms (5 seconds) works well for most content. text‑heavy – use 7000‑8000ms for slides with longer descriptions. image‑focused – use 4000‑5000ms for visual‑only slides.

showNavigation

Whether to show previous/next arrow buttons on hover. Type: boolean. Default: true.

Visual impact: true – Shows circular arrow buttons on left/right sides (visible on hover). Professional standard. false – No arrow buttons; users rely on pagination dots or autoplay.

Tip: default – use true for best UX; arrows are standard carousel UI. minimal – use false only for purely decorative carousels where user control isn’t critical.

showPagination

Whether to show dot indicators at bottom of carousel. Type: boolean. Default: true.

Visual impact: true – Shows dots at bottom indicating total slides and current position. Clickable for direct slide access. false – No dot indicators; less visual clutter but users can’t see slide count/position.

Tip: default – use true. Pagination dots are UX best practice for carousels. many‑slides – especially important when you have 4+ slides (shows progress).

effect

Transition animation between slides. Type: string. Options: slide, fade. Default: slide.

Visual impact: slide – Slides horizontally across the screen. Classic carousel feel; more dynamic. fade – Crossfades between slides. Smooth, elegant; more sophisticated.

Tip: default – use ‘slide’ for general‑purpose carousels. premium – use ‘fade’ for luxury/premium brands or sophisticated feel. testimonials – use ‘fade’ for testimonial carousels (less distracting).

loop

Whether carousel loops back to first slide after last slide (continuous rotation). Type: boolean. Default: true.

Visual impact: true – After last slide, loops back to first slide. Infinite rotation. false – After last slide, stops (or requires manual navigation back to start).

Tip: autoplay – use true when autoplay is enabled for continuous rotation. manual – use false when users manually control slides and looping feels awkward.

customCss

Custom CSS styles for advanced styling. Parsed as CSS property‑value pairs. Applies to outermost Section container. Type: string.

Tip: Use standard CSS syntax, e.g., border-radius: 16px; box-shadow: 0 8px 24px rgba(0,0,0,0.12);. Security note: parsed by cssParser utility; tenants only affect their own pages (multi‑tenant isolation enforced).

Best Practices

  • Use 3‑5 slides for optimal user experience (too many = users won’t see all)
  • Keep autoplay delay at 5000ms (5 seconds) for comfortable reading time
  • Always include navigation arrows AND pagination dots for user control
  • Use high‑quality, landscape‑oriented images (1200px+ width recommended)
  • Keep slide titles concise (5‑8 words) and descriptions to 2‑3 sentences
  • Include CTA buttons only when actionable (don’t force buttons on every slide)
  • Use ‘slide’ effect for general content, ‘fade’ for elegant transitions
  • Enable loop for continuous rotation (especially with autoplay)
  • Use search_unsplash for professional, contextually relevant slide images

Common Mistakes

Using too many slides (8+ slides)

Why it's a problem: Users won’t see all slides. Carousel effectiveness drops dramatically after 5‑6 slides.

Fix: Limit to 3‑5 slides. If you have more content, use multiple carousels or a different component.

Setting autoplayDelay too short (<3000ms)

Why it's a problem: Users can’t read slide content before it changes. Creates frustration and poor UX.

Fix: Use minimum 5000ms (5 seconds) for slides with text. 7000ms for detailed content.

Not using search_unsplash for slide images

Why it's a problem: Without real image URLs, carousel shows broken images.

Fix: Call search_unsplash for EACH slide with relevant queries. Use EXACT URLs returned.

Inconsistent slide structure (some with buttons, some without)

Why it's a problem: Creates visual inconsistency. Users don’t know which slides are actionable.

Fix: Either all slides have buttons, or none do. Be consistent.

Using low-resolution or portrait images

Why it's a problem: Carousel is full‑width and 500px tall. Portrait images get cropped awkwardly. Low‑res looks unprofessional.

Fix: Use landscape images (16:9 or 3:2 aspect ratio) at 1200px+ width from Unsplash.

Putting critical information only in carousel

Why it's a problem: Not all users will see all slides (especially without autoplay). Critical info gets missed.

Fix: Use carousel for highlights/features. Put critical info in static sections.

Disabling both navigation and pagination (showNavigation: false, showPagination: false)

Why it's a problem: Users have no way to control the carousel manually. Bad UX.

Fix: Always enable at least one control method. Default: both enabled.

Tags

carousel interactive-content hero banners featured products testimonials customer

Related Components

Ready to build?

Start creating your app for free with Qödiak.

Get Started Free