Learn HTML Forms by Building a Registration Form - Step 18

Tell us what’s happening:
I can’t seem to understand the id and for elements being used together. It would be very kind if someone tells me what to do

Your code so far

<!-- file: index.html -->
<!DOCTYPE html>
<html lang="en">
    <meta charset="UTF-8">
    <title>Registration Form</title>
    <link rel="stylesheet" href="styles.css" />
    <h1>Registration Form</h1>
    <p>Please fill out this form with the required information</p>
    <form method="post" action='https://register-demo.freecodecamp.org'>

<!-- User Editable Region -->

        <label>Enter Your First Name: <input id="first-name" for="first-name" /></label>
        <label>Enter Your Last Name: <input id="last-name" for="last-name" /></label>
        <label>Enter Your Email: <input id="email" for="email" /></label>
        <label>Create a New Password: <input id="new-password" for="new-password" /></label>

<!-- User Editable Region -->

/* file: styles.css */
body {
  width: 100%;
  height: 100vh;
  margin: 0;
  background-color: #1b1b32;
  color: #f5f6f7;

label {
  display: block;
  margin: 0.5rem 0;

Your browser information:

User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/ Safari/537.36

Challenge: Learn HTML Forms by Building a Registration Form - Step 18

Link to the challenge:

Welcome to our community!

The ‘for’ attribute goes into the opening <label> tag. The corresponding ‘id’ attribute goes into the <input> tag. Those values are the same:


“smth” is the same for the both attributes.

Welcome to the community :smiley:

It can be a bit tricky to rap your head around at the beginning.

The way the for attribute is used with an ID is similar to saying:
This label is ‘for’ the element with this ‘id’

The more you use them the easier it will be to understand the relationship.
Remember that IDs are case sensitive

This topic was automatically closed 182 days after the last reply. New replies are no longer allowed.