/product-landing-page

A challenge for building a product landing page


  • Fulfill the below user stories and get all of the tests to pass. Give it your own personal style. You can use HTML, JavaScript, and CSS to complete this project. Plain CSS is recommended because that is what the lessons have covered so far and you should get some practice with plain CSS.

  • You can use Bootstrap or SASS if you choose. Additional technologies (just for example jQuery, React, Angular, or Vue) are not recommended for this project, and using them is at your own risk. Happy coding!


  • User Story #1: My product landing page should have a header element with a corresponding id="header".

  • User Story #2: I can see an image within the header element with a corresponding id="header-img". A company logo would make a good image here.

  • User Story #3: Within the #header element I can see a nav element with a corresponding id="nav-bar". User Story #4: I can see at least three clickable elements inside the nav element, each with the class nav-link.

  • User Story #5: When I click a .nav-link button in the nav element, I am taken to the corresponding section of the landing page.

  • User Story #6: I can watch an embedded product video with id="video".

  • User Story #7: My landing page has a form element with a corresponding id="form".

  • User Story #8: Within the form, there is an input field with id="email" where I can enter an email address.

  • User Story #9: The #email input field should have placeholder text to let the user know what the field is for.

  • User Story #10: The #email input field uses HTML5 validation to confirm that the entered text is an email address.

  • User Story #11: Within the form, there is a submit input with a corresponding id="submit".

  • User Story #12: When I click the #submit element, the email is submitted to a static page (use this mock URL: https://www.freecodecamp.com/email-submit) that confirms the email address was entered and that it posted successfully.

  • User Story #13: The navbar should always be at the top of the viewport.

  • User Story #14: My product landing page should have at least one media query.

  • User Story #15: My product landing page should utilize CSS flexbox at least once.

Remember to use the Read-Search-Ask method if you get stuck.