Learn, practice, and build with CSS. Thirty days of focused, hands-on exercises that take you from the very basics of styling to layouts, motion, and responsive design β one small project at a time.
This is a Web 102 CSS Lab from CodeNoJutsu Lab: short, practical, and beginner-friendly. No fluff, no walls of theory β code every single day.
By the end of this lab you will be able to:
- Write and connect CSS using selectors, colors, units, and the box model.
- Build real layouts with Flexbox and CSS Grid.
- Add typography, backgrounds, transitions, transforms, and animations.
- Combine everything into complete pages (profile card, gallery, portfolio, and more).
- Follow a guided Responsive Web Design practice track (Days 22β30) based on freeCodeCamp projects.
- Read and understand any beginner-level CSS codebase.
| Domain | Web |
| Level | 101 β Beginner |
| Topic | CSS Fundamentals |
| Type | Lab |
| Duration | 30 days |
| Prerequisites | Basic HTML |
Day 1 Β· CSS Fundamentals Β· Day 2 Β· Colors & Units Β· Day 3 Β· CSS Selectors Β· Day 4 Β· The Box Model Β· Day 5 Β· Sizing & Dimensions
Day 6 Β· Profile Card Β· Day 7 Β· Image Gallery
Day 8 Β· CSS Positioning Β· Day 9 Β· Flexbox Fundamentals Β· Day 10 Β· Advanced Flexbox Β· Day 11 Β· CSS Grid Fundamentals Β· Day 12 Β· Advanced CSS Grid
Day 13 Β· Flexbox Layout Project Β· Day 14 Β· CSS Grid Layout Project Β· Day 15 Β· CSS Typography Β· Day 16 Β· CSS Backgrounds
Day 17 Β· CSS Transitions Β· Day 18 Β· CSS Transforms Β· Day 19 Β· CSS Animations
Day 20 Β· Portfolio Homepage Β· Day 21 Β· Animated Homepage
Guided projects based on the freeCodeCamp Responsive Web Design certification: Day 22 Β· CafΓ© Menu Β· Day 23 Β· Colored Markers Β· Day 24 Β· Registration Form Β· Day 25 Β· Rothko Painting Β· Day 26 Β· Photo Gallery Β· Day 27 Β· Nutrition Label Β· Day 28 Β· Accessible Quiz Β· Day 29 Β· Balance Sheet Β· Day 30 Β· Cat Painting
The lab is organized by branches β one branch per day.
web102-css-fundamentals-lab
β
βββ main β this README (overview & roadmap)
βββ day-01 β Day 1 exercise
βββ day-02 β Day 2 exercise
βββ ...
βββ day-30 β Day 30 exercise
β
βββ solution β complete reference implementation for all 30 days
Each day branch contains its own README.md with the objective, concepts,
practice, requirements, hints, and a completion checklist.
main
β
βββ day-01
βββ day-02
βββ ...
βββ day-30
β
βββ solution
There are 32 branches in total. Each daily branch is self-contained β it only contains that day's exercise, so you can work at your own pace without carrying previous days around.
- Install a modern browser (Chrome, Firefox, Safari, or Edge).
- Install VS Code β or any editor you like.
- Clone this repository and switch to Day 1:
git clone https://github.com/CodeNoJutsu-Lab/web102-css-fundamentals-lab.git
cd web102-css-fundamentals-lab
git checkout day-01- Read
README.mdinside the branch and follow the exercise. - Move to the next day when the checklist is ticked:
git checkout day-02- Need a reference? Compare your work with the
solutionbranch (start with itsSOLUTIONS.mdindex):
git checkout solution- Any modern web browser (with DevTools)
- VS Code or your favorite editor
- The built-in browser preview is enough β no bundlers or frameworks needed
A public learning ecosystem for practical computer science.
Learn. Practice. Build. Repeat.