Skip to content

Online Course Homepage Template

Bootstrap 6 online course platform homepage with a topic combobox search, filterable course catalog, preview dialog, instructors, learner reviews, pricing switch and signup form.

Live preview

Open in new tab

Code

A bright, playful online course platform homepage built with Bootstrap 6 for a fictional school called Learnwell, with a topic search, a filterable course catalog, instructors, learner reviews, pricing and a free signup form.

How it works

Everything sits inside .lw-page, which pins data-bs-theme="light" and re-maps the Bootstrap 6 primary role (--bs-primary-bg, --bs-primary-contrast and related tokens) to the brand coral, so every btn-solid theme-primary follows the brand.

  • Navbar: navbar lg:navbar-expand with a <dialog class="drawer drawer-end"> for mobile. "Courses" opens a .menu with menu-item-icon and menu-item-description; each topic link carries data-lw-pick and preselects the catalog filter.
  • Hero: headline, a search bar built on the Bootstrap 6 Combobox (data-bs-toggle="combobox", data-bs-search="true", data-bs-name="lw-topic") and popular topic .chip buttons. On submit the script reads the hidden lw-topic input and filters the catalog. The [data-lw-cohort] label shows the next Monday, computed from today so it never goes stale.
  • Catalog: a btn-group of btn-check radio labels hides or shows .lw-course-col items by data-lw-cat. "Preview course" opens one shared <dialog class="dialog"> and fills it from data-lw-title and the pipe-separated data-lw-lessons.
  • How it works, instructors, reviews: a stepper md:stepper-horizontal inside .contains-inline, portrait cards and quote tiles.
  • Pricing: a Bootstrap 6 .switch toggles .lw-price-amount between data-lw-monthly and data-lw-yearly.
  • FAQ: an exclusive <details name="lw-faq"> accordion.
  • Signup: <form data-bs-validate novalidate>; the script flags invalid fields with .is-invalid, simulates the request with a spinner and shows #lw-toast.

Customization

  • Change --lw-coral, --lw-sun, --lw-mint and --lw-ink on .lw-page in style.css to rebrand; adjust the --bs-primary-* overrides next to them so buttons follow.
  • Add a course by copying a .lw-course-col and setting data-lw-cat to dev, design, data or business, plus a new filter label if you add a category.
  • Edit data-lw-lessons on each .lw-preview-btn to list the lessons shown in the preview dialog.
  • Set your Plus prices in data-lw-monthly / data-lw-yearly on .lw-price-amount.
  • Replace the setTimeout in the form submit handler of script.js with fetch() to your signup endpoint.
  • Remove .lw-plan-plus to make both plans look equal.
  • The photos come from Unsplash; replace them with your own course covers and instructor portraits.

Accessibility

A skip link jumps to #lw-main. The drawer toggler keeps aria-expanded in sync, filter and billing changes are announced through polite live regions, the progress bar has role="progressbar" with values, and the toast uses role="status". Focus is always visible and hover motion stops under prefers-reduced-motion.

Bootstrap 6 notes

Built on Bootstrap 6.0.0-alpha.1 (alpha APIs can still change). Compared with Bootstrap 5: buttons use btn-solid theme-primary instead of btn-primary, the navbar uses lg:navbar-expand with a Drawer instead of navbar-collapse, Dropdown is now Menu, Modal is now Dialog, the accordion is native <details>, switches use .switch, and validation uses data-bs-validate. Combobox and Chips are new in Bootstrap 6. Combobox has no reset method, so the chosen topic stays selected after searching.

Requirements

Add these to your page (already included in the download):

  • <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@6.0.0-alpha.1/dist/css/bootstrap.min.css">
  • <script type="module" src="https://cdn.jsdelivr.net/npm/bootstrap@6.0.0-alpha.1/dist/js/bootstrap.bundle.min.js"></script>
  • <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css">
  • <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,600;12..96,700;12..96,800&family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,600;9..40,700&display=swap">

Built for Bootstrap 6.0.0-alpha.1. Bootstrap 6 ships as an ES module, so its script and this component's JavaScript load with type="module". Alpha releases can still change before the stable version.

Online Course Homepage Template – Bootstrap 6 home pages component screenshot
Online Course Homepage Template · Bootstrap 6 Home Pages

More Home Pages

Kindergarten Homepage Template – Bootstrap 6 home pages preview

Kindergarten Homepage Template

Playful Bootstrap 6 kindergarten homepage with a drawer navbar, photo collage hero, program tabs, daily rhythm stepper, teacher cards, parent reviews and a visit booking form.

University Homepage Template – Bootstrap 6 home pages preview

University Homepage Template

Classic Bootstrap 6 university homepage with a campus photo hero, visit datepicker, program finder tabs, news, upcoming events, student testimonials carousel and admissions form.

Accounting Firm Homepage Template – Bootstrap 6 home pages preview

Accounting Firm Homepage Template

Bootstrap 6 accounting firm homepage template with a savings estimator, services grid, onboarding steps, client testimonials, FAQ and a consultation booking form with datepicker.

Law Firm Homepage Template – Bootstrap 6 home pages preview

Law Firm Homepage Template

Bootstrap 6 law firm homepage template with a drawer navbar, practice area tabs, case results, attorney profiles, client reviews, FAQ and a free consultation form.

Dental Clinic Homepage Template – Bootstrap 6 home pages preview

Dental Clinic Homepage Template

Warm Bootstrap 6 dental clinic homepage with pill navbar, arched photo hero, treatment tabs, before/after Range slider, team, membership plans, reviews carousel and inline-calendar booking.

Medical Clinic Homepage Template – Bootstrap 6 home pages preview

Medical Clinic Homepage Template

Light Bootstrap 6 medical clinic homepage with drawer navbar, quick booking bar (Combobox + Datepicker), services, filterable doctors, stepper, reviews, FAQ and booking dialog.