Tangy is building your next step
Shaping the lesson around what you want to make.
Tangy is building your next step
Shaping the lesson around what you want to make.
Computer Science
From your existing HTML/CSS foundation, you'll create a polished, responsive landing page that includes a contact form validated entirely in the browser. No backend needed—just static assets you can host anywhere.
Project Scaffold & Semantic Structure
2 lessonsSet up the folder, files, and core HTML skeleton for the landing page.
Advanced Styling & Responsive Layout
2 lessonsTurn the static markup into a visually appealing, mobile‑friendly page.
Vanilla JavaScript Form Validation
3 lessonsIntroduce DOM manipulation and build real‑time validation for the contact form.
Polish, Accessibility & Finalization
2 lessonsAdd accessibility touches, final visual tweaks, and prepare the page for deployment.
Public lesson
You already know the basic HTML structure and CSS selectors, so this setup will keep the files separate and make the next React work easier to organize.
Tasks
project-starter
project-starter
Tasks
In the Explorer panel:
index.html
index.html
style.css
script.js
style.css
script.js
Tasks
Open index.html and type this starter structure. Replace the bracketed page title with a name for your own project.
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>[YOUR PROJECT TITLE]</title>
<link rel="stylesheet" href="style.css">
<script src="script.js" defer></script>
</head>
<body>
<main>
<h1>[YOUR PROJECT TITLE]</h1>
<!-- Add the first piece of project content here -->
</main>
</body>
</html>
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>[YOUR PROJECT TITLE]</title>
<link rel="stylesheet" href="style.css">
<script src="script.js" defer></script>
</head>
<body>
<main>
<h1>[YOUR PROJECT TITLE]</h1>
<!-- Add the first piece of project content here -->
</main>
</body>
</html>
The two file links are important: the link connects your styles, and the script connects your JavaScript.
Tasks
Now open style.css and add one visible rule of your choice. For example, change the page background or heading color:
body {
/* Add a background-color or font-family declaration */
}
h1 {
/* Add a color or text-align declaration */
}
body {
/* Add a background-color or font-family declaration */
}
h1 {
/* Add a color or text-align declaration */
}
Tasks
Open script.js and add a message that will help you confirm the file loaded:
console.log("[YOUR PROJECT TITLE] JavaScript loaded");
console.log("[YOUR PROJECT TITLE] JavaScript loaded");
Tasks
Save all three files with Ctrl+S on Windows/Linux or Cmd+S on macOS.
Tasks
If you do not already have it:
Tasks
Then:
index.html.http://127.0.0.1:5500/index.html
http://127.0.0.1:5500/index.html
Tasks
In the preview browser:
[YOUR PROJECT TITLE] JavaScript loaded
[YOUR PROJECT TITLE] JavaScript loaded
If the page does not look right, check these exact details:
index.html, style.css, and script.js.href="style.css".src="script.js".Tasks
Before moving on, confirm that you have:
project-starter open in VS Codeindex.html, style.css, and script.js visible in Explorer4 modules · 9 lessons
Project Scaffold & Semantic Structure
Advanced Styling & Responsive Layout
Vanilla JavaScript Form Validation
Polish, Accessibility & Finalization
Learn by building your own version.
Remix this public project to open the workspace, follow the guided build, and let the AI mentor teach you through the work instead of doing it for you.