Final Project: Style a Responsive Landing Page
Take a plain HTML page (your own, or a simple one you write for this project) and turn it into a polished, responsive landing page.
Requirements
- Set
box-sizing: border-boxglobally and use a consistent spacing scale (e.g. multiples of 8px) for padding and margin. - Build the page's navigation bar with Flexbox (logo on one side, links on the other).
- Build at least one section, like a feature list or pricing cards, using CSS Grid with
repeat()andminmax()so it reflows automatically. - Add at least one
@mediabreakpoint that meaningfully changes the layout between mobile and desktop (e.g. stacked cards become a 3-column grid). - Add at least one
transition(e.g. on button hover) and one@keyframesanimation somewhere on the page.
Stretch goals
- Add a dark mode using the
prefers-color-schememedia query. - Use CSS custom properties (
--brand-color: #2563eb;) for your color palette so the whole page can be re-themed by changing a handful of variables. - Run the page through Lighthouse in Chrome DevTools and address any layout-related warnings.
Submit a link to your finished page (a repo, CodePen, or hosted URL) below, an instructor will review it before you can mark this lesson complete. Good luck! 🚀