Skip to content
WANCODE
BM

Personal Portfolio Page

1.5 hBeginnerHTMLCSSResponsive designCSS Grid

Outcome

A one-page portfolio you can actually publish: a bold hero, a short story about you, a grid of project cards that reflows from one to three columns, and working contact links.

Learning objectives

  • Structure a real page with semantic HTML: header, nav, main, section, article, footer
  • Link sections together with in-page anchors (href="#projects")
  • Style a hero, cards and buttons with spacing, colour and rounded corners
  • Make a grid responsive with the viewport meta tag and @media queries

Prerequisites

Expected behaviour

  • The top of the page shows a hero with your name, a one-line tagline, a small navigation bar and a call-to-action button.
  • Clicking a nav link scrolls to the matching section (About, Projects, Contact).
  • At least three project cards sit in a grid: one column on a phone, more columns on wider screens.
  • The contact section has a working mailto: link and at least one other profile link.

A portfolio is the first thing many employers and clients look at. It doesn't need to be fancy — it needs to be clear, fast and readable on a phone. In this project you'll build one from an empty page, milestone by milestone.

Text
header.hero    → nav + name + tagline + button
main
  #about       → who you are
  #projects    → .grid of .project-card
  #contact     → email + profile links
footer

The page outline you'll build. Each milestone adds one layer.

Use your own name and real (or planned) projects. Placeholder text is fine while you work — but swap it out before you share the page.

Milestone 5 uses CSS Grid to place the project cards. Play with the columns here first.

Milestones

Replace the first comment in <body> with a <header class="hero">. Inside it add:

• a <nav> with three links: #about, #projects and #contact • an <h1> with your name • a <p> with a one-line tagline about what you do • a call-to-action link with class="button" (for example href="#projects")

Checks

  • There is a header.hero
  • The hero has an <h1> with your name
  • The hero has a tagline paragraph
  • The nav has 3 in-page links
  • There is a call-to-action .button link
Completion checklist

Tick these when they're true for your project. The project completes when every milestone passes and every item is ticked.

Preview

Console output from your code appears here.

Step 1 of 5