HTML Layouts

Preview Source code Open standalone

Set width: full 320 480 640 768 1024 1920 custom

Source code

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Timeline / Vertical Steps Layout</title>
  <style>
    body {
      font-family: Arial, sans-serif;
      margin: 0;
      padding: 2rem;
      background: #bde;
    }
    .timeline {
      max-width: 600px;
      margin: 0 auto;
      position: relative;
    }
    .timeline-step {
      position: relative;
      padding-bottom: 2rem;
      padding-left: 2rem;
    }
    .timeline-step:last-child {
      margin-bottom: 0;
    }
    .timeline-step:not(:last-child)::before {
      content: '';
      position: absolute;
      left: 14px;
      top: 0;
      bottom: 0;
      width: 2px;
      background: #444;
      z-index: 0;
    }
    .timeline-dot {
      position: absolute;
      left: 0;
      top: 0;
      width: 24px;
      height: 24px;
      background: #fff;
      border: 2px solid #444;
      border-radius: 50%;
      color: #444;
      z-index: 1;
      display: flex;
      align-items: center;
      justify-content: center;
      font-weight: bold;
    }
    .timeline-content {
      background: #fff;
      border-radius: 8px;
      box-shadow: 0 2px 8px rgba(0,0,0,0.07);
      padding: 1rem 1.2rem;
      margin-left: 0.5rem;
    }
    .timeline-title {
      font-size: 1.1rem;
      font-weight: bold;
      margin-bottom: 0.3rem;
      color: #444;
    }
    .timeline-desc {
      color: #444;
      font-size: 1rem;
    }
    @media (max-width: 600px) {
      body { padding: 1rem; }
      .timeline-dot { width: 18px; height: 18px; font-size: 0.95rem; left: 0; }
      .timeline-step { padding-left: 1.5rem }
      .timeline-step:not(:last-child)::before { left: 10px }
      .timeline::before { left: 7px; }
      .timeline-content { padding: 0.7rem 0.7rem; }
    }
  </style>
</head>
<body>
  <div class="timeline">
    <div class="timeline-step">
      <div class="timeline-dot">1</div>
      <div class="timeline-content">
        <div class="timeline-title">Step One</div>
        <div class="timeline-desc">Lorem ipsum dolor sit amet consectetur, adipisicing elit. Voluptatibus nesciunt, fuga earum maiores accusantium.</div>  
      </div>
    </div>
    <div class="timeline-step">
      <div class="timeline-dot">2</div>
      <div class="timeline-content">
        <div class="timeline-title">Step Two</div>
        <div class="timeline-desc">Lorem ipsum dolor sit amet consectetur, adipisicing elit. Voluptatibus nesciunt, fuga earum maiores accusantium.</div>  
      </div>
    </div>
    <div class="timeline-step">
      <div class="timeline-dot">3</div>
      <div class="timeline-content">
        <div class="timeline-title">Step Three</div>
        <div class="timeline-desc">Lorem ipsum dolor sit amet consectetur, adipisicing elit. Voluptatibus nesciunt, fuga earum maiores accusantium.</div>  
      </div>
    </div>
  </div>
</body>
</html>