Every step tells you exactly what to type. Click a step to open it.
Create a new file called index.html and type the page skeleton.
Every HTML page must start with these exact lines. Open VS Code, create a new file, save it as index.html, then type this:
<!DOCTYPE html> β tells the browser this is an
HTML5 file<html> β opens the whole page<head> β opens the invisible settings section
<title>Nadia β Wikipedia</title> β the
name shown on the browser tab</head> β closes the settings section<body> β opens the visible part of the page
</body> β closes the visible section</html> β closes the whole page<!DOCTYPE html>
<html>
<head>
<title>Nadia β Wikipedia</title>
</head>
<body>
</body>
</html>
Add a heading 1 and write Nadia as the text.
Inside <body>, on the blank line, type your h1 tag. This is the biggest heading on the page β it is the article title, just like the large bold name at the top of every Wikipedia article.
<h1>Nadia</h1>Save the file and open it in Chrome. You should see the word Nadia appear as a large bold heading at the top of the page.
<body> <h1>Nadia</h1> </body>
After the h1, add 7 section headings using h2 β one for each section of the article.
These are the bold section titles you see on every Wikipedia page. Type each one on its own line, right after your <h1>Nadia</h1>:
<h2>Early life</h2><h2>Career</h2><h2>Teaching and mentorship</h2><h2>YouTube channel</h2><h2>Recognition and awards</h2><h2>Personal life</h2><h2>References</h2>Save and refresh Chrome. You should now see 7 smaller headings appear below Nadia on the page.
<h1>Nadia</h1> <h2>Early life</h2> <h2>Career</h2> <h2>Teaching and mentorship</h2> <h2>YouTube channel</h2> <h2>Recognition and awards</h2> <h2>Personal life</h2> <h2>References</h2>
Wrap each h2 in a <section> tag, then add 3 h3 sub-headings inside the Career section.
A <section> tag groups related content together. Find your <h2>Career</h2> line and wrap it like this. Then add the 3 sub-headings inside it:
<section><h2>Career</h2><h3>2010β2015: Early career and breakthrough</h3><h3>2015β2020: YouTube success and educational impact</h3><h3>2020βpresent: FAANG achievement and continued excellence</h3>
</section>Do the same for all other h2 sections β wrap each one in <section></section>. Only Career needs h3 sub-headings for now.
<section> <h2>Career</h2> <h3>2010β2015: Early career and breakthrough</h3> <h3>2015β2020: YouTube success and educational impact</h3> <h3>2020βpresent: FAANG achievement and continued excellence</h3> </section>
Go to the Early life section and add two paragraphs under the h2.
Body text always goes inside <p> tags. After your <h2>Early life</h2>, type these two paragraphs. You can copy the exact text below, or write your own β just keep it inside <p></p>:
<p>Nadia was born in 1988 and showed an early aptitude for technology and problem-solving. Growing up during the dawn of the internet age, she developed a fascination with how websites worked.</p>
<p>Her academic excellence earned her a prestigious scholarship to attend university, where she pursued Computer Science with a focus on web technologies and software engineering.</p>
<section> <h2>Early life</h2> <p>Nadia was born in 1988 and showed an early aptitude for technology and problem-solving.</p> <p>Her academic excellence earned her a prestigious scholarship to attend university.</p> </section>
Inside the Career section, add two images using the img tag.
The img tag has no closing tag β it is self-closing. It needs src (the file name) and alt (a description of the image). Type these two lines inside your Career section:
<img src="nadia-desk.jpg" alt="Nadia at her desk in 2012" width="300">
<img src="nadia-reactconf.jpg" alt="Nadia speaking at ReactConf 2019" width="300">
The images will show as broken for now because the files don't exist yet β that is fine. Once you save a real photo with that name in the same folder, it will appear.
<img src="nadia-desk.jpg"
alt="Nadia at her desk in 2012"
width="300">
<img src="nadia-reactconf.jpg"
alt="Nadia speaking at ReactConf 2019"
width="300">
Add a numbered list in Recognition and awards, and a bullet list in YouTube channel.
Use <ol> for a numbered list and <ul> for bullets. Each item inside both goes in an <li> tag. Type the numbered list first:
<ol><li>Top 100 Tech Influencers β TechCrunch 2019, 2021, 2023</li>
<li>YouTube Creator Award for 1 million subscribers</li><li>Excellence in STEM Education β National Education Association</li>
</ol>Now type the bullet list in the YouTube channel section:
<ul><li>Build Real Projects</li><li>5-Minute Concepts</li><li>Interview Prep</li><li>Career Talks</li></ul><ol> <li>Top 100 Tech Influencers β TechCrunch 2019, 2021, 2023</li> <li>YouTube Creator Award for 1 million subscribers</li> <li>Excellence in STEM Education</li> </ol> <ul> <li>Build Real Projects</li> <li>5-Minute Concepts</li> <li>Interview Prep</li> <li>Career Talks</li> </ul>
Create a table with 5 rows showing Nadia's key info β just like the info box on the real Wikipedia page.
A table uses <table> to start it, <tr> for each row, <th> for the label cell on the left, and <td> for the value cell on the right. Type all of this:
<table><tr><th>Born</th><td>1988 (age 36β37)</td></tr>
<tr><th>Nationality</th><td>American</td></tr>
<tr><th>Occupation</th><td>Software Engineer, Educator, YouTuber</td></tr>
<tr><th>Years active</th><td>2010βpresent</td></tr>
<tr><th>Subscribers</th><td>2.5 million</td></tr>
</table><table> <tr><th>Born</th><td>1988 (age 36β37)</td></tr> <tr><th>Nationality</th><td>American</td></tr> <tr><th>Occupation</th><td>Software Engineer, Educator, YouTuber</td></tr> <tr><th>Years active</th><td>2010βpresent</td></tr> <tr><th>Subscribers</th><td>2.5 million</td></tr> </table>
In the References section, add two clickable links using the a tag.
A link uses <a> with an href attribute for the URL. The text between the tags is what the user clicks. Adding target="_blank" makes it open in a new tab. Type these in your References section:
<ul><li><a href="https://youtube.com" target="_blank">Nadia's YouTube Channel</a></li>
<li><a href="https://github.com" target="_blank">Nadia's GitHub Profile</a></li>
</ul>Save and refresh. You should see two blue underlined links. Click them β they should open YouTube and GitHub in a new tab.
<section>
<h2>References</h2>
<ul>
<li><a href="https://youtube.com" target="_blank">Nadia's YouTube Channel</a></li>
<li><a href="https://github.com" target="_blank">Nadia's GitHub Profile</a></li>
</ul>
</section>
At the very top of <body>, before everything else, add a header with a search bar β just like Wikipedia's search at the top.
The <header> tag goes first inside <body>, before your h1. Inside it you put the site name, a text input, and a button. Type this as the very first thing inside <body>:
<header><strong>Wikipedia</strong><input type="text" placeholder="Search Wikipedia">
<button>Search</button></header>Save and refresh. You should see "Wikipedia", a text box, and a Search button appear at the top of the page.
<body>
<header>
<strong>Wikipedia</strong>
<input type="text" placeholder="Search Wikipedia">
<button>Search</button>
</header>
<h1>Nadia</h1>
...
</body>
Add a fieldset with 3 radio buttons letting the user pick a page appearance β Standard, Wide, or Compact.
Radio buttons let users pick one option from a group. They all share the same name so only one can be selected at a time. A <fieldset> groups them and <legend> gives them a title. Type this anywhere on your page β try it inside the header or just below it:
<fieldset><legend>Page appearance</legend><input type="radio" name="appearance" id="std" checked><label for="std">Standard</label><input type="radio" name="appearance" id="wide"><label for="wide">Wide</label><input type="radio" name="appearance" id="compact">
<label for="compact">Compact</label></fieldset>Save and refresh. You should see a box with 3 radio buttons. Try clicking each one β only one can be selected at a time.
<fieldset> <legend>Page appearance</legend> <input type="radio" name="appearance" id="std" checked> <label for="std">Standard</label> <input type="radio" name="appearance" id="wide"> <label for="wide">Wide</label> <input type="radio" name="appearance" id="compact"> <label for="compact">Compact</label> </fieldset>