Skip to main content


Show more

Foundation CSS Smooth Scroll

Foundation CSS Smooth Scroll

The Foundation CSS Smooth Scroll component allows you to create smooth scrolling effects when navigating to anchor links within a web page. This enhances the user experience by providing a seamless transition between sections of content.

1. Basic Usage

To enable smooth scrolling for anchor links, add the data-smooth-scroll attribute to the <a> elements with the href pointing to the target section within the same page.

Example markup for basic usage:

<a href="#section1" data-smooth-scroll>Section 1</a>
<a href="#section2" data-smooth-scroll>Section 2</a>
<div id="section1">
  <p>Section 1 Content</p>
<div id="section2">
  <p>Section 2 Content</p>

In this example, clicking on the anchor links will smoothly scroll the page to the corresponding sections with IDs section1 and section2.

2. Customization

The Smooth Scroll component allows for customization of scroll behavior, such as animation duration, easing effects, and offset adjustments. These options can be configured using data attributes or JavaScript initialization.

Example markup with customization options:

<a href="#section1" data-smooth-scroll data-options="duration: 1000, easing: easeInOutQuad, offset: 50">Section 1</a>
<div id="section1">
  <p>Section 1 Content</p>

In this example, the smooth scroll behavior is customized with a duration of 1000 milliseconds, easing function set to easeInOutQuad, and an offset of 50 pixels from the target section.

3. JavaScript Initialization

If you prefer to initialize smooth scrolling programmatically using JavaScript, you can use the Foundation.SmoothScroll plugin. This allows for more advanced customization and dynamic control over scroll behavior.

Example JavaScript initialization:

import { SmoothScroll } from 'foundation-smooth-scroll';

// Initialize smooth scrolling with custom options
const smoothScroll = new SmoothScroll('[data-smooth-scroll]', {
  duration: 1000,
  easing: 'easeInOutQuad',
  offset: 50

In this example, smooth scrolling is initialized with the same customization options as described earlier.


The Foundation CSS Smooth Scroll component offers a convenient way to implement smooth scrolling effects for anchor links within web pages. Whether you're creating a single-page website or enhancing navigation within a multi-page site, smooth scrolling enhances the user experience and provides a polished feel to your web content.