Skip to main content

Search

Slider Component Breakdown

Overview

The dd-slider component provides a responsive carousel for images and copy with previous and next buttons as wells and dot navigation.

This component is ideal for when space is limited but there are several items to be displayed. Mostly used for images with possible copy block for descriptions or CTA functionality.

Basic Usage

Wrap slide items in a div with class dd-slider.

Preview

Slider title

    Code

    <div class="dd-slider">
      <div class="dd-slider__title">
        <h2>Slider title</h2>
      </div>
      <ul class="dd-slider__items -nostyle">
        <!-- start slide item -->
        <li class="dd-slider__item" data-id="uid_0001">
          <div class="dd-slider__content">
            <div class="dd-g">
              <!-- Start body -->
              <div class="dd-slider__body dd-u-1-1 dd-u-sm-1-1 dd-u-md-1-1 dd-u-lg-12-24 l-box">
                <div class="dd-slider__title">
                  Slide item title
                </div>
                <div class="dd-slider__copy">
                  Slide item copy block
                  <div class="dd-slider__links">
                    <div class="dd-slider__link">
                      <a href="#" class="dd-button -primary">slider Link 1</a>
                    </div>
                    <div class="dd-slider__link">
                      <a href="#" class="dd-button -ghost">slider Link 2</a>
                    </div>
                  </div>
                </div>
              </div>
              <!-- End body -->
              <!-- Start image or video -->
              <div class="dd-slider__image dd-u-1-1 dd-u-sm-1-1 dd-u-md-1-1 dd-u-lg-12-24">
                <img
                  src="https://dummyimage.com/600x400/000/fff"
                  alt="slider alt tag for image"
                />
              </div>
              <!-- End image or video -->
            </div>
          </div>
        </li>
        <!-- end slide item -->
        <!-- start slide item -->
        <li class="dd-slider__item" data-id="uid_0001">
          <div class="dd-slider__content">
            <div class="dd-g">
              <!-- Start body -->
              <div class="dd-slider__body dd-u-1-1 dd-u-sm-1-1 dd-u-md-1-1 dd-u-lg-12-24 l-box">
                <div class="dd-slider__title">
                  Slide item title
                </div>
                <div class="dd-slider__copy">
                  Slide item copy block
                  <div class="dd-slider__links">
                    <div class="dd-slider__link">
                      <a href="#" class="dd-button -primary">slider Link 1</a>
                    </div>
                    <div class="dd-slider__link">
                      <a href="#" class="dd-button -ghost">slider Link 2</a>
                    </div>
                  </div>
                </div>
              </div>
              <!-- End body -->
              <!-- Start image or video -->
              <div class="dd-slider__image dd-u-1-1 dd-u-sm-1-1 dd-u-md-1-1 dd-u-lg-12-24">
                <img
                  src="https://dummyimage.com/600x400/000/fff"
                  alt="slider alt tag for image"
                />
              </div>
              <!-- End image or video -->
            </div>
          </div>
        </li>
        <!-- end slide item -->
        <!-- start slide item -->
        <li class="dd-slider__item" data-id="uid_0001">
          <div class="dd-slider__content">
            <div class="dd-g">
              <!-- Start body -->
              <div class="dd-slider__body dd-u-1-1 dd-u-sm-1-1 dd-u-md-1-1 dd-u-lg-12-24 l-box">
                <div class="dd-slider__title">
                  Slide item title
                </div>
                <div class="dd-slider__copy">
                  Slide item copy block
                  <div class="dd-slider__links">
                    <div class="dd-slider__link">
                      <a href="#" class="dd-button -primary">slider Link 1</a>
                    </div>
                    <div class="dd-slider__link">
                      <a href="#" class="dd-button -ghost">slider Link 2</a>
                    </div>
                  </div>
                </div>
              </div>
              <!-- End body -->
              <!-- Start image or video -->
              <div class="dd-slider__image dd-u-1-1 dd-u-sm-1-1 dd-u-md-1-1 dd-u-lg-12-24">
                <img
                  src="https://dummyimage.com/600x400/000/fff"
                  alt="slider alt tag for image"
                />
              </div>
              <!-- End image or video -->
            </div>
          </div>
        </li>
        <!-- end slide item -->
      </ul>
      <div class="dd-slider__navigation">
        <button id="dd-slider__previous" class="dd-slider__previous"><span class="-scrn-reader-only">Previous slide</span> < </button>
        <ul class="dd-slider__tabs -nostyle"></ul>
        <button id="dd-slider__next" class="dd-slider__next"><span class="-scrn-reader-only">Next slide</span> > </button>
      </div>
    </div>
    

    Framework files

    • source/js/components/_dd_slider.js (styles)
    • source/scss/components/_dd_slider.scss (styles)

    For ACF/Paragraphs integration, use conditional fields to apply modifiers dynamically.

    Accessibility and Best Practices

    Ensure backgrounds provide sufficient contrast. Nest semantic elements inside. Test landmark navigation with screen readers. In CMS, make titles optional but encouraged.