product-landing
🖥️

Product Landing

Built with

html5
css
javascript

Overview

For the third project of Freecodecamp responsive Design I built a product Landing. I wanted to mimic the apple product page and add a twist to it. Keep it clean and minimal. The focus was on applying Visual Designs with a combination of typography, color theory, graphics, animation, page layout, and to deliver my message. To apply accessibility to include people with visual, auditory, mobility, or cognitive disabilities. Then make a responsive web design that works and looks great on all devices.

Goals

My goal for this project was to implement a sticky navbar that drops down on scroll, to make a hamburger button with JavaScript, to use CSS with variables in my stylesheet and mimic apples design. As a bonus I added an embedded youtube video that links to an apple product.

Lessons Learned

What I learnt was how to make a sticky navbar with JavaScript after doing lots of research. Some good resources are “https://css-tricks.com/sticky-smooth-active-nav/”, “https://gomakethings.com/how-to-create-a-sticky-navigation-with-only-css/”, “https://www.w3schools.com/howto/tryit.asp?filename=tryhow_js_navbar_sticky”

product-landing-mobile
Fig.1 - Mobile View of App

Process

I followed the freecodecamp user story:

  • 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).
  • 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.
  • Then decided on the best layout of the content and made a design in figma. Finally I scaffolded the HTML and started to style it then finished with adding SEO

    product-landing-tablet
    Fig.2 - Tablet View of App