Foundations

15 hands-on labs taking you from HTML document structure to a complete, responsive, accessible portfolio page. Every lab uses Docker for consistent verification β€” no local setup headaches.


🐳 Quick Start

# Pull the lab image
docker pull zchencow/innozverse-htmlcss:latest

# Run an interactive session
docker run --rm -it -v /tmp:/workspace zchencow/innozverse-htmlcss:latest bash

# Verify a lab file
docker run --rm -v /tmp:/workspace zchencow/innozverse-htmlcss:latest \
  node -e "const fs=require('fs'); console.log(fs.readFileSync('/workspace/index.html','utf8').length + ' bytes')"

πŸ“‹ Lab Overview

#
Lab
Key Topics
Time

1

DOCTYPE, html/head/body, semantic elements, attributes

20 min

2

Type, class, ID, combinators, pseudo-classes, cascade

25 min

3

margin, padding, border, display, box-sizing

25 min

4

font-family, text properties, color systems, web fonts

25 min

5

static, relative, absolute, fixed, sticky, z-index

30 min


🧩 Complete Lab Table

#
Lab
Topics
Time

1

DOCTYPE, elements, attributes, semantic HTML5

20 min

2

Selectors, cascade, specificity calculation

25 min

3

margin, padding, border, display, box-sizing

25 min

4

Font properties, text styling, color systems

25 min

5

static, relative, absolute, fixed, sticky

30 min

6

ul/ol, table, nav patterns, link states

25 min

7

Flex container, items, alignment, wrapping

35 min

8

grid-template, areas, auto-placement

35 min

9

Media queries, mobile-first, fluid typography

35 min

10

Keyframes, transform, easing functions

30 min

11

Input types, validation states, custom UI

35 min

12

Custom properties, dark mode, design tokens

30 min

13

Semantic HTML, WCAG, keyboard navigation

35 min

14

BEM methodology, @layer, organization

30 min

15

Full responsive portfolio β€” all concepts

60 min

Total estimated time: ~6 hours


🎯 What You'll Build

By Lab 15, you'll have built:

  • βœ… A complete developer portfolio website

  • βœ… Sticky glassmorphism navigation header

  • βœ… Animated hero section with gradient text

  • βœ… Responsive skill cards grid

  • βœ… Project showcase with hover effects

  • βœ… Accessible contact form with validation

  • βœ… Dark theme with CSS custom properties

  • βœ… Print-friendly stylesheet


πŸ” Lab Verification Pattern

Every lab follows the same verification pattern:

circle-info

All files go to /tmp/ so Docker can mount them with -v /tmp:/workspace. The verification scripts read the file and check for key patterns β€” no browser needed for verification!

circle-check

πŸ“– Prerequisites

  • Basic computer skills (create files, use terminal)

  • A text editor (VS Code, Sublime Text, Notepad++ β€” any works)

  • Docker installed (for lab verification)

  • A modern browser (Chrome/Firefox/Edge)

No prior programming experience required for Labs 1-6. Labs 7+ assume you've completed the earlier labs or have equivalent knowledge.

Last updated