Skip to content
  • Unlock Pro
  • Log in with GitHub
Solution
Submitted 16 days ago

Responsive stats preview card component using css grids and flexbox

precious umeh•140
@precious-umeh
A solution to the Stats preview card component challenge
View live sitePreview (opens in new tab)View codeCode (opens in new tab)

Solution retrospective


What specific areas of your project would you like help with?

The project has two images, one for desktop and the other for mobile. I used the picture element to add both images but then, after writing the media queries and I adjust the screen, I noticed it's still the desktop image that's displaying both for smaller screens. I will really appreciate if I can get a feedback on that so I can adjust it.

Code
Select a file

Please log in to post a comment

Log in with GitHub

Community feedback

  • beowulf1958•1,890
    @beowulf1958
    Posted 16 days ago

    Congratulations on completing this challenge. Overall, the page looks great. Your markup is super clean and formatted for easy reading. The CSS has a nice flow, and separating the media queries from the main styles will make it simple to maintain and scale. This separation of concerns led me straight to the solution.

    I was intrigued by your problem. I also used a similar <picture> and sourceset arrangement with an overlay. Here's what I found:

    First, remove the height from the image (or set it to auto). This will allow the image to resize as expected. However, now the overlay bleeds out of the container. Next, adjust the height of the .img-container in the /* Below 320px */ styles in the media queries:

    /* BELOW 320px */
    @media (max-width: 25em) {
      html {
        font-size: 43.7%;
      }
        .img-container {
        height: 33rem;
        grid-row: 1;
      }
    }
    
    

    Now it work at 1440px and 375px. You may need to adjust the other sizes. Hope this helps

  • Raven Matibag•210
    @ravenmatibag
    Posted 16 days ago

    I noticed that the image source is changing, but it only switches once the viewport reaches a minimum width of 600px. However, your layout switches to the mobile view at a 900px breakpoint, which might be why the image doesn't appear to update as expected.

    To fix this, try adjusting the max-width value in your media query to match your actual mobile breakpoint. For example, if your mobile layout starts at 900px, you can update this line:

    
    <source srcset="images/image-header-mobile.jpg" media="(max-width: 56.25em)" />
    

    Using 56.25em (which equals 900px) will ensure the image changes in sync with your layout.

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
Frontend Mentor logo

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.

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