Snippets Animation

Bootstrap 5 Registration Form with Animated Background

A split registration screen with a benefit list beside a floating-label sign-up card, over an indigo backdrop with a softly animated particle network. The form validates required fields and honours reduced-motion preferences.

Bootstrap 5 No jQuery Sep 2020 2.3K views

<section class="reg wdw-aurora d-flex align-items-center">
  <canvas class="reg-bg" aria-hidden="true"></canvas>
  <div class="container position-relative py-5" style="max-width:1080px">
    <div class="row align-items-center g-5">
      <div class="col-lg-6">
        <span class="badge rounded-pill text-bg-light mb-3">Free for 14 days</span>
        <h1 class="display-5 fw-bold mb-3" style="letter-spacing:-.02em">Build something people love, together.</h1>
        <p class="lead mb-4" style="opacity:.8">Create your workspace in under a minute. No credit card, no setup call, cancel anytime.</p>
        <ul class="list-unstyled d-grid gap-2 mb-0" style="opacity:.9">
          <li class="d-flex gap-2 align-items-center"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="m5 12 5 5 9-10"/></svg>Unlimited projects</li>
          <li class="d-flex gap-2 align-items-center"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="m5 12 5 5 9-10"/></svg>Real-time collaboration</li>
          <li class="d-flex gap-2 align-items-center"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="m5 12 5 5 9-10"/></svg>Priority support</li>
        </ul>
      </div>
      <div class="col-lg-6">
        <form class="wdw-card p-4 p-md-5 text-body needs-validation" novalidate>
          <h2 class="h4 wdw-heading mb-1">Create your account</h2>
          <p class="wdw-muted small mb-4">Already registered? <a href="#" class="fw-semibold">Sign in</a></p>
          <div class="form-floating mb-3"><input type="text" class="form-control" id="regName" placeholder="Full name" required autocomplete="name"><label for="regName">Full name</label><div class="invalid-feedback">Please enter your name.</div></div>
          <div class="form-floating mb-3"><input type="email" class="form-control" id="regEmail" placeholder="Email" required autocomplete="email"><label for="regEmail">Email address</label><div class="invalid-feedback">Enter a valid email.</div></div>
          <div class="form-floating mb-3"><input type="text" class="form-control" id="regUser" placeholder="Username" required autocomplete="username"><label for="regUser">Username</label><div class="invalid-feedback">Choose a username.</div></div>
          <div class="form-floating mb-4"><input type="password" class="form-control" id="regPass" placeholder="Password" required minlength="8" autocomplete="new-password"><label for="regPass">Password</label><div class="invalid-feedback">Use at least 8 characters.</div></div>
          <button type="submit" class="btn btn-primary rounded-pill w-100">Create account</button>
          <p class="wdw-muted small text-center mt-3 mb-0" role="status" aria-live="polite" id="regStatus"></p>
        </form>
      </div>
    </div>
  </div>
</section>

Built on Bootstrap 5.3.8 with plain JavaScript — no jQuery. Supports light and dark mode via data-bs-theme.