Have you ever wondered how companies like Nike and Apple create those super smooth, touch-friendly carousels on their websites? These carousels feel amazing on both desktop and mobile devices, snapping cleanly as you scroll.
While many assume they rely on heavy JavaScript libraries, you can actually achieve a similar effect with just a few lines of pure CSS—thanks to the scroll-snap property. In this blog, we’ll break down how to build one, with an optional JavaScript enhancement for added interactivity.
Nagpur is a growing hub for IT education, and web development training in Nagpur is in high demand. At Webgurukul, we offer:
Industry-Relevant Skills: Learn modern techniques like CSS scroll-snap for carousels.
100% Placement Assistance: Our graduates secure jobs at top IT firms.
Affordable Courses: Get world-class training at budget-friendly prices.
Ready to master web development? Let’s dive into creating a touch-friendly carousel with CSS!
The foundation of a smooth carousel is a clean HTML structure. We’ll use an unordered list where each item represents a carousel slide.
<ul class="carousel">
<li class="item">Slide 1</li>
<li class="item">Slide 2</li>
<li class="item">Slide 3</li>
<li class="item">Slide 4</li>
</ul>
This simple setup is perfect for beginners learning web development tutorials at Webgurukul.
The secret to a Nike or Apple-like carousel lies in CSS scroll-snap properties. These ensure the carousel snaps to each slide as you scroll.
.carousel {
display: flex;
overflow-x: auto;
scroll-snap-type: x mandatory;
scroll-padding: 0 24px;
gap: 12px;
padding: 12px 0;
}
scroll-snap-type: x mandatory: Forces the carousel to snap to one slide at a time.
scroll-padding: 0 24px: Adds padding for a polished look, keeping slides away from the edges.
This technique is part of our website development course in Nagpur, where you’ll master CSS for real-world projects.
Next, style each slide to control its appearance and snapping behavior.
.carousel .item {
scroll-snap-align: start;
flex: 0 0 220px;
height: 160px;
background-color: #007bff;
color: white;
display: flex;
align-items: center;
justify-content: center;
border-radius: 8px;
}
scroll-snap-align: start: Aligns each slide’s left edge to the container’s start.
flex: 0 0 220px: Sets a fixed width for consistency across devices.
Experiment with center or end for different snapping effects, a topic we cover in our web development classes in Nagpur.
For added functionality, like navigation buttons, use JavaScript’s scrollIntoView() method to smoothly scroll to specific slides.
<div class="controls">
<button onclick="scrollToItem(0)">Slide 1</button>
<button onclick="scrollToItem(1)">Slide 2</button>
<button onclick="scrollToItem(2)">Slide 3</button>
<button onclick="scrollToItem(3)">Slide 4</button>
</div>
<script>
function scrollToItem(index) {
const items = document.querySelectorAll('.carousel .item');
items[index].scrollIntoView({ behavior: 'smooth', inline: 'start' });
}
</script>
This code adds a professional touch, similar to what you’ll learn in Webgurukul’s web development course in Nagpur.
As of 2025, CSS scroll-snap enjoys robust browser support:
Browser | Version |
Chrome | 69+ |
Edge | 79+ |
Firefox | 68+ |
Safari | 11+ |
Opera | 56+ |
For older browsers, the carousel falls back to regular scrolling, ensuring accessibility. Learn more about cross-browser compatibility in our best IT training institute in Nagpur.
While our pure CSS approach is lightweight, Nike and Apple often use libraries like SwiperJS for advanced features (as noted in Reddit discussions). However, CSS scroll-snap offers a native, touch-friendly carousel experience without heavy dependencies, making it ideal for performance-focused developers. At Webgurukul, we teach both approaches in our web design courses in Nagpur.
With just a few lines of CSS and optional JavaScript, you can create a smooth CSS carousel that rivals industry leaders like Nike and Apple. Ready to take your skills further? Join Webgurukul’s web development course in Nagpur to master modern web design techniques, from carousels to responsive layouts, with 100% placement support. Enroll today or book a free demo class at Webgurukul Nagpur!
Thank you!
Anushree is a highly proficient Laravel Specialist with over a year of hands-on experience in developing and optimizing web applications. Throughout her career, she has demonstrated exceptional expertise in building robust, scalable solutions using Laravel, PHP, MySQL, and modern front-end technologies. Her experience spans the full software development lifecycle, from conceptualization and design to deployment and maintenance. She has successfully led and contributed to various projects, consistently delivering high-quality code and implementing best practices. Her deep understanding of Laravel, coupled with her ability to solve complex problems, makes her an invaluable asset in any development team.
Code Your Way to Success!
Join us and take your first step towards the IT industry.