5.1 KiB
5.1 KiB
Product Slider Component
Contents
- Overview
- When to Use Product Sliders
- Slider Patterns
- Product Display
- Navigation Controls
- Mobile Sliders
- Performance
- Checklist
Overview
Product slider (carousel) displays multiple products horizontally with navigation to scroll through them. Used for related products, recently viewed, bestsellers, and featured products.
Assumed knowledge: AI agents know how to build carousels with navigation. This focuses on ecommerce product slider patterns.
Key requirements:
- Horizontal scrolling of product cards
- Arrow navigation (prev/next)
- Optional dot indicators
- Mobile: Swipe gesture support
- Responsive product count (4-6 visible desktop, 2-3 mobile)
- Lazy loading for off-screen products
When to Use Product Sliders
Use for:
- Related products (product page)
- Recently viewed (product page, homepage)
- "You May Also Like" (product page)
- Bestsellers / Featured products (homepage)
- "Frequently Bought Together" (product page)
- New arrivals (homepage)
- Category showcases (homepage)
Don't use for:
- Main product images (use gallery instead)
- Critical content (not all users scroll/swipe)
- Checkout flow (keep linear)
- Primary navigation (use grid for discoverability)
Slider Patterns
Continuous scroll:
- Shows 4-6 products at once (desktop)
- Scroll left/right by 1-2 products at a time
- Smooth animated transition (300-400ms)
- Most common pattern
Infinite loop (optional):
- Wraps to beginning after end
- Good for small product sets (<10 items)
- Creates continuous browsing feel
- Not necessary for large sets
Snap to alignment:
- Products snap to grid after scroll
- Prevents partial product visibility
- Better visual alignment
- Improves browsing experience
Auto-play (NOT recommended for products):
- Automatic scrolling without user action
- Poor UX for product sliders (users lose control)
- Only use for promotional banners/hero images
- If using: Pause on hover, slow speed (5-7s)
Product Display
Product cards in sliders:
- Same cards as product grids (see product-card.md)
- Simplified on mobile (less detail, smaller images)
- Image, title, price minimum
- Optional: Rating, "Add to Cart" (desktop only)
- Adequate spacing between cards (16-24px)
Responsive display:
- Large desktop (>1440px): 5-6 products visible
- Desktop (1024-1440px): 4-5 products
- Tablet (768-1024px): 3-4 products
- Mobile (<768px): 2 products (sometimes 1.5 for scroll hint)
Scroll hint on mobile:
- Show 1.5 products (partial visibility of next)
- Indicates more content to swipe
- Improves discoverability
- Better than showing exact 2 products
Navigation Controls
Arrow buttons:
- Left/right arrows outside slider
- Desktop: Always visible or show on hover
- Mobile: Hidden (swipe gesture preferred)
- Position: Vertically centered
- Size: 40-48px touch targets
- Disable left arrow at start, right arrow at end (no infinite loop)
Dot indicators (optional):
- Show progress through slider
- Each dot = one "page" of products
- Position: Below slider, centered
- Small (8-12px dots)
- Only if many products (>12)
- Less common for product sliders (more for hero carousels)
Keyboard navigation:
- Tab through visible product cards
- Arrow keys scroll slider (optional)
- Focus management on scroll
Mobile Sliders
Touch gestures:
- Horizontal swipe to scroll
- Native scroll momentum
- Snap to product alignment
- No arrow buttons (swipe is intuitive)
Mobile-specific adjustments:
- 2 products visible (or 1.5 for hint)
- Larger touch targets on products
- Remove hover-only features (Quick View)
- Faster scroll animations (200-300ms)
Performance on mobile:
- Lazy load off-screen products
- Smaller image sizes
- Limit initial products loaded (8-10)
- Load more on scroll
Performance
Lazy loading (critical):
- Only load visible products initially
- Load adjacent products (left/right) on demand
- Significantly improves page load time
- Use Intersection Observer API
Image optimization:
- Responsive images (smaller for mobile)
- WebP format with fallback
- Lazy load off-screen images
- Optimized thumbnails (<300KB)
Limit slider length:
- Max 20-30 products per slider
- "View All" link to full category page
- Improves performance
- Prevents endless scrolling
Checklist
Essential features:
- 4-6 products visible (desktop), 2 (mobile)
- Arrow navigation (desktop)
- Swipe gesture (mobile)
- Product cards with image, title, price
- Responsive product count
- Smooth scroll transitions (300-400ms)
- Snap to product alignment
- Lazy load off-screen products
- "View All" link if many products (>20)
- Disable arrows at start/end
- Keyboard accessible (Tab through products)
- Mobile: No arrows, swipe only
- Optimized images (<300KB)
- Spacing between products (16-24px)
- ARIA labels on navigation (
aria-label="Previous products") role="region"on slider container- NO auto-play for product sliders