What you will use in this project
- Semantic HTML structure
- Responsive layouts with flexbox and grid
- CSS variables and theming
- DOM events with vanilla JavaScript
Complete each step in the editor and watch the result as your page takes shape.
Build your first responsive personal portfolio.
Use HTML, CSS, and JavaScript.
Easy · +110 XP · HTML CSS JavaScript
Check code when you’re ready. We grade your work against the step’s rubric and tell you exactly what passed and what still needs work.
This project is broken into 9 steps. Each one has its own pass criterion. Click Check code on every step to verify your progress and earn the full +110 XP.
| # | Step & pass criterion | Weight |
|---|---|---|
| 1 |
Add the page header and nav
|
10 pts |
| 2 | Build the hero section Page has exactly one <h1> | 10 pts |
| 3 | Projects section At least 3 project cards in #projects | 15 pts |
| 4 | Contact form Contact form has name, email, and message | 15 pts |
| 5 | Define design tokens CSS variables defined and used | 5 pts |
| 6 | Center the content Content has a centered max-width | 5 pts |
| 7 | Lay out cards Project cards laid out with grid or flex | 5 pts |
| 8 | Make it responsive Layout works on viewport 600px wide or less | 15 pts |
| 9 | Validate the form Contact form prevents empty submission | 20 pts |
Sign in to your W3Schools account to unlock this project, earn XP, and track your progress.
Sign in Create accountIf you want to use W3Schools services as an educational institution, team or enterprise, send us an e-mail:
sales@w3schools.com
If you want to report an error, or if you want to make a suggestion, send us an e-mail:
help@w3schools.com