Skip to content
  • Unlock Pro
  • Log in with GitHub
Solution
Submitted almost 4 years ago

Sunnyside Agency - CSS Grid/Flex - Responsiveness Prioritised

Rafal•1,395
@grizhlieCodes
A solution to the Agency landing page challenge
View live sitePreview (opens in new tab)View codeCode (opens in new tab)

Solution retrospective


Howdy!

Another project I plan to do a video for. I mostly wanted to do this project to understand images, how their heights work, how their 'inbuilt ratios' automatically update their heights as the viewport expands horizontally.

I also wanted to see how this plays into a grid solution and practiced a bit with grid-template-rows: min-content /// auto /// max-content. In the end it was a worthwhile project. I'll spend a bit more time polishing my understanding of my own solution - as weird as that sounds - and will attempt to record a useful video or two to use in replies for anyone who might be struggling with the concepts I explored.

Cheerio 😁

Code
Select a file

Please log in to post a comment

Log in with GitHub

Community feedback

  • Emmilie Estabillo•5,600
    @emestabillo
    Posted almost 4 years ago

    Hey @grizhlieCodes, congrats on completing this project! I'm getting some text overlap on medium widths, starting at 420px or so, down on the services and testimonial section. Some of the text actually disappears right before the next breakpoint. A few more:

    • The CTA on your nav should be left as an anchor tag instead of a button wrapped in an a tag.

    • For the images, I think there's no need to create several divs and hide/show depending on screen size. Look into srcset and maybe <picture> tag to handle image changes. I'm actually not sure if the images in the services section are meaningful. I'd probably choose to keep them as background images. Then you wouldn't have to worry about grid and overlaps.

    • The class nesting looks quite deep. section.services article.service.graphic-design .text-container .service-heading , for example, is very specific. Overriding it will be difficult. I suggest to nest sparingly, keeping classes at the root level and nest only pseudoclasses and pseudoelements.

    Hope this helps!

    Marked as helpful
  • ApplePieGiraffe•30,525
    @ApplePieGiraffe
    Posted almost 4 years ago

    Hi there, Rafal! 👋

    Slightly late to post this! 😅 But I wanted to drop in to say great job, once again! 👏

    It looks like the discussion between you and Em has covered just about all I could suggest! 😂 Overall, everything looks really nice and I especially like the transition you put on the mobile menu! 🤩

    Well—okay, tiny thing—but it might be worth taking a look at your solution report and trying to clear up some of the errors that are there in order to improve the accessibility and semantics of your solution. 😉 I've actually learned a lot about HTML itself and a bit about accessibility by looking over my own solution reports. 😆

    For instance, it's recommended that you use spans instead of divs within button elements because spans are inline elements by default (but IDK why that matters enough to be an issue, TBH). And there isn't really a reason for button elements to be wrapped in anchor tags, since elements of that sort should either be one or the other. Just small stuff, once again, but I find it a little interesting to learn about and know! 😄

    Well, glad you learned new stuff while completing this challenge and might even make some content for others to learn from (that's what it's all about)! 👍

    Oh, yes, and keep coding (and happy coding, too), of course! 😁

    Marked as helpful

Join our Discord community

Join thousands of Frontend Mentor community members taking the challenges, sharing resources, helping each other, and chatting about all things front-end!

Join our Discord

Stay up to datewith new challenges, featured solutions, selected articles, and our latest news

Frontend Mentor

  • Unlock Pro
  • Contact us
  • FAQs
  • Become a partner

Explore

  • Learning paths
  • Challenges
  • Solutions
  • Articles

Community

  • Discord
  • Guidelines

For companies

  • Hire developers
  • Train developers
© Frontend Mentor 2019 - 2025
  • Terms
  • Cookie Policy
  • Privacy Policy
  • License

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

How does the accessibility report work?

When a solution is submitted, we use axe-core to run an automated audit of your code.

This picks out common accessibility issues like not using semantic HTML and not having proper heading hierarchies, among others.

This automated audit is fairly surface level, so we encourage to you review the project and code in more detail with accessibility best practices in mind.

How does the CSS report work?

When a solution is submitted, we use stylelint to run an automated check on the CSS code.

We've added some of our own linting rules based on recommended best practices. These rules are prefixed with frontend-mentor/ which you'll see at the top of each issue in the report.

The report will audit all CSS, SCSS and Less files in your repository.

How does the HTML validation report work?

When a solution is submitted, we use html-validate to run an automated check on the HTML code.

The report picks out common HTML issues such as not using headings within section elements and incorrect nesting of elements, among others.

Note that the report can pick up “invalid” attributes, which some frameworks automatically add to the HTML. These attributes are crucial for how the frameworks function, although they’re technically not valid HTML. As such, some projects can show up with many HTML validation errors, which are benign and are a necessary part of the framework.

How does the JavaScript validation report work?

When a solution is submitted, we use eslint to run an automated check on the JavaScript code.

The report picks out common JavaScript issues such as not using semicolons and using var instead of let or const, among others.

The report will audit all JS and JSX files in your repository. We currently do not support Typescript or other frontend frameworks.

Frontend Mentor for Teams

Frontend Mentor for Teams helps companies and schools onboard and train developers through project-based learning. Our industry-standard projects give developers hands-on experience tackling real coding problems, helping them master their craft.

If you work in a company or are a student in a coding school, feel free to share Frontend Mentor for Teams with your manager or instructor, as they may use it to help with your coding education.

Learn more

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Frontend Mentor for Teams

Frontend Mentor for Teams helps companies and schools onboard and train developers through project-based learning. Our industry-standard projects give developers hands-on experience tackling real coding problems, helping them master their craft.

If you work in a company or are a student in a coding school, feel free to share Frontend Mentor for Teams with your manager or instructor, as they may use it to help with your coding education.

Learn more

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub