Page Title

Step Menu Demo

Interactive demonstration of a step-by-step navigation menu with clickable progress tracking and modern styling.

Step Navigation Menu

  • Disclosures Signed
  • Submitted to Processing
  • UW Submitted
  • Conditional Approval
  • Conditions Submitted
  • CTC
  • Closing Package Sent
  • Funding Conditions
  • Closed

Additional Progress Bar Example

  • New
  • Contacted
  • Application Completed
  • Documents
  • TBD Approval
  • Pre Approved
  • Submitted to Processing

HTML & CSS Code

HTML Structure:

<div class="container">
  <ul class="step-progress">
    <li class="complete">Disclosures Signed</li>
    <li class="complete">Submitted to Processing</li>
    <li class="complete">UW Submitted</li>
    <li class="current">Conditional Approval</li>
    <li>Conditions Submitted</li>
    <li>CTC</li>
    <li>Closing Package Sent</li>
    <li>Funding Conditions</li>
    <li>Closed</li>
  </ul>
</div>

CSS Styles:

/* Add padding to the container to make room for the glow */
.container {
  width: 100%;
  padding: 5px; /* This creates space for the glow */
}

.step-progress {
  list-style: none;
  display: flex; /* Lays out the steps horizontally */
  padding: 0;
  margin: 0;
}

.step-progress li {
  /* Core Styling */
  flex: 1; /* Each step takes up equal space */
  height: 41px;
  color: #fff;
  position: relative;
  font-weight: bold;
  font-size: 11px;

  /* Centering the text */
  display: flex;
  justify-content: center;
  align-items: center;

  /* Changes for text wrapping */
  padding: 15px 25px;
  word-break: break-word;

  /* The clip-path creates the chevron shape */
  clip-path: polygon(0% 0%, calc(100% - 22px) 0%, 100% 50%, calc(100% - 22px) 100%, 0% 100%, 22px 50%);

  /* Default background for incomplete steps */
  background: #676c7c;
}

/* Overlap the items to create the connected look */
.step-progress li:not(:first-child) {
  margin-left: -16px; /* Creates the 3px gap */
}

/* Style for completed steps */
.step-progress li.complete {
  background: linear-gradient(to right, #479fea, #9bebfb);
  color: #000;
}

/* Glow effect for current step */
.step-progress li.current {
  background: linear-gradient(to right, #479fea, #9bebfb);
  color: #000;
  z-index: 10;
  filter: drop-shadow(0 0 20px rgba(112, 194, 245, 0.8))
}

/* Adjust the first step to have a flat left side */
.step-progress li:first-child {
  clip-path: polygon(0% 0%, calc(100% - 22px) 0%, 100% 50%, calc(100% - 22px) 100%, 0% 100%);
  border-top-left-radius: 8px;
  border-bottom-left-radius: 8px;
}

/* Adjust the last step to have a flat right side */
.step-progress li:last-child {
  clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%, 22px 50%);
  border-top-right-radius: 8px;
  border-bottom-right-radius: 8px;
}

JavaScript:

$('.step-menu li').click(function(){
  $('.current').removeClass('current')
  $('.complete').removeClass('complete')
  $(this).addClass('current')
  $(this).prevAll().addClass('complete')
})

Usage Information

The step menu is an interactive navigation component that displays progress through a series of steps with clickable functionality and visual state indicators.

Key Features:

  • Clickable step items with interactive state management
  • Visual indicators for completed, current, and pending steps
  • Uses CSS pseudo-elements to create arrow connectors between steps
  • Z-index layering for proper visual stacking
  • Responsive design with customizable colors and spacing