Skip to content

Accordion ​

The Accordion component provides an interactive way to display and hide content sections, allowing users to expand and collapse information as needed.

Requirements ​

To use the Accordion component, add uo-nds-accordion.js to your project.

html
<script src="https://cdn.jsdelivr.net/gh/wdalhaj/uo-nds-html-assets@master/js/uo-nds-accordion.js"></script>

Example ​

html
<ul class="accordion-list" >
   <li class="accordion-list__item accordion-item accordion-item--lg">
      <a href="#" target="_blank" class="accordion-item__header">
         <div class="accordion-item__title">Vision</div>
         <div class="accordion-item__arrow material-icons">keyboard_arrow_up</div>
      </a>
      <div class="accordion-item__body" >
         <p>The accordion component delivers large amounts of content in a small space.<p/> 
      </div>
   </li>
   <li class="accordion-list__item accordion-item accordion-item--lg">
      <a href="#" target="_blank" class="accordion-item__header">
         <div class="accordion-item__title">Mission</div>
         <div class="accordion-item__arrow material-icons">keyboard_arrow_up</div>
      </a>
      <div class="accordion-item__body" > 
        <p>other content here</p>
      </div>
   </li>
   <li class="accordion-list__item accordion-item accordion-item--lg">
      <a href="#" target="_blank" class="accordion-item__header">
         <div class="accordion-item__title">Goals</div>
         <div class="accordion-item__arrow material-icons">keyboard_arrow_up</div>
      </a>
      <div class="accordion-item__body">
         <ul class="p-5">
            <li>Increase user engagement by 50% through improved UI/UX design</li>
            <li>Implement responsive design across all device types and screen sizes</li>
            <li>Reduce page load time to under 2 seconds</li>
         </ul>
      </div>
   </li>
</ul>

Preview ​

See the Pen Accordion by Ahmed Sayed (@wdalhaj) on CodePen

Features ​

  • Responsive Design: Adapts to different screen sizes
  • Dynamic Content Expansion: Easily show/hide content
  • Customizable Styling: Flexible CSS classes
  • RTL Support: Compatible with Right-to-Left languages
  • Accessible: Semantic HTML structure

CSS Classes ​

Class NameDescription
accordion-listContainer for all accordion items
accordion-list__itemIndividual accordion item wrapper
accordion-itemBase accordion item class
accordion-item--lgLarge variant of accordion item
accordion-item__headerClickable header of the accordion item
accordion-item__titleTitle text of the accordion item
accordion-item__arrowArrow icon for expanding/collapsing
accordion-item__bodyContent body of the accordion item

Variants ​

Size Variants ​

  • accordion-item--lg: Large size accordion
  • accordion-item--md: Medium size accordion
  • accordion-item--sm: Small size accordion