Student starter code (30% baseline)
index.html- Main HTML pagescript.js- JavaScript logicstyles.css- Styling and layoutpackage.json- Dependenciessetup.sh- Setup scriptREADME.md- Instructions (below)💡 Download the ZIP, extract it, and follow the instructions below to get started!
# Just open index.html in your browser
open index.html
# OR double-click index.html in your file explorer
No installation or setup needed! The template works immediately in any modern web browser.
Exercise 1 - Understanding Display Properties
This exercise is already complete - study the working CSS to understand:
display: block; - Takes full width, stacks vertically (red box)display: inline; - Flows with text, ignores width/height (blue spans)display: inline-block; - Flows inline but accepts width/height (green boxes)Look at styles.css lines 90-107 to see how each property works!
Exercise 2 - Building a Navigation Bar
This exercise is already complete - study the working CSS to learn:
display: flex; - Creates a flex containerjustify-content: space-between; - Spreads items apartalign-items: center; - Vertically centers itemsgap: 10px; - Adds spacing between flex itemsflex-direction: column; - Stacks items vertically (for mobile)Look at styles.css lines 109-160 for the complete Flexbox navigation pattern!
Exercise 3 - Product Cards with Flexbox
Finish the card grid layout using Flexbox:
Success Criteria:
Hints:
.card-container around line 130display: flex;, flex-wrap: wrap;, and gap:.card, use the flex shorthand propertyflex: 1 1 calc(33.333% - 20px); for 3-column layoutExpected Result: 3 cards per row on desktop, wrapping automatically, with consistent spacing.
Exercise 4 - Responsive Grid Gallery
Complete the CSS Grid layout for the image gallery:
Success Criteria:
Hints:
.gallery around line 170display: grid;grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));gap: for spacing between imagesProperties to add:
.gallery: display, grid-template-columns, gapExpected Result: Automatic responsive grid that adjusts column count based on screen width.
Exercise 5 - Full Website Layout
Implement a complete page layout using CSS Grid:
Success Criteria:
Hints:
.page-layout around line 210display: grid;grid-template-areas with named areasgrid-template-columns: 200px 1fr; for sidebar + maingrid-area to each child elementgrid-template-areas in mobile media query to stackStructure:
grid-template-areas:
"header header"
"sidebar main"
"footer footer";
Properties to add:
.page-layout: display, grid-template-areas, grid-template-columns, gap.page-header: grid-area: header;.page-sidebar: grid-area: sidebar;.page-main: grid-area: main;.page-footer: grid-area: footer;grid-template-areas to stack verticallyExpected Result: Classic website layout with header, sidebar, main content, and footer using CSS Grid.
transition duration)position: sticky;)display: not displays:)display: flex; is on the parent containerjustify-content controls horizontal spacing, align-items controls vertical alignmentgrid-template-columns syntaxalign-items: stretch; is set (it's the default)Before submitting:
Total: 45-60 minutes
After completing this activity:
grid-template-areasActivity 07 - CSS Display Properties W1: Front-end Design & User Experience Telebort Engineering Time: 45-60 minutes