Lesson 1, Topic 1
In Progress

Unit 2: Final Project

Lesson 2.10 โ€“ Unit 2 Final Project | Knowledge Pillars HCCS
Unit 2 ยท Lesson 2.10

Unit 2 Final Project

Your HTML structure is solid โ€” now make it shine. Bring everything from Lessons 2.1โ€“2.9 together into one mobile-friendly, visually polished personal webpage styled entirely with CSS.

HTML & CSS Web Design Unit 2 Capstone 100 Points

๐ŸŽจ Your Mission

Open your index.html from Unit 1 โ€” the valid, accessible, well-structured page you already built โ€” and transform it into a professionally styled, responsive website using CSS. All styling goes in an external css/style.css file. No inline styles, no <style> blocks in HTML. This is the page that Unit 3 will bring to life with JavaScript. Style it right.

Project Requirements

Your completed project must meet all of the following. Each requirement maps directly to lessons you've already completed in Unit 2.

Requirement 1 ยท External Stylesheet
All styling in a separate CSS file

Create css/style.css and link it in your <head>. No style="" attributes or <style> blocks remain in the HTML. Presentational tags like <font> and <center> are not used.

Lesson 2.1 ยท 2.2
Requirement 2 ยท CSS Reset & Base Styles
Normalize defaults and set a foundation

* { box-sizing: border-box; margin: 0; padding: 0; } is at the top of your stylesheet. Base font-family, font-size, line-height, and color are set on the body. Images use max-width: 100%; height: auto;.

Lesson 2.2 ยท 2.3
Requirement 3 ยท Typography & Color
Consistent fonts and a clear color scheme

At least two font families used (one for body, one for headings). A cohesive color palette is applied throughout. All text/background pairs pass the 4.5:1 WCAG AA contrast ratio โ€” verified with WebAIM.

Lesson 2.4
Requirement 4 ยท Box Model
Intentional spacing with margin, padding & borders

Major sections and content blocks use margin and padding to create clear visual breathing room. At least one element uses a visible border or border-radius intentionally. No elements are cramped or awkwardly spaced.

Lesson 2.3
Requirement 5 ยท Backgrounds & Visual Styling
At least one styled background or visual element

The header uses a CSS gradient, background image with overlay, or a solid color background. At least one section card has box-shadow and border-radius. A profile image, icon (emoji or Font Awesome), or decorative background is present and styled.

Lesson 2.5
Requirement 6 ยท Positioning & Display
At least one positioning technique and display modification

Use position: fixed, relative, or absolute purposefully (e.g., a sticky nav bar, an absolutely positioned badge). Demonstrate control of display โ€” Flexbox nav, inline-block nav links, or display: none in a media query.

Lesson 2.6
Requirement 7 ยท Flexbox or Grid Layout
At least one multi-item layout using Flexbox or Grid

Use display: flex on the nav bar and at least one content area (card row, skills section, or about layout). OR use display: grid with grid-template-columns for a gallery or card grid. gap controls spacing between items.

Lesson 2.7
Requirement 8 ยท Responsive Design
At least one working media query and cross-browser testing

A @media rule at the bottom of style.css changes layout or font size on screens 600px or narrower. Nav links stack, cards go full-width, and no horizontal scroll appears at 375px. Tested in Chrome and Firefox with no major differences.

Lesson 2.8 ยท 2.9

Pre-Flight Checklist โ€” Before You Submit

Work through every item below before turning in your project. This checklist mirrors the rubric โ€” a "yes" on every line means full marks are within reach.

  • CSS is linked correctly: <link rel="stylesheet" href="css/style.css"> is in <head>. Open DevTools โ†’ Network tab and confirm the CSS file loads with no 404 errors.
  • No inline styles remain: Every style="" attribute and <style> block has been moved to style.css. No presentational HTML tags in use.
  • CSS reset is in place: * { box-sizing: border-box; margin: 0; padding: 0; } is the very first rule in your stylesheet. img { max-width: 100%; height: auto; } is also set.
  • Typography is set: A font family is applied to the body. Headings use a distinct font, weight, or size that creates clear visual hierarchy.
  • Color scheme is consistent and accessible: Background, text, link, and accent colors are cohesive throughout. At least two color pairs tested with WebAIM Contrast Checker and pass 4.5:1.
  • Box model is applied: Major sections have meaningful padding. Elements aren't cramped or touching the page edge. At least one border-radius or border used intentionally.
  • Visual elements are styled: The header has a gradient, background image, or strong color treatment. Section cards have box-shadow. A profile image is circular (border-radius: 50%) or an icon is present.
  • Positioning is used: At least one element uses position: fixed, relative, or absolute. The display property has been used to modify at least one element's layout.
  • Flexbox or Grid is used: The nav bar uses display: flex. At least one content section uses Flexbox or Grid for layout โ€” not just single-column block stacking.
  • Responsive media query works: DevTools device toolbar at 375px shows the layout adapting โ€” nav stacks, cards go full-width, no horizontal scroll, text is readable.
  • Cross-browser tested: Page opened in Chrome and Firefox. No major visual differences. DevTools Console shows no red errors in either browser.
  • Stylesheet has section comments: Each logical group of styles is labeled with a comment header โ€” e.g., /* โ”€โ”€ Navigation โ”€โ”€ */, /* โ”€โ”€ Media Queries โ”€โ”€ */.
  • Folder structure is correct: Project lives in unit2-final-project/ (or my-website/) with css/, images/, and js/ subfolders. All filenames lowercase with no spaces.
  • HTML still validates: Run a quick check at validator.w3.org. Adding CSS should not have introduced new HTML errors. Confirm zero errors.
  • Both files are saved: The latest changes to both index.html and style.css are saved. The browser preview matches what you intend to submit.

๐Ÿ“‹ Grading Rubric โ€” 100 Points Total

Category Excellent โ€” Full Credit Satisfactory โ€” Partial Credit Needs Improvement Points
Styling & Layout (External CSS)
2.1 ยท 2.2
โ— All CSS in external style.css, correctly linked. Zero inline styles or <style> blocks. Stylesheet is organized with section comments. โ— External stylesheet present and linked, but a few inline styles remain or the file has minor organizational issues. โ— No external stylesheet, or most styles are inline or in a <style> block. /15
Typography & Color Scheme
2.4
โ— Two distinct font families (body + headings). Consistent color palette throughout. Text contrast meets WCAG 4.5:1 โ€” verified with WebAIM. โ— Some typography and color applied but inconsistent โ€” not all headings styled, or color palette feels random. โ— No meaningful typography or color applied. Page looks largely unstyled or default. /15
Box Model Usage
2.3
โ— CSS reset at top. box-sizing: border-box present. Margin and padding create balanced, readable spacing throughout. At least one intentional border or border-radius. โ— Some margin/padding applied but spacing is inconsistent or a few elements are cramped or touching the edge. โ— No CSS reset. Little or no use of margin and padding. Spacing appears default or unintentional. /15
Backgrounds & Visual Styling
2.5
โ— Header has a gradient, background image with overlay, or strong color treatment. Section cards have box-shadow. At least one image or icon is styled and integrated into the design. โ— Some visual styling applied but largely flat โ€” no gradients, shadows, or rounded corners used meaningfully. โ— No background styling, shadows, or visual elements beyond plain colors. Page looks undesigned. /10
Positioning & Display
2.6
โ— At least one positioning technique (fixed, relative, or absolute) used effectively. display property used to modify layout (Flexbox nav, inline-block, or display: none). โ— Positioning attempted but minor issues. Display property used on at least one element. โ— No CSS positioning or display modifications beyond browser defaults. /10
Flexbox & Grid Layout
2.7
โ— Nav bar uses display: flex. At least one content section uses Flexbox or Grid for layout. gap controls item spacing. Items wrap or adjust appropriately. โ— Flexbox or Grid present on one element but not fully leveraged โ€” items don't wrap or alignment properties aren't set. โ— No Flexbox or Grid used. All layout is default block stacking. /15
Responsive Design
2.8 ยท 2.9
โ— A functional @media query at the bottom of style.css adapts layout at 600px or narrower. Nav stacks, content fills width, no horizontal scroll at 375px. Tested in two browsers โ€” no major differences. โ— Media query present but layout doesn't fully adapt โ€” some overflow or readability issues at small sizes, or only one browser tested. โ— No media query. Page breaks or scrolls horizontally on narrow viewports. No cross-browser testing done. /10
Overall Design & Effort
2.1โ€“2.9
โ— Page looks intentional and polished. Color, spacing, font, and layout choices work together to create a readable, professional result. Clear effort was made to apply all Unit 2 concepts thoughtfully. โ— Styling applied but design feels unfinished or inconsistent in places. Effort is visible but execution is uneven. โ— Minimal styling. Little evidence that Unit 2 concepts were applied deliberately. /10
90โ€“100
Exceeds Expectations
75โ€“89
Meets Expectations
60โ€“74
Developing
Below 60
Needs Improvement

๐Ÿงฎ Score Calculator

Enter your score for each category to calculate your total. Use this for self-assessment before submitting.

Styling & Layout (External CSS) / 15
Typography & Color Scheme / 15
Box Model Usage / 15
Backgrounds & Visual Styling / 10
Positioning & Display / 10
Flexbox & Grid Layout / 15
Responsive Design / 10
Overall Design & Effort / 10

โœ๏ธ Student Self-Assessment

Check off each item you've completed. Use this alongside the rubric to identify any gaps before submitting. Print or screenshot this section if your instructor asks for a self-assessment.

Skill / Feature Lesson Done?
External style.css created and linked with <link> in <head>2.2
No style="" attributes or <style> blocks remain in HTML2.2
* { box-sizing: border-box; margin: 0; padding: 0; } at top of stylesheet2.3
img { max-width: 100%; height: auto; } in base styles2.8
Body font family declared; consistent base font size and line-height set2.4
Headings styled with a distinct font, size, and color from body text2.4
Color scheme applied โ€” tested with WebAIM Contrast Checker (pass 4.5:1)2.4
Margin and padding create balanced spacing โ€” no elements cramped or touching edges2.3
At least one border-radius or intentional border used2.3
Header has a gradient, background image, or strong color treatment2.5
Section cards have box-shadow and border-radius2.5
At least one image or icon is styled and integrated into the design2.5
At least one element uses position: fixed, relative, or absolute2.6
Nav bar uses display: flex with justify-content and align-items2.6 ยท 2.7
At least one content section uses Flexbox or Grid for layout2.7
Viewport meta tag is present in HTML <head>2.8
At least one @media query at bottom of style.css โ€” stacks nav and cards at 600px2.8
No horizontal scroll at 375px in DevTools device simulator2.8
Page tested in Chrome and Firefox โ€” Console shows no red errors2.9
Stylesheet has section comment headers (/* โ”€โ”€ Section Name โ”€โ”€ */)2.9
HTML still passes W3C validation with zero errors after adding CSS1.12
All files in correct folder (unit2-final-project/ with css/ and images/ subfolders)1.11

๐ŸŒŸ Bonus Opportunities

These optional challenges are for students who finish early or want to push their design further. Bonus points are awarded at the instructor's discretion and will not bring a score above 100.

+5 pts
Bootstrap Framework: Add Bootstrap 5 via CDN and use its grid system to create a responsive two-column About section or a card layout. Override Bootstrap's defaults with your own style.css for a custom look. The Bootstrap grid must actually be working โ€” not just linked.
+3 pts
CSS Transitions: Add smooth transition effects on card hover states (deepen the box-shadow and use transform: translateY(-2px) for a subtle lift), nav link backgrounds, or a button. Each transition must be clearly visible and intentional.
+3 pts
Google Font: Link a custom Google Font for body text and a second distinct font for headings. Both fonts must be actively used in your CSS font-family declarations โ€” not just linked. Include the correct <link> tags above your stylesheet in HTML.
+2 pts
Tablet Breakpoint: Add a second @media query for screens 900px and narrower โ€” reduce a 3-column grid to 2 columns, adjust padding, or tweak font sizes. Both breakpoints must be present and functional at their respective widths.
+2 pts
Published Site: Deploy the finished project to GitHub Pages or Netlify Drop so the page is live on the internet. Submit the live URL alongside your project folder.

๐Ÿ“ค Submission Instructions

  1. Complete the pre-flight checklist above โ€” every item should be checked before you submit.
  2. Test responsiveness using browser DevTools device toolbar. Confirm the layout adapts at 600px and there is no horizontal scroll at 375px.
  3. Open your page in a second browser (Chrome + Firefox) and check the DevTools Console in both โ€” confirm no red errors appear.
  4. Run a final W3C validation pass at validator.w3.org. Adding CSS styling should not introduce new HTML errors. Confirm zero errors.
  5. Submit your entire project folder โ€” not just the HTML or CSS file. Your instructor needs the full unit2-final-project/ folder including css/, images/, and any other assets. Zip the folder if your LMS requires it.
  6. Be ready to walk through your page. Your instructor may ask you to explain a design decision, demonstrate your media query by resizing the browser, or point out where you used Flexbox, positioning, or a visual technique from a specific lesson.
๐ŸŽ‰ Congratulations on completing Unit 2! You've taken your HTML foundation and turned it into a real, styled, responsive website. In Unit 3, you'll connect JavaScript to bring it to life โ€” adding interactivity, form validation, DOM manipulation, and more. Every clean, well-organized CSS rule you've written makes that work more rewarding and more powerful.