Frontend Mentor - Skilled e-learning landing page solution

This is a solution to the Skilled e-learning landing page challenge on Frontend Mentor. Frontend Mentor challenges help you improve your coding skills by building realistic projects.

Table of contents

Overview

My goal in this project was to practice the CSS I had recently leanred in an online course, in the context of React and Styled Components. This felt like a logical next step from my last project, which was built purely using HTML and CSS.

The challenge

Users should be able to:

  • View the optimal layout depending on their device's screen size
  • See hover states for interactive elements

Screenshot

Desktop

Desktop

Tablet

Tablet

Mobile

Desktop

Links

Built with

  • Semantic HTML5 markup
  • CSS custom properties
  • Flexbox
  • CSS Grid
  • Desktop-first workflow
  • React - JS library
  • Styled Components - For styles

What I learned

The biggest challenege I faced was learning how to make the image responsive on all screen sizes, while also avoiding overlap with the header. I ended up using the <picture> component with sources that get resolved based on the screen size.

This code can be found in Image.js

Continued development

I am always looking for feedback on how to improve~

Useful resources

  • Changing Image src based on window size - This helped me avoid using multiple img tags. At first, I was using display:none and display:block based on the media queries. This helped me simplify things.

Author