Skip to content

Latest commit

 

History

History
129 lines (89 loc) · 7.22 KB

File metadata and controls

129 lines (89 loc) · 7.22 KB

Frontend Mentor logo

Sunnyside agency landing page

Live link to deployed project (hosted on GitHub Pages)

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

Table of contents

Overview

The challenge

Users should be able to:

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

Design mockups

(jpeg starter files provided in Frontend Mentor challenge hub)

Mobile design:

click to view

Sunnyside agency landing page mobile design mockup

Mobile menu detail:

click to view

Sunnyside agency landing page mobile menu detail mockup

Desktop design:

click to view

Sunnyside agency landing page desktop design mockup

Screenshots

Responsively App scrollable device mockups

Links

My process

Built with

  • Semantic HTML5 markup
  • CSS custom properties
  • Flexbox
  • CSS Grid
  • Vanilla JavaScript event handling
  • Mobile-first workflow
  • Responsive web design

What I learned

  • I wanted to have a bit of fun by flipping one of the site's 'Services' section's background images on its head. To achieve this, I had to leverage an absolutely-positioned ::before pseudo-element. This pseudo-element's transform property was used to perform the desired rotation:

  • This was only my second time building out a site incorporating CSS grid, so I found Morten Rand-Hendriksen's LinkedIn Learning course on this layout method to be an excellent primer. More specifically, his advice on using a @supports CSS at-rule to check for browser support before conditionally applying Grid styles was something I adhered to within the project's stylesheet:

  • I decided to detach the site's nav from its .fixed-top positioning on tablet and desktop, and instead use a dynamically-displayed 'back-to-top' button on vertical page scroll (> 500px) to aid navigation/improve UX:

Continued development

At the time of writing (August 2021), the project's custom stylesheet contains over 1,500 lines of CSS. It is my intention to refactor and reduce the size of this file at a later date, most likely through targeted use of CSS Variables. I also plan on slightly increasing font-sizing throughout the site on tablet, as this is looking a bit on the small side at present.

Useful resources

Developer

Notice

This site has been created for development purposes only.